一. 创建vm虚拟机
1.1 关闭源虚拟机
在创建vm虚拟机之前需要关闭源虚拟机,源虚拟机是之后用于克隆的vm虚拟机。如果不关闭源虚拟机,后面操作可能会出错,所以最好是先关闭源虚拟机。
virsh shutdown <source_vm> #正常关机
1.2 导出源虚拟机的XML定义
使用以下命令导出源虚拟机的XML定义,yzy为源虚拟机的名称:
virsh dumpxml yzy > /etc/libvirt/qemu/wxq.xml #创建新虚拟机的配置文件
通过编辑需要克隆的源虚拟机配置文件,去发现它的磁盘文件(.qcow2)位置,命令如下:
virsh edit yzy
1.3 复制虚拟磁盘镜像
cd /var/yzy/host/images
cp ctyunos-x86_64-20220318144244.qcow2 ctyunos-x86_64-20220318144244-wxq.qcow2
1.4 修改XML定义
直接编辑修改配置文件`wxq.xml`,修改name,uuid,disk文件位置,log file,interface的mac地址
使用文本编辑器打开`wxq.xml`文件,并进行以下更改:
- 修改`<name>`标签中的名称,以表示新虚拟机的名称。
- 修改`<uuid>`标签中的UUID。可以使用`uuidgen`命令生成一个新的UUID。
- 修改`<source file>`标签中的磁盘镜像路径,使其指向新虚拟机的磁盘镜像。
- 修改`<log file>`标签中的日志文件路径。
-修改<interface>的mac地址。
保存并关闭文件。
1.5 创建新虚拟机
virsh define wxq.xml
1.6 启动虚拟机
virsh start wxq
二. 虚拟机之间连通性测试方法
2.1 启动两个虚拟机
按照第一部分的方法,把两个虚拟机都启动,port-1和port-2。
2.2 添加网卡
启动两个虚拟机port-1和port-2,并添加网卡完成ping的过程(注意整个过程需要打开三个终端)。
# 查看虚拟机列表和状态
[root@host1-10e255e251e102 ~]# virsh list --all
#启动新虚拟机port-1
[root@host1-10e255e251e102 ~]# virsh start port-1
#启动新虚拟机port-2
[root@host1-10e255e251e102 ~]# virsh start port-2
#第1个终端:进入虚拟机port-1
[root@host1-10e255e251e102 ~]# virsh console port-1
#第2个终端:进入虚拟机port-2
[root@host1-10e255e251e102 ~]# virsh console port-2
#第3个终端:进入网卡xml文件所在路径
[root@host1-10e255e251e102 ~]# cd /var/yzy/host/zijin/vdpa-wsp/src/vfe-bin/test/configuration-file-1/interface-test-file
#第3个终端:添加网卡到虚拟机port-1,比如添加第247个网卡interface-test247.xml
[root@host1-10e255e251e102 interface-test-file]# virsh attach-device port-1 interface-test247.xml
#第3个终端:添加网卡到虚拟机port-2,比如添加第248个网卡interface-test248.xml
[root@host1-10e255e251e102 interface-test-file]# virsh attach-device port-2 interface-test248.xml
2.3 配置ip
给两个虚拟机的网卡配置ip。
#第1个终端:查看网卡信息
[root@localhost ~]# ip a
#第1个终端:给虚拟网卡ens13(即之前添加的网卡interface-test247.xml)配置ip
[root@localhost ~]# ifconfig ens13 10.0.0.1
#第2个终端:查看网卡信息
[root@localhost ~]# ip a
#第2个终端:给虚拟网卡ens13(即之前添加的网卡interface-test248.xml)配置ip
[root@localhost ~]# ifconfig ens13 10.0.0.2
2.4 连通性测试
#第1个终端:虚拟机port-1里面ping虚拟机port-2,查看ping情况
[root@localhost ~]# ping 10.0.0.2
#第2个终端:虚拟机port-2里面ping虚拟机port-1,查看ping情况
[root@localhost ~]# ping 10.0.0.1
[Note]热插拔操作:
热插拔操作的命令示例如下:
#添加网卡到虚拟机port-1,比如添加第247个网卡interface-test247.xml
[root@host1-10e255e251e102 interface-test-file]# virsh attach-device port-1 interface-test247.xml
#删除虚拟机port-1的网卡,比如删除第247个网卡interface-test247.xml
[root@host1-10e255e251e102 interface-test-file]# virsh detach-device port-1 interface-test247.xml