问题描述
该笔记将记录:在 Linux 中,如何部署 KVM 虚拟化环境,以及部署相关的问题处理。
解决方案
第一步、检查硬件虚拟化
检查是否支持硬件虚拟化:
grep --color -E '(vmx|svm)' /proc/cpuinfo
输出中应该出现 vmx 或 svm 等内容,否则就是不支持硬件虚拟化。
第二步、检查内核模块
检查内核是否加载 KVM 模块,:
# lsmod | grep kvm
kvm_amd 2176416 0
kvm 578558 1 kvm_amd
irqbypass 13503 1 kvm
类似如上输出则表示加载成功。
第三步、安装依赖及服务
安装相关的软件包及依赖:
# Debian 10
apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils \
libguestfs-tools genisoimage virtinst libosinfo-bin
# CentOS
yum install -y qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install bridge-utils
第四步、启动 libvirtd 服务
启动 libvirt 服务并开机启动:
systemctl enable libvirtd.service
systemctl start libvirtd.service
它主要用于虚拟机的管理工作,而KVM的作用是提供虚拟化。例如虚拟机的定义、网络管理等等这些都是通过libvirt进行管理的。如果不使用libvirt工具,那你就要直接从命令行里使用qemu有关的命令来管理虚拟机,不好。
第五步、重启操作系统
如果允许重启服务器,我们还是建议重启。因为,我们部署服务之后,并没有重启主机,我们认为没有必要。但是,在使用的过程中遇到一个问题,在重启之后该问题得以解决。
如何管理虚拟机?
到目前(03/08/2019)为止,可以使用:
1)命令行:使用命令 virt-install 和 virsh 来从命令行安装和管理虚拟机。
2)图形化:使用图形化工具(如 virt-manager 等),以及某些 Web 管理工具(如 oVirt),来管理虚拟机。
使用 virsh 命令
将当前用户(非 root 用户)加入 libvirt 组,可以允许当前用户通过 libvirt 管理虚拟机。
相关文章
参考文献