【Linux系统之虚拟化实战】PVE下KVM虚拟机的嵌套安装方法
一、检查本地系统环境
1.环境规划
hostname |
IP地址 |
系统版本 |
角色 |
pve |
192.168.3.159 |
PVE 5.15.30-3 |
PVE宿主机 |
server01 |
192.168.3.121 |
centos 7.6 |
PVE虚拟机 |
kvm01 |
192.168.3.133 |
centos 7.6 |
KVM虚拟机 |
2.检查PVE宿主机系统版本
root@pve:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@pve:~# uname -v
#1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200)
3.检查PVE虚拟机系统版本
[root@server01 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@server01 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
二、开启PVE宿主机虚拟化
1.检查PVE主机嵌套虚拟化是否开启
输出N,表示未开启,输出Y,表示已开启。
root@pve:~# cat /sys/module/kvm_intel/parameters/nested
Y
root@pve:~#
2.PVE主机开启嵌套虚拟化
1.PVE主机嵌套虚拟化未开启,则先必须先关闭所有的虚拟机,
2.强制关闭命令:qm stop 100(虚拟机ID)
3.执行以下命令开启嵌套虚拟化
# 开启嵌套虚拟化
modprobe -r kvm_intel
modprobe kvm_intel nested=1
cat /sys/module/kvm_intel/parameters/nested
echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf # 将开启嵌套虚拟化设置开机自启
3.设置PVE虚拟机的CPU类型
①群晖系统的虚拟机设置方法
选择默认的KVM类型
进入etc/pve/nodes/pve/qemu-server/目录下,修改PVE虚拟机的配置文件,添加以下内容。
root@pve:/etc/pve/nodes/pve/qemu-server# grep args 109.conf
args: -cpu 'kvm64,enforce,+kvm_pv_eoi,+vmx,+kvm_pv_unhalt,+lahf_lm,+sep'
②centos等系统的虚拟机设置方法
选择虚拟机CPU类型为host
5.检查server01的虚拟化开启状态
[root@server01 ~]# egrep --color 'vmx|svm' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
[root@server01 ~]#
三、在虚拟机安装KVM
1.关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
2.加载KVM
[root@server01 ~]# modprobe kvm
[root@server01 ~]# lsmod | grep kvm
kvm_intel 183621 0
kvm 586948 1 kvm_intel
irqbypass 13503 1 kvm
3.安装kvm相关软件包
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y
4.启动libvirtd服务
[root@server001 ~]# systemctl start libvirtd
[root@server001 ~]# systemctl enable libvirtd
[root@server001 ~]#
四、上传centos7.6系统镜像
1.创建镜像目录
[root@server001 ~]# cd /data/images/
[root@server001 images]#
2.上传镜像
[root@server001 images]# ll
total 4481024
-rw-r--r--. 1 root root 4588568576 Dec 9 23:44 CentOS-7-x86_64-DVD-1810.iso
[root@server001 images]#
五、配置网桥
1.关闭NetworkManager
chkconfig NetworkManager off
service NetworkManager stop
2.查看网卡
[root@server001 images]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.121 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::4236:bfeb:a91e:8e05 prefixlen 64 scopeid 0x20<link>
inet6 fe80::3bde:d1ba:1b78:4dbd prefixlen 64 scopeid 0x20<link>
inet6 fe80::87db:cb84:1c84:c5e4 pre