openStack vm備份
由于VM是可能存在于不同節點上,所以當一個計算節點掛掉后,可以把掛掉的節點運行的VM在新的節點上繼續運行。
雖然快照功能可以做恢復使用,但是畢竟快照只能恢復固定時間的VM,所以虛擬機備份很重要!對做好熱備份有很大的幫助!
注:以測試集群為例,把c01上的vm1備份到c02上面
步驟:
1.首先,查看待備份vm1的信息:
在目錄“/var/lib/nova/instances/$VM_ID/”下面有如下文件:
console.log ?disk ?libvirt.xml
其中,disk里面沒有包含數據,只是一個包含vm基本信息的文件。
2.在“/var/lib/nova/instances/$VM_ID/”目錄下輸入如下信息:?kvm-img info disk
3.在/var/lib/nova/instances/下新建目錄backup_vm1,把上述信息備份到c02下的一個目錄/var/lib/nova/instances/backup_vm1下面。
4.用disk生成新的磁盤文件newdisk:qemu-img convert disk –O qcow2 newdisk
5.在c02上新建和vm1同配置的虛擬機vm2,保持vm2關閉狀態。
6.進入到c02上的/etc/libvirt/qemu/,編輯執行對應得編號:virsh edit $instance-Number
(使用virsh edit,直接用使用vi后,在define會覆蓋修改內容)
7.把file和path的路徑都改成備份文件backup_vm1中文件的路徑。
<disk type='file' device='disk'>?
????? <driver name='qemu' type='qcow2' cache='none'/>?
????? <source file=?'/var/lib/nova/instances/backup_vm1/newdisk'?/>?
????? <target dev='vda' bus='virtio'/>?
????? <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>?
??? </disk>?
??? <controller type='usb' index='0'>?
????? <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>?
??? </controller>?
??? <interface type='bridge'>?
????? <mac address='fa:16:3e:f9:55:56'/>?
????? <source bridge='br-int'/>?
????? <virtualport type='openvswitch'>?
??????? <parameters interfaceid='e5198be1-22ce-46b6-ba83-3f9f7d6b928d'/>?
????? </virtualport>?
????? <target dev='tape5198be1-22'/>?
????? <model type='virtio'/>?
????? <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>?
??? </interface>?
??? <serial type='file'>?
????? <source path='?/var/lib/nova/instances/backup_vm1/console.log?'/>?
????? <target port='0'/>?
??? </serial>?
??? <serial type='pty'>?
????? <target port='1'/>?
??? </serial>?
??? <console type='file'>?
????? <source path='/var/lib/nova/instances/backup_vm1/console.log'/>?
????? <target type='serial' port='0'/>?
??? </console>?
??? <input type='tablet' bus='usb'/>?
??? <input type='mouse' bus='ps2'/>?
??? <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='en-us'>?
????? <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>
????? <driver name='qemu' type='qcow2' cache='none'/>?
????? <source file=?'/var/lib/nova/instances/backup_vm1/newdisk'?/>?
????? <target dev='vda' bus='virtio'/>?
????? <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>?
??? </disk>?
??? <controller type='usb' index='0'>?
????? <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>?
??? </controller>?
??? <interface type='bridge'>?
????? <mac address='fa:16:3e:f9:55:56'/>?
????? <source bridge='br-int'/>?
????? <virtualport type='openvswitch'>?
??????? <parameters interfaceid='e5198be1-22ce-46b6-ba83-3f9f7d6b928d'/>?
????? </virtualport>?
????? <target dev='tape5198be1-22'/>?
????? <model type='virtio'/>?
????? <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>?
??? </interface>?
??? <serial type='file'>?
????? <source path='?/var/lib/nova/instances/backup_vm1/console.log?'/>?
????? <target port='0'/>?
??? </serial>?
??? <serial type='pty'>?
????? <target port='1'/>?
??? </serial>?
??? <console type='file'>?
????? <source path='/var/lib/nova/instances/backup_vm1/console.log'/>?
????? <target type='serial' port='0'/>?
??? </console>?
??? <input type='tablet' bus='usb'/>?
??? <input type='mouse' bus='ps2'/>?
??? <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='en-us'>?
????? <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>
8.啟動vm2即可!
posted on 2017-05-22 09:35 秦瑞It行程實錄 閱讀(...) 評論(...) 編輯 收藏