虚拟化平台指南:使用 KVM 和 QEMU
本指南将带您了解如何在 Debian 服务器上搭建一个基于 KVM (Kernel-based Virtual Machine) 的强大虚拟化环境。KVM 是集成在 Linux 内核中的虚拟化解决方案,它利用 CPU 的硬件虚拟化扩展(如 Intel VT-x 或 AMD-V),可以提供卓越的性能。我们将结合 QEMU (一个模拟和虚拟化软件) 和 libvirt (一个管理工具套件) 来创建和管理全功能的虚拟机。
为什么选择 KVM?
- 高性能: 作为内核级虚拟化技术(Type 1 Hypervisor),其性能非常接近物理机。
- 成本效益: 完全开源免费,无需昂贵的许可费用。
- 成熟稳定: KVM 是许多大型云平台(如 OpenStack)和企业虚拟化解决方案的基石。
- 与 Linux 生态无缝集成: 可以充分利用 Linux 的所有功能,如网络、存储和安全模型。
步骤 1: 检查硬件兼容性
在安装之前,必须确认您的 CPU 支持硬件虚拟化。
# 检查 CPU 是否有 vmx (Intel) 或 svm (AMD) 标志
egrep -c '(vmx|svm)' /proc/cpuinfo
如果输出结果是 1
或更大的数字,说明您的 CPU 支持硬件虚拟化。如果结果是 0
,您将无法使用 KVM,需要先在服务器的 BIOS/UEFI 中启用虚拟化技术(通常称为 VT-x, an-V, 或 Virtualization Technology)。
您也可以安装一个工具来检查:
sudo apt-get install cpu-checker
sudo kvm-ok
如果一切正常,您会看到 "KVM acceleration can be used" 的提示。
步骤 2: 安装 KVM 及相关软件包
我们需要安装 QEMU、KVM、libvirt 管理守护进程和一些虚拟机管理工具。
sudo apt-get update
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-install
qemu-kvm
: QEMU 和 KVM 的核心包。libvirt-daemon-system
: 运行 libvirt 守护进程。libvirt-clients
: 提供用于管理虚拟机的客户端工具,如virsh
。bridge-utils
: 用于创建和管理桥接网络。virt-install
: 一个用于通过命令行创建虚拟机的便捷工具。
安装完成后,将您的当前用户添加到 libvirt
和 kvm
用户组,这样您就可以在不使用 sudo
的情况下管理虚拟机。
sudo adduser `id -un` libvirt
sudo adduser `id -un` kvm
重要: 您需要注销并重新登录,以使用户组的更改生效。
步骤 3: 使用 virt-install 创建虚拟机
现在,我们将通过命令行创建一个新的 Debian 12 虚拟机。virt-install
支持多种安装方式,这里我们使用网络安装,它会自动从 Debian 官方镜像源下载安装所需的文件。
virt-install \
--name=debian12-vm \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/debian12-vm.qcow2,size=20 \
--os-variant=debian12 \
--network network=default \
--graphics none \
--console pty,target_type=serial \
--location='http://deb.debian.org/debian/dists/bookworm/main/installer-amd64/' \
--extra-args='console=ttyS0,115200n8 serial'
--name
: 虚拟机的名称。--ram
: 分配的内存大小(单位 MB)。--vcpus
: 分配的虚拟 CPU 核心数。--disk
: 定义虚拟磁盘。path
是镜像文件路径,size
是大小(单位 GB)。--os-variant
: 操作系统变体,有助于 libvirt 优化虚拟机配置。--network
: 连接到名为default
的默认 NAT 网络。--graphics none
: 表示我们不使用图形界面,通过纯文本控制台进行安装。--console
: 设置串行控制台,以便我们在终端中看到安装过程。--location
: 指定网络安装源的 URL。--extra-args
: 向内核传递额外参数,以确保安装程序的输出重定向到我们的串行控制台。
执行此命令后,安装过程将直接在您当前的终端窗口中启动。您需要像在物理机上一样,完成 Debian 的标准安装步骤(语言、时区、分区、设置用户等)。
步骤 4: 使用 virsh 管理虚拟机
virsh
是一个强大的命令行工具,用于管理虚拟机和虚拟化主机。
# 列出所有正在运行的虚拟机
virsh list
# 列出所有虚拟机 (包括已关闭的)
virsh list --all
# 启动虚拟机
virsh start debian12-vm
# 正常关闭虚拟机
virsh shutdown debian12-vm
# 强制关闭虚拟机 (类似拔掉电源)
virsh destroy debian12-vm
# 连接到虚拟机的控制台
virsh console debian12-vm
要退出 virsh console
,请按 Ctrl + ]
。
(可选) 图形化管理
如果您在带有桌面环境的机器上操作,或者可以远程 X11 转发,您也可以使用图形界面的 virt-manager
。
sudo apt-get install virt-manager
运行 virt-manager
将为您提供一个易于使用的图形界面来创建、管理和监控您的所有虚拟机。