KVM 虚拟化技术完全指南:从入门到精通
一、KVM 简介
KVM(Kernel-based Virtual Machine)是基于 Linux 内核的开源虚拟化技术,它将 Linux 内核转变为一个 hypervisor,允许在单个物理主机上运行多个虚拟机(VM)。
二、安装 KVM
2.1 检查硬件虚拟化支持
# 检查 Intel VT-x 支持
egrep -c '(vmx|svm)' /proc/cpuinfo
# 输出大于 0 表示支持
2.2 Ubuntu/Debian 安装
sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
sudo adduser $(whoami) libvirt
sudo adduser $(whoami) libvirt-qemu
2.3 CentOS/RHEL 安装
sudo yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install
sudo systemctl enable --now libvirtd
2.4 验证安装
lsmod | grep kvm
sudo systemctl status libvirtd
kvm-ok
三、创建虚拟机
3.1 下载镜像
wget https://releases.ubuntu.com/22.04/ubuntu-22.04-live-server-amd64.iso
3.2 使用 virt-install 创建
sudo virt-install \
--name ubuntu-vm1 \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/ubuntu-vm1.qcow2,size=20 \
--cdrom /path/to/ubuntu.iso \
--os-type linux \
--os-variant ubuntu22.04 \
--network bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole
四、virsh 命令管理
# 列出虚拟机
virsh list --all
# 启动/关闭
virsh start ubuntu-vm1
virsh shutdown ubuntu-vm1
# 查看信息
virsh dominfo ubuntu-vm1
# 连接控制台
virsh console ubuntu-vm1
五、网络配置
5.1 默认 NAT 网络
virsh net-list --all
virsh net-start default
virsh net-autostart default
5.2 桥接网络
sudo apt install bridge-utils
# 配置网桥后使用 br0
六、存储管理
# 创建存储池
virsh pool-define-as datastore dir --target /data/vms
virsh pool-start datastore
virsh pool-autostart datastore
# 创建存储卷
virsh vol-create-as datastore vm1-disk.qcow2 20G --format qcow2
七、快照管理
# 创建快照
virsh snapshot-create-as ubuntu-vm1 snapshot-1 "初始配置"
# 恢复快照
virsh snapshot-revert ubuntu-vm1 snapshot-1
八、性能优化
- 使用 Virtio 驱动(磁盘和网络)
- 启用 KSM 内存合并
- CPU 绑定和 NUMA 优化
总结
KVM 作为 Linux 内核原生的虚拟化解决方案,提供了出色的性能和灵活性。继续实践,构建高效可靠的虚拟化基础设施。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







