KVM虚拟化使用教程(通俗版)
一、环境准备
1. 检查CPU虚拟化支持
egrep '(vmx|svm)' /proc/cpuinfo # Intel CPU看vmx,AMD看svm
- 如果有输出(如
vmx或svm)说明支持虚拟化 - 若无输出需进入BIOS开启VT-x/AMD-V功能
2. 安装依赖工具
Ubuntu/Debian:
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system virt-manager bridge-utils
CentOS/RHEL:
sudo yum install qemu-kvm libvirt virt-install bridge-utils
3. 启动服务
sudo systemctl start libvirtd # 启动服务
sudo systemctl enable libvirtd # 开机自启
二、创建第一个虚拟机
方法1:图形界面(推荐新手)
- 安装图形工具:
sudo apt install virt-manager # Ubuntu sudo yum install virt-manager # CentOS - 打开
virt-manager,点击「新建虚拟机」 - 按向导选择:
- 操作系统类型:Linux
- 版本:Ubuntu/Windows等
- 内存:建议2GB+
- CPU:2核
- 磁盘:选择「创建新磁盘」,建议20GB
- 网络:选择「NAT」或「桥接网络」
方法2:命令行创建
sudo virt-install \
--name my-vm \ # 虚拟机名称
--ram 2048 \ # 内存(MB)
--vcpus 2 \ # CPU核心数
--disk path=/var/lib/libvirt/images/my-vm.qcow2,size=20 \ # 磁盘路径和大小
--os-type linux \ # 系统类型
--os-variant ubuntu20.04 \ # 系统版本(需提前安装对应包)
--network bridge=virbr0 \ # 网络模式
--graphics vnc \ # 图形界面协议
--cdrom /path/to/ubuntu.iso # 安装镜像路径
三、虚拟机管理
常用命令
virsh list --all # 查看所有虚拟机
virsh start my-vm # 启动虚拟机
virsh shutdown my-vm # 正常关机
virsh destroy my-vm # 强制关机(慎用)
virsh console my-vm # 连接控制台(需先安装virt-viewer)
网络配置
- NAT模式:虚拟机通过宿主机上网(默认)
- 桥接模式:虚拟机直接连接物理网络
sudo virsh net-define /usr/share/libvirt/networks/default.xml # 定义桥接网络 sudo virsh net-start default
四、磁盘管理
1. 创建磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/new-vm.qcow2 20G # 创建20GB qcow2格式磁盘
2. 扩容磁盘
qemu-img resize /var/lib/libvirt/images/my-vm.qcow2 +10G # 扩容10GB
五、常见问题
Q1:虚拟机无法启动
- 检查镜像路径是否正确
- 确认ISO文件未损坏
- 查看日志:
sudo tail -f /var/log/libvirt/qemu/my-vm.log
Q2:网络不通
- 检查防火墙设置:
sudo ufw allow 22/tcp # 开放SSH端口 sudo ufw reload - 确认虚拟机网络模式配置正确
六、进阶功能
快照管理
virsh snapshot-create-as my-vm # 创建快照
virsh snapshot-list my-vm # 查看快照列表
virsh snapshot-revert my-vm 20231021 # 恢复到指定快照
克隆虚拟机
virt-clone --original my-vm --name my-vm-clone --file /var/lib/libvirt/images/clone.qcow2
附:KVM架构示意图
graph TD
A[物理机] --> B[KVM内核模块]
B --> C[虚拟机监控器]
C --> D[虚拟CPU]
C --> E[虚拟内存]
C --> F[虚拟磁盘]
C --> G[虚拟网络]
D --> H[客户机OS]
E --> H
F --> H
G --> H