CentOS8部署KVM虚拟机
一. 系统安装
1.1 系统配置
- 方法一:选择安装套件时选择
Virtuallization Host
,右边选择上常用的工具包即可。 - 方法二:如果在装系统时没有选择
Virtuallization Host
,则按如下步骤安装:
dnf module install virt
dnf install virt-install virt-viewer
# 环境检查是否满足要求
virt-host-validate
systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service
- 安装完成后配置网卡的静态IP地址。
vim /etc/sysconfig/network-scripts/ifcfg-eno4
nmcli c reload
1.2 安装Cockpit
安装如下步骤安装,安装完后直接访问9090端口即可登录。
dnf install cockpit cockpit-machines
systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket
firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload
二. KVM配置
2.1 创建网络
创建一个桥接网络,并桥接到1.1小结配置的网卡。网络创建以后,实际的物理网卡上的IP地址就好转移到刚刚创建的桥接虚拟网卡上,以后所有的流量都通过这个虚拟网桥管理。
- 进入cockpit页面 ==》网络 ==》添加网桥 ==》填写名称bridge0、选择物理网卡eno4 ==》应用。
- 在终端查看bridge0是否正确
ip addr
2.2 创建存储池
存储池是一个存放虚拟机的qcow2文件的地方,通常情况下一块硬盘可以创建一个存储池,一个存储池下可以创建多个存储卷,每个存储卷属于一个虚拟磁盘,比如一个qcow2文件。
- 创建存储池:进入cockpit页面 ==》虚拟机 ==》存储池 ==》创建存储池 ==》填写名称、类型(文件系统目录)、目标路径、选中在主机引导时启动池 ==》创建。
- 创建存储卷:点击一个存储池 ==》存储卷 ==》 创建卷 ==》 填写名称、大小、格式(qcow2) ==》创建。
2.3 上传ISO镜像
将需要安装的ISO镜像上传到/iso
目录下。
# 上传ISO镜像到 /iso
mkdir /iso
2.4 创建虚拟机
进入cockpit页面:虚拟机 ==》创建虚拟机 ==》填写:虚拟机名称、安装类型(本地安装介质)、安装源(刚刚上传的ISO文件)、操作系统(会自动识别)、存储(刚刚创建的)、卷(刚刚创建的)、内存、立即启动vm ==》创建。
注意:如果创建虚拟机时不选择存储是,这时默认卷会安装在位置/var/lib/libvirt/images/
下。
创建的虚拟的配置文件在/etc/libvirt/qemu/
目录下的xml
文件,也可以直接修改该配置。
- 修改之前要关闭KVM:
virsh shutdown vm1
- 修改之后使用下面命令使其配置生效:
virsh define vm1
- 然后启动vm1虚拟机:
virsh start vm1
- 注意也可以直接使用命令行 修改配置
virsh edit vm1
- 虚拟机日志目录
/var/log/libvirt/qemu
三. 常见场景
3.1 使用快照
- 使用
virsh
# 创建快照
virsh snapshot-create-as --domain vmname --name snapshot_name --description "description here"
# 列出虚拟机的所有快照
virsh snapshot-list vmname
# 查看指定虚拟机的指定快照详情
virsh snapshot-info --snapshotname snapshot_name --domain vmname
# 查看当前正在使用的虚拟机快照
virsh snapshot-info --current --domain vmname
# 还原指定快照
virsh snapshot-revert vmname snapshot_name
# 删除指定快照
virsh snapshot-delete --domain vmname --snapshotname snapshot_name
- 使用
qemu-img
# 查看信息
qemu-img info vm01.qcow2
# 拍摄快照
qemu-img snapshot -c init-install vm01.qcow2
# 查看快照
qemu-img snapshot -l vm01.qcow2
# 恢复快照
qemu-img snapshot -a 1 vm01.qcow2
# 恢复快照
qemu-img snapshot -d 2 vm01.qcow2
3.2 克隆虚拟机
# 克隆kvmold为kvmnew
virt-clone --original kvmold --name kvnnew --file /data/kvmnew.qcow2
3.3 随宿主机启动
# 随宿主机启动
virsh autostart vmname
# 取消随宿主机启动
virsh autostart --disable vmname
四. 常用命令
# 列出运行的虚拟机
virsh list
# 列出所有的虚拟机(开机的、关机的)
virsh list --all