使用现有的虚拟磁盘恢复虚拟机(拷贝修改现有配置文件)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用现有的虚拟磁盘恢复虚拟机(拷贝修改现有配置文件)相关的知识,希望对你有一定的参考价值。

使用现有的虚拟磁盘恢复虚拟机(拷贝修改现有配置文件)


注:这里使用现有的磁盘,通过拷贝修改配置文件重新启动虚拟机,如果该虚拟机的磁盘文件被删除,则虚拟机就无法恢复了


一、搭建测试环境,关闭虚拟机daixuan2,删除配置文件,只剩下磁盘

[[email protected] ~]# virsh list --all

 Id    名称                         状态

----------------------------------------------------

 22    daixuan4                       running

 26    daixuan2                       running

 27    daixuan1                       running

 -     daixuan3                       关闭

 -     daixuan5                       关闭


[[email protected] ~]# virsh destroy daixuan2

域 daixuan2 被删除


[[email protected] ~]# virsh undefine daixuan2

域 daixuan2 已经被取消定义


[[email protected] ~]# virsh list --all

 Id    名称                         状态

----------------------------------------------------

 22    daixuan4                       running

 27    daixuan1                       running

 -     daixuan3                       关闭

 -     daixuan5                       关闭

[[email protected] ~]# ls /etc/libvirt/qemu/  //虚拟机daixuan2的配置文件daixuan2.xml已经被删除

autostart  daixuan1.xml  daixuan3.xml  daixuan4.xml  daixuan5.xml  networks


[[email protected] ~]# ls /data/  //虚拟磁盘文件daixuan2.qcow2存在,通过该文件恢复虚拟机

daixuan1_2.qcow2  daixuan2.qcow2  daixuan4.qcow2

daixuan1.qcow2    daixuan3.qcow2  daixuan5.qcow2


二、拷贝配置文件并修改


1、拷贝配置文件

方法一、进入虚拟机的配置文件目录拷贝daixuan1的配置文件改名为daixuan2.xml

[[email protected] ~]# cd /etc/libvirt/qemu

[[email protected] qemu]# ls

autostart  daixuan1.xml  daixuan3.xml  daixuan4.xml  daixuan5.xml  networks

[[email protected] qemu]# cp daixuan1.xml daixuan2.xml


方法二、使用dumpxml命令拷贝虚拟机daixuan1的配置文件到/etc/libvirt/qemu/目录并重命名

[[email protected] ~]# virsh dumpxml daixuan1 > /etc/libvirt/qemu/daixuan2.xml


2、修改配置文件

[[email protected] ~]# cd /etc/libvirt/qemu

[[email protected] qemu]# vi daixuan2.xml

<name>daixuan1</name>  虚拟机名称daixuan1修改为daixuan2

<name>daixuan2</name>


<uuid>82c8eda7-c875-18bb-34e3-3478c038cd30</uuid>  修改为:0->8 UUID不能重复

<uuid>82c8eda7-c875-18bb-34e3-3478c038cd38</uuid>


<driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>

      <source file=‘/data/daixuan1.qcow2‘/>  文件改为daixuan2,注意是qcow2还是img格式

<driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>

      <source file=‘/data/daixuan2.qcow2‘/>

[[email protected] qemu]# virsh list --all

 Id    名称                         状态

----------------------------------------------------

 22    daixuan4                       running

 27    daixuan1                       running

 -     daixuan3                       关闭

 -     daixuan5                       关闭


3、重新定义daixuan2的配置文件

[[email protected] qemu]# virsh define /etc/libvirt/qemu/daixuan2.xml

定义域 daixuan2(从 /etc/libvirt/qemu/daixuan2.xml)


[[email protected] qemu]# virsh list --all

 Id    名称                         状态

----------------------------------------------------

 22    daixuan4                       running

 27    daixuan1                       running

 -     daixuan2                       关闭

 -     daixuan3                       关闭

 -     daixuan5                       关闭

[[email protected] qemu]# virsh start daixuan2

域 daixuan2 已开始


4、不重启虚拟机在线增加网卡

[[email protected] qemu]# virsh domiflist daixuan2  //查看daixuan2子机的网卡列表

Interface  Type       Source     Model       MAC

-------------------------------------------------------

vnet2      bridge     br1        virtio      52:54:00:3a:2a:71


命令行增加一块网卡:

[[email protected] qemu]# virsh attach-interface daixuan2 --type bridge --source br1

成功附加接口


命令行增加的网卡只保存在内存中,重启就失效,所以需要保存到配置文件中,其中 /etc/libvirsh/qemu/daixuan2.xml 为daixuan2子机的配置文件

[[email protected] qemu]# virsh dumpxml daixuan2 > /etc/libvirt/qemu/daixuan2.xml

[[email protected] qemu]# virsh console daixuan2

连接到域 daixuan2

Escape character is ^]


在线增加了eth3网卡

[[email protected] ~]# ifconfig -a

eth3      Link encap:Ethernet  HWaddr 52:54:00:3A:2A:71

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


eth4      Link encap:Ethernet  HWaddr 52:54:00:A6:C7:6A

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Interrupt:11 Base address:0x8000


lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)



本文出自 “daixuan” 博客,请务必保留此出处http://daixuan.blog.51cto.com/5426657/1743336

以上是关于使用现有的虚拟磁盘恢复虚拟机(拷贝修改现有配置文件)的主要内容,如果未能解决你的问题,请参考以下文章

KVM虚拟机迁移

如何将XenServer虚拟机转换成Hyper-V格式

虚拟机的硬盘怎么改小

2.4-虚拟磁盘恢复虚拟机

kvm虚拟机静态迁移

3xen虚拟机复制