CAS KVM 虚拟机的保护与恢复
2023-09-27 14:28:47 时间
hda /vms/isos/CentOS-7-x86_64-Minimal-1511.iso
root@h3cas-e306:/vms/images# qemu-img convert -f qcow2 /vms/images/centos7_0 -O qcow2 /dev/sdd
root@h3cas-e306:/vms/images# qemu-img info /dev/sdd
image: /dev/sdd
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 0
cluster_size: 262144
Format specific information:
compat: 1.1
lazy refcounts: false
disk type=file device=disk driver name=qemu type=qcow2 cache=directsync io=native/ source file=/dev/sdd/ target dev=vda bus=virtio/ address type=pci domain=0x0000 bus=0x00 slot=0x08 function=0x0/ /disk disk type=file device=cdrom driver name=qemu type=raw cache=none/ target dev=hdc bus=ide/ readonly/ address type=drive controller=0 bus=1 target=0 unit=0/ /disk controller type=usb index=0 address type=pci domain=0x0000 bus=0x00 slot=0x01 function=0x2/ /controller controller type=pci index=0 model=pci-root/ controller type=ide index=0 address type=pci domain=0x0000 bus=0x00 slot=0x01 function=0x1/ /controller controller type=virtio-serial index=0 address type=pci domain=0x0000 bus=0x00 slot=0x03 function=0x0/ /controller serial type=pty target port=0/ /serial console type=pty target type=serial port=0/ /console channel type=unix source mode=bind path=/var/lib/libvirt/qemu/centos7.agent/ target type=virtio name=org.qemu.guest_agent.0/ address type=virtio-serial controller=0 bus=0 port=1/ /channel input type=tablet bus=usb/ input type=mouse bus=ps2/ graphics type=vnc port=-1 autoport=yes listen=0.0.0.0 listen type=address address=0.0.0.0/ /graphics video model type=cirrus vram=9216 heads=1/ address type=pci domain=0x0000 bus=0x00 slot=0x02 function=0x0/ /video memballoon model=virtio address type=pci domain=0x0000 bus=0x00 slot=0x09 function=0x0/ /memballoon /devices
root@h3cas-e306:/etc/libvirt/qemu# virsh define centos7_q_0.xml Domain centos7_q_0 defined from centos7_q_0.xml root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State ---------------------------------------------------- 33 centos7 running - centos7_q_0 shut off root@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_q_0 Domain centos7_q_0 started root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State ---------------------------------------------------- 33 centos7 running 34 centos7_q_0 running
lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img rebase -b /dev/sdd -F qcow2 centos7_1 root@h3cas-e306:/kvm_backup# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 15M cluster_size: 262144 backing file: /dev/sdd backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img info /dev/sdd image: /dev/sdd file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 0 cluster_size: 262144 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img commit -f qcow2 centos7_1 Image committed. root@h3cas-e306:/kvm_backup# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 15M cluster_size: 262144 backing file: /dev/sdd backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img info /dev/sdd image: /dev/sdd file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 0 cluster_size: 262144 Format specific information: compat: 1.1 lazy refcounts: false
lazy refcounts: false root@h3cas-e306:/vms/images# qemu-img convert -f qcow2 /vms/images/centos7 -O raw /dev/sdd root@h3cas-e306:/vms/images# qemu-img info /dev/sdd image: /dev/sdd file format: raw virtual size: 23G (24696061952 bytes) disk size: 0
disk type=file device=disk driver name=qemu type=qcow2 cache=directsync io=native/ source file=/dev/sdd/ target dev=vda bus=virtio/ address type=pci domain=0x0000 bus=0x00 slot=0x08 function=0x0/ /disk disk type=file device=cdrom driver name=qemu type=raw cache=none/ target dev=hdc bus=ide/ readonly/ address type=drive controller=0 bus=1 target=0 unit=0/ /disk controller type=usb index=0 address type=pci domain=0x0000 bus=0x00 slot=0x01 function=0x2/ /controller controller type=pci index=0 model=pci-root/ controller type=ide index=0 address type=pci domain=0x0000 bus=0x00 slot=0x01 function=0x1/ /controller controller type=virtio-serial index=0 address type=pci domain=0x0000 bus=0x00 slot=0x03 function=0x0/ /controller serial type=pty target port=0/ /serial console type=pty target type=serial port=0/ /console channel type=unix source mode=bind path=/var/lib/libvirt/qemu/centos7.agent/ target type=virtio name=org.qemu.guest_agent.0/ address type=virtio-serial controller=0 bus=0 port=1/ /channel input type=tablet bus=usb/ input type=mouse bus=ps2/ graphics type=vnc port=-1 autoport=yes listen=0.0.0.0 listen type=address address=0.0.0.0/ /graphics video model type=cirrus vram=9216 heads=1/ address type=pci domain=0x0000 bus=0x00 slot=0x02 function=0x0/ /video memballoon model=virtio address type=pci domain=0x0000 bus=0x00 slot=0x09 function=0x0/ /memballoon /devices
root@h3cas-e306:/etc/libvirt/qemu# virsh define centos7_q_0.xml Domain centos7_q_0 defined from centos7_q_0.xml root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State ---------------------------------------------------- 33 centos7 running - centos7_q_0 shut off root@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_q_0 Domain centos7_q_0 started root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State ---------------------------------------------------- 33 centos7 running 34 centos7_q_0 running
root@h3cas-e306:/vms/images# virsh snapshot-create-as --domain centos7 snap01 snap01-desc --disk-only --diskspec vda,snapshot=external,file=/vms/images/centos7_1 --atomic Domain snapshot snap01 created root@h3cas-e306:/vms/images# l centos7_0 centos7_1 root@h3cas-e306:/vms/images# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 772K cluster_size: 262144 backing file: /vms/images/centos7_0 backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/vms/images# virsh domblklist centos7 Target Source ------------------------------------------------ vda /vms/images/centos7_1 hda /vms/isos/CentOS-7-x86_64-Minimal-1511.iso
NOTE: 现在虚拟机的数据会写入到 centos7_1 中, centos7_0 理论上应该是只读的.
root@h3cas-e306:/vms/images# cp centos7_1 /kvm_backup/ root@h3cas-e306:/vms/images# ll /kvm_backup/ total 2572 drwxr-xr-x 2 root root 4096 Apr 18 23:39 ./ drwxr-xr-x 33 root root 4096 Apr 18 23:22 ../ -rw------- 1 root root 2883584 Apr 18 23:39 centos7_1
lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img rebase -b /dev/sdd -F qcow2 centos7_1 root@h3cas-e306:/kvm_backup# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 15M cluster_size: 262144 backing file: /dev/sdd backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img info /dev/sdd image: /dev/sdd file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 0 cluster_size: 262144 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img commit -f qcow2 centos7_1 Image committed. root@h3cas-e306:/kvm_backup# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 15M cluster_size: 262144 backing file: /dev/sdd backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img info /dev/sdd image: /dev/sdd file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 0 cluster_size: 262144 Format specific information: compat: 1.1 lazy refcounts: false
NOTE: 虚拟机启动成功, 证明 QCOW2 格式的虚拟机增量快照文件是能够合并到虚拟机 Base 数据文件中的。
lazy refcounts: false root@h3cas-e306:/vms/images# qemu-img convert -f qcow2 /vms/images/centos7 -O raw /dev/sdd root@h3cas-e306:/vms/images# qemu-img info /dev/sdd image: /dev/sdd file format: raw virtual size: 23G (24696061952 bytes) disk size: 0
root@h3cas-e306:/etc/libvirt/qemu# virsh define centos7_r_0.xml Domain centos7_r_0 defined from centos7_r_0.xml root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State ---------------------------------------------------- 36 centos7 running - centos7_q_0 shut off - centos7_r_0 shut off root@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_r_0 Domain centos7_r_0 started root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State ---------------------------------------------------- 36 centos7 running 37 centos7_r_0 running - centos7_q_0 shut off
root@h3cas-e306:/vms/images# virsh snapshot-create-as --domain centos7 snap01 snap01-desc --disk-only --diskspec vda,snapshot=external,file=/vms/images/centos7_1 --atomic Domain snapshot snap01 created root@h3cas-e306:/vms/images# ls centos7 centos7_1 root@h3cas-e306:/vms/images# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 2.0M cluster_size: 262144 backing file: /vms/images/centos7 backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false
root@h3cas-e306:/vms/images# cp centos7_1 /kvm_backup/ root@h3cas-e306:/vms/images# cd /kvm_backup/ root@h3cas-e306:/kvm_backup# ls centos7_1 root@h3cas-e306:/kvm_backup# qemu-img info /kvm_backup/centos7_1 image: /kvm_backup/centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 2.5M cluster_size: 262144 backing file: /vms/images/centos7 backing file format: qcow2 Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img info /dev/sdd image: /dev/sdd file format: raw virtual size: 23G (24696061952 bytes) disk size: 0
root@h3cas-e306:/kvm_backup# qemu-img rebase -b /dev/sdd -F raw centos7_1 root@h3cas-e306:/kvm_backup# qemu-img info centos7_1 image: centos7_1 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 25M cluster_size: 262144 backing file: /dev/sdd backing file format: raw Format specific information: compat: 1.1 lazy refcounts: false root@h3cas-e306:/kvm_backup# qemu-img info /dev/sdd image: /dev/sdd file format: raw virtual size: 23G (24696061952 bytes) disk size: 0 root@h3cas-e306:/kvm_backup# qemu-img commit -f qcow2 centos7_1 Image committed. root@h3cas-e306:~# qemu-img info /dev/sdd image: /dev/sdd file format: raw virtual size: 23G (24696061952 bytes) disk size: 0