已复制
全屏展示
复制代码

CentOS8部署KVM虚拟机


· 3 min read

一. 系统安装

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
🔗

文章推荐