一、搭建环境
首先搭建一个图形化界面的centos操作系统
1 打开虚拟化引擎
2 安装相关软件
yum -y install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager wget
3 启动服务并开启开机自动启动
systemctl enable libvirtd && systemctl start libvirtd
二、图形化方式创建虚拟机
1 上传镜像文件到宿主机(阿里云镜像)
wget http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
2 安装流程
开始进行centos系统的安装
3 查看虚拟机的配置文件和虚拟磁盘文件
3.1 配置文件
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# ls
centos7-1.xml networks
以.xml结尾的文件就是虚拟机的配置文件
[root@localhost qemu]# vim centos7-1.xml
虚拟机名称(第9行)
<name>centos7-1</name>
uuid(第10行)
<uuid>17d1195b-27b5-4ff4-bf14-801fed0d6635</uuid>
内存(第11行)
<memory unit='KiB'>1048576</memory>
磁盘
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/centos7-1.qcow2'/> #磁盘文件路径
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
mac地址(第77行)
<mac address='52:54:00:5e:ae:a6'/>
3.2虚拟磁盘文件(以.qcow2结尾的文件)
[root@localhost ~]# cd /var/lib/libvirt/images/
[root@localhost images]# ls
centos7-1.qcow2
三、利用模板创建虚拟机
1 创建新虚拟机的配置文件
复制已存在的虚拟机的配置文件
cp /etc/libvirt/qemu/centos7-1.xml /etc/libvirt/qemu/centos7-2.xml
注意:此配置文件可能和你们机器上的文件名不同,请以你们机器上的以.xml结尾的文件为准
2 创建新虚拟机的虚拟磁盘文件
复制已存在的虚拟磁盘文件
[root@localhost ~]# cp /var/lib/libvirt/images/centos7-1.qcow2 /var/lib/libvirt/images/centos7-2.qcow2
注意:此配置文件可能和你们机器上的文件名不同,请以你们机器上的以.qcow2结尾的文件为准
3 修改配置文件里的虚拟机名称、uuid、磁盘、mac地址
[root@localhost ~]# vim /etc/libvirt/qemu/centos7-2.xml
<name>centos7-2</name>
<uuid>17d1195b-27b5-4ff4-bf14-801fed0d6635</uuid> #修改uuid其中一个数即可(不用复制我的)
...
<source file='/var/lib/libvirt/images/centos7-2.qcow2'/> #要和复制的虚拟磁盘文件的绝对路径相同
...
<mac address='52:54:00:5e:ae:a6'/> #和uuid一样,修改其中一个数即可
4 定义虚拟机
[root@localhost ~]# virsh define /var/lib/libvirt/images/centos7-2.qcow2
定义域 centos7-2(从 /etc/libvirt/qemu/centos7-2.xml)
注意:要以结对路径来定义虚拟机
5 启动虚拟机
[root@localhost ~]# virsh list --all # 列出所有KVM虚拟机
Id 名称 状态
----------------------------------------------------
- centos7-1 关闭
[root@localhost ~]# virsh start centos7-1 # 启动指定KVM虚拟机
域 centos7-1 已开始
[root@localhost ~]# virsh list
Id 名称 状态
----------------------------------------------------
5 centos7-1 running
[root@localhost ~]# virsh domifaddr 5
名称 MAC 地址 Protocol Address
-------------------------------------------------------------------------------
vnet0 52:54:00:15:42:35 ipv4 192.168.122.168/24
四、virsh 管理虚拟机
1 列出正在运行的虚拟机
virsh list
2 列出所有的虚拟机
virsh list --all
3 查看指定虚拟机的元数据信息
virsh dominfo 虚拟机名称
4 查看指定虚拟机的 IP 地址
virsh domifaddr 虚拟机名称
5 启动虚拟机
virsh start 虚拟机名称
6 正常关闭虚拟机
virsh shutdown 虚拟机名称
7 强制关闭虚拟机,相当于拔掉电源
virsh destroy 虚拟机名称
8 重启虚拟机
virsh reboot vm-name 虚拟机名称
9 删除虚拟机(虚拟机磁盘文件回保留,需要手动删除)
virsh undefine 虚拟机名称