Centos7安装kvm服务器
- 什么是kvm
- 检查硬件是否支持kvm虚拟化
- 启用嵌套虚拟化(可选)
- 查看是否启用嵌套虚拟化
- 嵌套虚拟化立即生效(临时)
- 重新加载模块并验证
- 虚拟机硬件直通
- 虚拟机内查看嵌套虚拟化是否成功
- 安装kvm服务器
- 安装kvm的所有包(不推荐)
- 启动libvirt服务
- 查看是否正确设置了虚拟化
- 设置kvm命令软链接(可选)
- 查看kvm版本
- 查看kvm模块
什么是kvm
kvm是kernel based virtual machine
意思是基于内核的虚拟机
检查硬件是否支持kvm虚拟化
# 检查硬件是否支持KVM虚拟化
egrep -c "vmx|svm" /proc/cpuinfo
## 说明:回显 0表示不支持,>=1表示支持
启用嵌套虚拟化(可选)
# 在宿主机创建kvm-nested.conf文件
vim /etc/modprobe.d/kvm-nested.conf
# intel_CPU启用嵌套虚拟化功能
options kvm_intel nested=1
# amd_CPU启用嵌套虚拟化功能
options kvm_amd nested=1
查看是否启用嵌套虚拟化
# 查看CPU品牌
grep -m 1 'model name' /proc/cpuinfo
# intel_CPU查看是否开启嵌套虚拟化
cat /sys/module/kvm_intel/parameters/nested
# AMD_CPU查看是否开启嵌套虚拟化
cat /sys/module/kvm_amd/parameters/nested
0
或N
禁用虚拟化嵌套,1
或Y
开启嵌套虚拟化
嵌套虚拟化立即生效(临时)
0
或N
禁用虚拟化嵌套,1
或Y
开启嵌套虚拟化
echo "
# intel_cpu开启嵌套虚拟化
Y " > /sys/module/kvm_intel/parameters/nested
echo "
# amd_cpu开启嵌套虚拟化
Y " > /sys/module/kvm_amd/parameters/nested
重新加载模块并验证
# 删除旧的模块
modprobe -r kvm_intel
## 删除amd_CPU模块
modprobe -r kvm_amd
# 重新加载模块
modprobe kvm_intel nested=1
## 重新加载amd_CPU模块
modprobe kvm_amd nested=1
# 结果是Y,透传(嵌套虚拟化)功能开启
cat /sys/module/kvm_intel/parameters/nested
虚拟机硬件直通
host-passthrough
直接将物理CPU
暴露给虚拟机
使用,在虚拟机
上完全可以看到的就是物理CPU
的型号.
这种方式是**CPU性能最好**
的,也可以适用于有些应用检查CPU某些特性;但是**虚拟机不能迁移到不同型号的CPU上**
;
# 修改虚拟机配置
virsh edit Vm-Name
将文件中的 custom
改为 host-passthrough
<!-- host-passthrough:直接将物理CPU暴露给小型机使用 -->
<cpu mode='host-passthrough' />
虚拟机内查看嵌套虚拟化是否成功
# 重启vm实例
reboot
# 查看小型机是否透传成功
lsmod | grep kvm
grep vmx /proc/cpuinfo
安装kvm服务器
libvirt
的作用:虚拟机的管理软件
virt-install
的作用: vm实例安装工具
virt-clone
的作用:vm克隆工具
qemu-kvm
的作用: 虚拟机磁盘工具
acpid
服务的作用:通过这个服务来执行电源关闭的动作
# 安装kvm服务器
yum install -y libvirt virt-install qemu-kvm
# 安装acpid电源管理服务
yum install -y acpid
# 安装virt常用工具
yum install -y virt-top
安装kvm的所有包(不推荐)
有些包一时半会用不上。
# 安装kvm虚拟化套件(32个包)
yum install virt* -y
# 或
yum –y install qemu-kvm qemu-kvm-tools kvm libguestfs libvirt virt-install bridge-util virt-viewer virt-top virt-v2v acpid python-virtinst tunctl libguestfs-tools
启动libvirt服务
# 开机自启动libvirt服务并现在启动
systemctl enable --now libvirtd
# 为虚拟机提供关闭电源服务
systemctl enable --now acpid.service
查看是否正确设置了虚拟化
# 查看是否正确设置了虚拟化
virt-host-validate
设置kvm命令软链接(可选)
新版本已经自动将qemu-kvm
安装到/usr/bin/
目录下
# 创建qemu-kvm的软链接,让用户可以直接通过命令行使用
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
查看kvm版本
https://www.onitroad.com/jc/linux/how-to-check-kvm-qemu-kvm-version-in-linux.html
# 查看kvm版本
yum info qemu-kvm
# 查看qemu-kvm的版本
qemu-kvm -version
查看kvm模块
# 查看kvm模块支持
lsmod | grep kvm
## 有下列内容就说明模块正常