于2022年6月12日重新编辑。
本文测试环境:优麒麟22.04
KVM: Kernel-based Virtual Machine,基于内核(内核内建)的虚拟机,需要芯片支持并开启虚拟化技术(英特尔的 VT 扩展或者 AMD 的 AMD-V 扩展)。KVM 内核模块本身只能提供 CPU 和内存的虚拟化,必须结合 QEMU 才能构成一个完整的虚拟化技术。
QEMU: 是一个通用的开源机器模拟器和虚拟器,由 Fabrice Bellard 编写,是一个完整的可以单独运行的开源软件。它可以独立模拟出整台计算机,包括 CPU,内存,IO 设备,因此也可以在没有 KVM 模块的情况下独立运行,只是性能比较低。而 QEMU+KVM 则可以通过 KVM 模块提供的虚拟化技术,从而提高 CPU 和内存的性能,并为计算机模拟提供加速功能。
一、安装KVM的先决条件
1) 确认是否支持硬件虚拟化(英特尔的 VT 扩展或者 AMD 的 AMD-V 扩展)
$ LC_ALL=C lscpu | grep Virtualization
Virtualization: VT-x
或者:
$ grep -Eoc '(vmx|svm)' /proc/cpuinfo #或者 egrep -c '(vmx|svm)' /proc/cpuinfo
16
如果输出一个大于零的数字(即CPU核心数),表示CPU支持硬件虚拟化;输出0,表示CPU不支持硬件虚拟化,尝试重启进入BIOS设置中启用VT技术。
2)确定服务器是否能够运行硬件加速的KVM虚拟机
$ kvm-ok #如果提示无此命令,通过sudo apt install cpu-checker 来安装
INFO: /dev/kvm exists
KVM acceleration can be used
二、安装KVM虚拟化管理软件包
1. QEMU
通常,需要安装 qemu 模拟软件,qemu 实用程序 qemu-utils ,qemu-kvm 模块。
sudo apt install qemu qemu-utils qemu-kvm
注意:新的 qemu 版本已经集成了 qemu-kvm 模块。
2. KVM 虚拟机管理软件
- libvirt:管理虚拟机和其他虚拟化功能(比如存储管理,网络管理)的软件集合。它包括一个API库,一个守护程序(libvirtd)和一个命令行工具(virsh)。它为受支持的虚拟机监控程序实现的常用功能提供通用的API。libvirt的主要目标是为各种虚拟化工具提供一套统一可靠的API,让上层可以用一种单一的方式来管理多种不同的虚拟化技术,它可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。需要通过安装
libvirt-daemon-system包来将libvirt守护程序作为系统服务运行的配置文件。 - libvirt-clients :用于管理虚拟化平台的软件,一般情况下,在安装
libvirt-daemon-system时会自动安装此包。 - virt-manager :基于 libvirt 的 GUI 工具 (图形用户界面)。
- virtinst :一组用于创建虚拟机的命令行工具,一般情况下,在安装
virt-manager时会自动安装此包。
sudo apt install libvirt-daemon-system virt-manager
3. 虚拟机的UEFI 固件
ovmf:虚拟机的UEFI 固件,安装后方可是虚拟机系统从uefi启动。
sudo apt install ovmf

本文详细介绍了在Ubuntu22.04系统中安装和配置KVM虚拟化的步骤,包括检查硬件虚拟化支持、安装KVM及相关软件包、设置虚拟机网络(NAT和桥接)、创建和管理虚拟机,以及解决常见问题。同时,讨论了qcow2镜像的压缩和主机挂载,以及处理图形控制台错误的方法。

262

被折叠的 条评论
为什么被折叠?



