上一篇                     
               
			  Linux安装KVM虚拟机教程?
- Linux
- 2025-07-06
- 3143
 安装KVM需确保CPU支持虚拟化,安装
 
 
qemu-kvm、
 libvirt等包,启用
 libvirtd服务,配置网络桥接(如
 br0),最后使用
 virt-manager图形工具或
 virt-install命令创建虚拟机即可。
在Linux系统上安装KVM虚拟机的完整指南
KVM(Kernel-based Virtual Machine)是Linux内核原生支持的虚拟化技术,允许您直接在Linux主机上创建和管理虚拟机,它性能高效、资源占用低,是企业级应用和个人开发的理想选择,以下是详细的安装与配置步骤:
安装前的准备工作
-  检查CPU虚拟化支持 
 运行命令验证CPU是否支持虚拟化(输出结果需包含vmx(Intel)或svm(AMD)):egrep -c '(vmx|svm)' /proc/cpuinfo # 返回值≥1表示支持 若返回0,需进入BIOS启用虚拟化(通常在 Advanced > CPU Configuration中开启Intel VT-x/AMD-V)。
-  确认系统兼容性 - 操作系统:Ubuntu 18.04+/CentOS 7+ 等主流发行版
- 内核要求:Linux kernel 2.6.20+
 
安装KVM及相关组件
Ubuntu/Debian 系统:
sudo apt update sudo apt install -y qemu-kvm libvirt-daemon-system virtinst bridge-utils virt-manager
CentOS/RHEL 系统:
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils virt-manager
关键组件说明:

- qemu-kvm:提供虚拟化核心功能
- libvirt:管理虚拟机的守护进程和API
- virt-manager:图形化管理工具(可选)
- bridge-utils:配置网络桥接
启动服务并设置自启
sudo systemctl start libvirtd sudo systemctl enable libvirtd
验证服务状态:
sudo systemctl status libvirtd # 显示"active (running)"表示成功
配置网络桥接(推荐)
默认NAT网络无法从外部访问虚拟机,桥接模式可使虚拟机获得独立IP:
- 创建桥接接口
 编辑网络配置(以Ubuntu为例):sudo nano /etc/netplan/01-netcfg.yaml 添加桥接配置(示例): network: version: 2 ethernets: enp3s0: # 主机物理网卡名称 dhcp4: no bridges: br0: interfaces: [enp3s0] dhcp4: yes parameters: stp: false
- 应用配置: sudo netplan apply 
创建虚拟机
方法1:使用命令行(无图形界面)

sudo virt-install --name Ubuntu22 --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/ubuntu22.qcow2,size=20 --os-variant ubuntu22.04 --network bridge=br0 --graphics none --console pty,target_type=serial --location http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/ --extra-args="console=ttyS0"
方法2:使用图形界面(推荐新手)
- 启动Virt-Manager: sudo virt-manager 
- 点击”创建新虚拟机”,按向导选择ISO镜像、分配CPU/内存、配置存储和网络。
虚拟机管理命令
| 操作 | 命令 | 
|---|---|
| 启动虚拟机 | virsh start VM_name | 
| 关闭虚拟机 | virsh shutdown VM_name | 
| 强制停止 | virsh destroy VM_name | 
| 删除虚拟机 | virsh undefine VM_name | 
| 列出所有VM | virsh list --all | 
| 控制台连接 | virsh console VM_name | 
安全性与权限设置
- 避免使用root运行
 将用户加入libvirt和kvm组:sudo usermod -aG libvirt,kvm $USER 
- 启用防火墙规则
 允许KVM通信(CentOS示例):sudo firewall-cmd --add-service={dhcp,dns,vnc-server} --permanent sudo firewall-cmd --reload
常见问题解决
-  错误:权限被拒绝 
 运行sudo setfacl -m u:$USER:rw /var/lib/libvirt/images赋予存储目录权限。
-  虚拟机卡住无响应 
 检查是否启用嵌套虚拟化: cat /sys/module/kvm_intel/parameters/nested # 输出Y表示启用 未启用时加载内核模块: echo "options kvm-intel nested=Y" | sudo tee /etc/modprobe.d/kvm.conf 
-  网络桥接失效 
 重启NetworkManager服务:sudo systemctl restart NetworkManager 
性能优化建议
- 启用KSM内存共享 echo 100 | sudo tee /sys/kernel/mm/ksm/pages_to_scan # 提高内存利用率 
- 使用VirtIO驱动
 在虚拟机设置中选择VirtIO磁盘和网络接口,提升I/O性能。
- CPU绑定
 通过virsh vcpupin将vCPU绑定到物理核心,减少调度开销。
KVM为Linux提供了企业级的虚拟化能力,结合命令行工具与图形界面,可灵活管理各类工作负载,完成安装后,建议:
- 定期更新系统:sudo apt upgrade或sudo yum update
- 备份虚拟机镜像:复制/var/lib/libvirt/images/下的磁盘文件
- 探索高级功能:快照管理、虚拟网络隔离、GPU直通等
引用说明 参考以下权威来源:
- Linux内核官方文档:https://www.kernel.org/doc/html/latest/virt/kvm/
- Libvirt项目指南:https://libvirt.org/docs.html
- Ubuntu KVM社区教程:https://help.ubuntu.com/community/KVM
- Red Hat虚拟化手册:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_virtualization/
 
  
			