使用现有的虚拟磁盘恢复虚拟机(拷贝修改现有配置文件)
注:这里使用现有的磁盘,通过拷贝修改配置文件重新启动虚拟机,如果该虚拟机的磁盘文件被删除,则虚拟机就无法恢复了
一、搭建测试环境,关闭虚拟机daixuan2,删除配置文件,只剩下磁盘
[root@daixuan ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
22 daixuan4 running
26 daixuan2 running
27 daixuan1 running
- daixuan3 关闭
- daixuan5 关闭
[root@daixuan ~]# virsh destroy daixuan2
域 daixuan2 被删除
[root@daixuan ~]# virsh undefine daixuan2
域 daixuan2 已经被取消定义
[root@daixuan ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
22 daixuan4 running
27 daixuan1 running
- daixuan3 关闭
- daixuan5 关闭
[root@daixuan ~]# ls /etc/libvirt/qemu/ //虚拟机daixuan2的配置文件daixuan2.xml已经被删除
autostart daixuan1.xml daixuan3.xml daixuan4.xml daixuan5.xml networks
[root@daixuan ~]# ls /data/ //虚拟磁盘文件daixuan2.qcow2存在,通过该文件恢复虚拟机
daixuan1_2.qcow2 daixuan2.qcow2 daixuan4.qcow2
daixuan1.qcow2 daixuan3.qcow2 daixuan5.qcow2
二、拷贝配置文件并修改
1、拷贝配置文件
方法一、进入虚拟机的配置文件目录拷贝daixuan1的配置文件改名为daixuan2.xml
[root@daixuan ~]# cd /etc/libvirt/qemu
[root@daixuan qemu]# ls
autostart daixuan1.xml daixuan3.xml daixuan4.xml daixuan5.xml networks
[root@daixuan qemu]# cp daixuan1.xml daixuan2.xml
方法二、使用dumpxml命令拷贝虚拟机daixuan1的配置文件到/etc/libvirt/qemu/目录并重命名
[root@daixuan ~]# virsh dumpxml daixuan1 > /etc/libvirt/qemu/daixuan2.xml
2、修改配置文件
[root@daixuan ~]# cd /etc/libvirt/qemu
[root@daixuan 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'/>
[root@daixuan qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
22 daixuan4 running
27 daixuan1 running
- daixuan3 关闭
- daixuan5 关闭
3、重新定义daixuan2的配置文件
[root@daixuan qemu]# virsh define /etc/libvirt/qemu/daixuan2.xml
定义域 daixuan2(从 /etc/libvirt/qemu/daixuan2.xml)
[root@daixuan qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
22 daixuan4 running
27 daixuan1 running
- daixuan2 关闭
- daixuan3 关闭
- daixuan5 关闭
[root@daixuan qemu]# virsh start daixuan2
域 daixuan2 已开始
4、不重启虚拟机在线增加网卡
[root@daixuan qemu]# virsh domiflist daixuan2 //查看daixuan2子机的网卡列表
Interface Type Source Model MAC
-------------------------------------------------------
vnet2 bridge br1 virtio 52:54:00:3a:2a:71
命令行增加一块网卡:
[root@daixuan qemu]# virsh attach-interface daixuan2 --type bridge --source br1
成功附加接口
命令行增加的网卡只保存在内存中,重启就失效,所以需要保存到配置文件中,其中 /etc/libvirsh/qemu/daixuan2.xml 为daixuan2子机的配置文件
[root@daixuan qemu]# virsh dumpxml daixuan2 > /etc/libvirt/qemu/daixuan2.xml
[root@daixuan qemu]# virsh console daixuan2
连接到域 daixuan2
Escape character is ^]
在线增加了eth3网卡
[root@localhost ~]# 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)
转载于:https://blog.51cto.com/daixuan/1743336