Linux KVM虚拟机快速安装指南

在Linux上安装KVM虚拟机需三步:1. 验证CPU支持虚拟化(egrep -c '(vmx|svm)' /proc/cpuinfo),2. 安装核心软件包:sudo apt install qemu-kvm libvirt-daemon-system virtinst bridge-utils,3. 启动并启用libvirtd服务:sudo systemctl start libvirtd && sudo systemctl enable libvirtd,最后使用virt-manager图形工具创建虚拟机。

在Linux系统上安装KVM虚拟机的完整指南

KVM(Kernel-based Virtual Machine)是Linux内核内置的全虚拟化解决方案,允许在物理主机上运行多个隔离的虚拟机,它性能高效、兼容性强,且完全开源,以下是详细的安装和配置步骤:

Linux KVM虚拟机快速安装指南


安装前的准备工作

  1. 检查CPU虚拟化支持
    运行命令验证CPU是否支持硬件虚拟化(输出结果需包含vmx(Intel)或svm(AMD)):

    egrep -c '(vmx|svm)' /proc/cpuinfo  # 返回值≥1表示支持

    或使用:

    lscpu | grep Virtualization
  2. 确认系统架构
    KVM仅支持64位主机:

    uname -m  # 需输出 x86_64
  3. 更新系统
    确保系统为最新状态:

    sudo apt update && sudo apt upgrade -y      # Ubuntu/Debian
    sudo dnf update -y                          # Fedora/CentOS/RHEL

安装KVM及相关组件

根据发行版选择命令:

  • Ubuntu/Debian:

    sudo apt install -y qemu-kvm libvirt-daemon-system virtinst bridge-utils virt-manager
  • Fedora/CentOS/RHEL:

    sudo dnf install -y qemu-kvm libvirt virt-install virt-viewer virt-manager
  • Arch Linux:

    sudo pacman -S qemu virt-manager virt-viewer ebtables dnsmasq

启动服务并配置权限

  1. 启动Libvirt服务

    Linux KVM虚拟机快速安装指南

    sudo systemctl enable --now libvirtd
  2. 将用户加入kvm和libvirt组

    sudo usermod -aG kvm,libvirt $(whoami)
    newgrp libvirt  # 立即生效组权限
  3. 验证安装

    virsh list --all       # 查看虚拟机列表(无报错即成功)
    kvm-ok                 # 检查KVM可用性(Ubuntu需安装cpu-checker)

创建虚拟机(两种方法)

方法1:使用图形界面(推荐新手)

  1. 打开虚拟系统管理器:
    virt-manager
  2. 点击”创建新虚拟机”,按向导选择ISO镜像、分配CPU/内存、设置磁盘大小(默认20GB)。

方法2:命令行创建(高效批量部署)

sudo virt-install 
  --name Ubuntu-Server 
  --ram 2048 
  --vcpus 2 
  --disk path=/var/lib/libvirt/images/ubuntu.qcow2,size=20 
  --os-variant ubuntu22.04 
  --network bridge=virbr0 
  --graphics spice 
  --console pty,target_type=serial 
  --cdrom /path/to/ubuntu-22.04.iso

网络配置(关键步骤)

默认NAT网络
虚拟机可通过主机上网,但外部无法直接访问虚拟机。

配置桥接网络(使虚拟机获得独立IP)

  1. 创建网桥br0

    sudo nmcli con add ifname br0 type bridge con-name br0
    sudo nmcli con add type bridge-slave ifname eth0 master br0  # eth0替换为实际网卡名
    sudo nmcli con up br0
  2. virt-manager中编辑虚拟机设置:

    • 选择网络源: Bridge br0
    • 设备模型: virtio

存储池管理

  1. 查看默认存储池

    Linux KVM虚拟机快速安装指南

    virsh pool-list
  2. 添加新存储池(例如添加/data目录)

    sudo virsh pool-define-as data dir - - - - "/data"
    sudo virsh pool-build data
    sudo virsh pool-start data
    sudo virsh pool-autostart data

虚拟机日常管理命令

功能 命令示例
启动虚拟机 virsh start vm-name
关闭虚拟机 virsh shutdown vm-name
强制停止 virsh destroy vm-name
删除虚拟机 virsh undefine vm-name
查看配置 virsh dumpxml vm-name
控制台连接 virsh console vm-name

常见问题解决

  • 错误: “权限被拒绝”
    运行sudo setenforce 0临时禁用SELinux,或调整策略规则。

  • 虚拟机无法上网
    检查防火墙规则:

    sudo firewall-cmd --add-service=dhcp --permanent  # Fedora/CentOS
    sudo ufw allow out on virbr0                      # Ubuntu
  • 性能优化建议

    • 启用CPU模式host-passthrough:在虚拟机XML中添加:
      <cpu mode='host-passthrough'/>
    • 使用virtio磁盘驱动提升I/O性能。

KVM是Linux平台高效稳定的虚拟化方案,通过本指南您已完成从安装到创建虚拟机的全过程,结合virt-manager图形工具和命令行管理,可灵活应对开发测试、生产部署等场景,定期备份虚拟机配置文件(位于/etc/libvirt/qemu/)可防止意外丢失。

引用说明: 参考Linux内核官方文档(kernel.org)、Libvirt项目文档(libvirt.org)及QEMU社区最佳实践,配置命令已通过Ubuntu 22.04 LTS、CentOS 9和Fedora 38验证。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/47844.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月6日 21:27
下一篇 2025年7月6日 21:39

相关推荐

  • Linux下如何快速使用Python?

    在Linux系统中,Python通常预装或可通过包管理器安装(如apt install python3),终端输入python3启动交互环境,或执行python3 脚本.py运行文件,支持pip管理库,结合文本编辑器(如VSCode)高效开发。

    2025年6月21日
    100
  • 如何查看linux隐藏文件

    Linux中,可使用ls -a命令查看隐藏文件。

    2025年7月13日
    000
  • Linux小白如何快速上手?

    Linux入门首先选择易用发行版如Ubuntu,通过虚拟机或双系统安装,重点掌握常用终端命令、文件系统操作及权限管理,善用man手册和在线文档,结合实践逐步提升。

    2025年6月3日
    300
  • Linux如何定时自动执行脚本

    在Linux中,定时执行脚本主要通过cron服务实现,用户使用crontab命令编辑任务计划,按分钟、小时、日期等周期设置脚本执行时间,也可用at命令安排单次任务。

    2025年6月23日
    100
  • Linux怎么彻底卸载Node.js?

    在Linux中卸载Node.js,请使用包管理器命令: ,1. **Ubuntu/Debian**: sudo apt purge nodejs npm ,2. **Fedora/RHEL**: sudo dnf remove nodejs npm ,3. **Arch**: sudo pacman -R nodejs npm ,完成后删除残留配置和全局模块:rm -rf ~/.npm ~/.node ~/.node-gyp

    2025年6月14日
    500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN