www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  2912 随笔 :: 9 文章 :: 51 评论 :: 185万 阅读

由于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>
8.启动vm2即可!
posted on   秦瑞It行程实录  阅读(1273)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2015-05-22 debian 发行版本
2015-05-22 Hackers 黑客组
2015-05-22 linux C/C++编程之库-动态库,静态库创建及使用
2014-05-22 gosslary
2014-05-22 ebtablesBridge
2014-05-22 较流行的4个开源协议
2014-05-22 Posix-linux_route
www.cnblogs.com/ruiyqinrui
点击右上角即可分享
微信分享提示