1、虚拟机运行【状态查询】
1.1、命令解析
virsh list # 列出所有活动的虚拟机
virsh list --all # 列出所有活动和不活的的虚拟机
virsh list --transient # 列出所有临时的虚拟机
virsh list --persistent # 列出所有永久的虚拟机
1.2、示例
root@localhost:~# virsh list
Id Name State
---------------------------------
1 CentOS-8-x86_64 running
root@localhost:~# virsh list --all
Id Name State
---------------------------------
1 CentOS-8-x86_64 running
root@localhost:~# virsh list --transient
Id Name State
--------------------
root@localhost:~# virsh list --persistent
Id Name State
---------------------------------
1 CentOS-8-x86_64 running
注意: 虚拟机的每次重启,虚拟机的id都会自动的变化,因为虚拟机的运行本质上是操作系统的一个进程而已
2、虚拟机创建方式分类
2.1、临时创建
- 借助于现成的配置文件和之前创建的虚拟机数据,创建一个新虚拟机,他会自动清除
- 步骤:配置文件-创建虚拟机-查看
- 命令:virsh create file_name.xml
2.2、持久化创建
- 借助于现成的配置文件在虚拟机管理程序中注册一个新的虚拟机,他不会自动清除
- 步骤:配置文件-注册虚拟机-开启虚拟机-查看
- 命令:virsh define file_name.xml
2.3、关键点
尽量拷贝一个完整的虚拟机配置文件,然后修改配置文件中的名字,这个配置文件名称和配置文件中的name属性要一致,且名字唯一。
3、虚拟机创建方式实战
3.1、临时创建
3.1.1、复制虚拟化的配置文件
cd /etc/libvirt/qemu && cp CentOS-8-x86_64.xml CentOS-8-x86_64-1.xml
3.1.2、修改配置文件
root@localhost:~# vi /etc/libvirt/qemu/CentOS-8-x86_64-1.xml
<domain type='kvm'>
<name>CentOS-8-x86_64-1</name>
<uuid>846b3118-de19-4db8-af9e-202305202219</uuid>
<metadata>
注意:
1、主要修改的地方就是:虚拟机的名字,uuid
2、虚拟磁盘不需要修改,如果要修改的话,一个新建的虚拟磁盘里面因为没有boot文件,就会报错
3、网卡什么的尽量不要更改,更改后即使可以,但是启动不成功
3.1.3、创建并启动虚拟机
# 记得虚拟磁盘,同时只能被一个虚拟机使用
virsh create /etc/libvirt/qemu/CentOS-8-x86_64-1.xml
3.1.4、查询运行状态
root@localhost:~# virsh list --all
Id Name State
------------------------------------
3 CentOS-8-x86_64-1 running
- CentOS-8-x86_64 shut off
root@localhost:~# virsh list --transient
Id Name State
-----------------------------------
3 CentOS-8-x86_64-1 running
# 新建的虚拟机已经成功了,而且启动的非常快
3.2、持久化创建
3.2.1、复制虚拟化的配置文件
cd /etc/libvirt/qemu && cp CentOS-8-x86_64.xml CentOS-8-x86_64-2.xml
3.2.2、修改配置文件
root@localhost:~# vi /etc/libvirt/qemu/CentOS-8-x86_64-2.xml
<domain type='kvm'>
<name>CentOS-8-x86_64-2</name>
<uuid>846b3118-de19-4db8-af9e-202305202229</uuid>
<metadata>
注意:
1、主要修改的地方就是:虚拟机的名字,uuid
2、虚拟磁盘不需要修改,如果要修改的话,一个新建的虚拟磁盘里面因为没有boot文件,就会报错
3、网卡什么的尽量不要更改,更改后即使可以,但是启动不成功
3.2.3、注册虚拟机
virsh define /etc/libvirt/qemu/CentOS-8-x86_64-2.xml
3.2.4、查询永久虚拟机是否有记录
root@localhost:~# virsh list --all
Id Name State
------------------------------------
- CentOS-8-x86_64 shut off
- CentOS-8-x86_64-2 shut off
# 默认创建的虚拟机是关闭着的
3.2.5、开启虚拟机
virsh start CentOS-8-x86_64-2
# 注意:由于多个虚拟机使用同一个磁盘文件,所以,同一时间点内,只允许启动1个虚拟机
3.2.6、查询虚拟运行状态
root@localhost:~# virsh list
Id Name State
-----------------------------------
4 CentOS-8-x86_64-2 running
root@localhost:~# virsh list --persistent
Id Name State
-----------------------------------
4 CentOS-8-x86_64-2 running