← 返回面板

K各 Linux 系统宿主机安装 KVM 指南

覆盖 CentOS / RHEL / Ubuntu / Debian / Rocky / AlmaLinux / openEuler / TencentOS · 与云控台对接的前置要求
①安装前检查(所有系统通用)

1. CPU 虚拟化是否开启

检查 CPU 虚拟化指令集(vmx=Intel / svm=AMD)
grep -E -c '(vmx|svm)' /proc/cpuinfo
# 结果 >= 1 表示 CPU 支持且 BIOS 已开启;结果为 0 需进 BIOS 开启 VT-x / AMD-V
lsmod | grep kvm          # 查看 kvm 内核模块是否加载
注意:如果在云服务器 / 部分 VPS 上,CPU 可能未透传虚拟化指令集,KVM 无法使用,需改选 Xen / LXC 或联系服务商开启嵌套虚拟化。

2. 系统要求

  • 64 位 Linux(x86_64 / aarch64)
  • 内存 ≥ 2GB(建议 4GB+,虚拟机数量越多需求越大)
  • 磁盘 ≥ 20GB(虚拟机磁盘 + 系统镜像预留)
  • 本面板要求:宿主机支持 SSH root 登录(或可 sudo),并开放 SSH 端口
②CentOS 7 / RHEL 7(yum)
CentOS 7 / RHEL 7 一键安装
# 安装 KVM 相关组件(官方源或阿里源)
yum install -y qemu-kvm libvirt libvirt-client virt-install bridge-utils

# 启动并设置开机自启 libvirtd
systemctl enable --now libvirtd

# 验证
systemctl status libvirtd --no-pager | head -5
virsh list --all
提示:CentOS 7 官方源已停止维护,建议先更换为阿里云镜像源再安装(若 yum 报 404 / 无法解析)。
③CentOS 8/9 / RHEL 8/9(dnf + virt 模块)
CentOS 8/9 · RHEL 8/9 安装
# 启用虚拟化模块并安装
dnf module enable -y virt
dnf install -y qemu-kvm libvirt virt-install bridge-utils

systemctl enable --now libvirtd
virsh list --all
提示:RHEL 9 使用 dnf install -y qemu-kvm libvirt virt-install 即可;CentOS Stream 同理。
④Ubuntu / Debian(apt)
Ubuntu 18.04+ / Debian 10+ 安装
apt update

# Ubuntu
apt install -y qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils
# Debian(软件包名略有不同)
apt install -y qemu-kvm libvirt-daemon-system virtinst bridge-utils

# 检查 KVM 是否可用(Ubuntu 特有工具)
apt install -y cpu-checker && kvm-ok

systemctl enable --now libvirtd
# 当前用户加入 libvirt 组(可选,免 sudo 用 virsh)
usermod -aG libvirt $(whoami)

virsh list --all
⑤Rocky Linux / AlmaLinux(dnf + virt 模块)
Rocky 8/9 · AlmaLinux 8/9 安装
dnf module enable -y virt
dnf install -y qemu-kvm libvirt virt-install bridge-utils

systemctl enable --now libvirtd
virsh list --all
提示:Rocky / AlmaLinux 是 CentOS 停更后的主流替代,命令与 CentOS 8/9 完全一致。
⑥openEuler(欧拉)
openEuler 20.03 LTS 及以上
# 欧拉软件包名为 qemu(含 KVM),部分版本包名 qemu-kvm
dnf install -y qemu libvirt virt-install bridge-utils
# 若提示找不到 qemu,可尝试:
dnf install -y qemu-kvm libvirt virt-install

systemctl enable --now libvirtd
virsh list --all
注意:openEuler 的包名在不同小版本有差异(qemu / qemu-kvm),按提示选择即可。
⑦TencentOS Server(腾讯云)
TencentOS Server 2.4 / 3.1
# 与 CentOS 7/8 同源(rpm 系),直接用 yum/dnf 安装
yum install -y qemu-kvm libvirt virt-install bridge-utils
# 或
dnf install -y qemu-kvm libvirt virt-install

systemctl enable --now libvirtd
virsh list --all
提示:TencentOS Server 3.1 兼容 CentOS 8 生态,包管理用 dnf。
⑧安装后验证(通用)
验证 KVM 环境
systemctl status libvirtd --no-pager | head -8   # libvirtd 应为 active (running)
virsh version                                   # 显示 libvirt / QEMU 版本
virsh list --all                                # 虚拟机列表(刚装完为空)
virsh net-list --all                            # 默认 NAT 网络 virbr0
lsmod | grep kvm                                # kvm_intel / kvm_amd 已加载
qemu-kvm --version 2>/dev/null || qemu-img --version | head -1   # QEMU 可用
面板对接检查清单:
  • libvirtd 已运行(systemctl is-active libvirtd 输出 active)
  • SSH root 可登录(本面板通过 SSH 执行 virsh / qemu-img 命令)
  • 镜像存储目录可写(默认 /var/lib/libvirt/images)
⑨网络配置

方案 A:默认 NAT 网络(virbr0,开箱即用)

启用默认 NAT
virsh net-start default    # 启动默认网络(未自动启动时)
virsh net-autostart default
virsh net-list --all

方案 B:桥接网络(br0,虚拟机与宿主机同网段)

CentOS/RHEL 系列创建桥接(示例 eth0 → br0)
# 1. 创建桥接配置文件
cat > /etc/sysconfig/network-scripts/ifcfg-br0 <<'EOF'
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.80.102      # 改成宿主机 IP
NETMASK=255.255.255.0
GATEWAY=192.168.80.1
DNS1=114.114.114.114
ONBOOT=yes
EOF

# 2. 物理网卡改为桥接从属
# /etc/sysconfig/network-scripts/ifcfg-eth0 内容改为:
#   DEVICE=eth0  /  TYPE=Ethernet  /  BRIDGE=br0  /  ONBOOT=yes
# (原 IP/网关配置全部移到 br0 上)

# 3. 重启网络
systemctl restart network
ip a | grep -A3 br0
Ubuntu/Debian(netplan)创建桥接
# /etc/netplan/99-bridge.yaml
network:
  ethernets:
    eth0:
      dhcp4: false
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: false
      addresses: [192.168.80.102/24]   # 改成宿主机 IP
      routes: [{ to: default, via: 192.168.80.1 }]
      nameservers: { addresses: [114.114.114.114] }

netplan apply
ip a | grep -A3 br0
⑩VNC / 防火墙放行(面板远程控制台必需)

面板的「VNC 远程控制台」通过 5900-5999 端口连接虚拟机显示,宿主机必须放行该端口段:

firewalld(CentOS/RHEL/Rocky/Alma/openEuler/TencentOS)
firewall-cmd --permanent --add-port=5900-5999/tcp
firewall-cmd --reload
firewall-cmd --list-ports
ufw(Ubuntu/Debian)
ufw allow 5900:5999/tcp
ufw reload
ufw status
iptables(无 firewalld 时)
iptables -I INPUT -p tcp --dport 5900:5999 -j ACCEPT
service iptables save 2>/dev/null || true
排查技巧:面板连不上 VNC 时,在宿主机执行 ss -tln | grep 59 确认 5900 监听;从面板服务器执行 timeout 5 bash -c 'exec 3<>/dev/tcp/<宿主IP>/5900; head -c 12 <&3' | xxd,看到 RFB 003.008 即 VNC 服务正常。
⑪qcow2 基础镜像下载(官方源)
系统官方镜像源说明
Ubuntu Cloudhttps://cloud-images.ubuntu.com/各 LTS 版本 qcow2,选 *-cloudimg-amd64.img
Debian Cloudhttps://cloud.debian.org/images/cloud/选 generic 目录下 qcow2
CentOS 7 Cloudhttps://cloud.centos.org/centos/7/images/CentOS 7 官方 cloud 镜像
Rocky Linuxhttps://dl.rockylinux.org/pub/rocky/路径含 …/images/ 的 qcow2
AlmaLinuxhttps://repo.almalinux.org/almalinux/cloud 目录下 qcow2
openEulerhttps://repo.openeuler.org/路径含 virtual.x86_64 的 qcow2
TencentOShttps://mirrors.cloud.tencent.com/tencentos/腾讯云镜像站
下载示例(Ubuntu 22.04 cloud 镜像)
cd /var/lib/libvirt/images
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
qemu-img info jammy-server-cloudimg-amd64.img    # 确认格式为 qcow2
提示:下载完成后,在面板「镜像仓库」页面点击「刷新」即可看到;创建虚拟机时选择该镜像作为基础磁盘。cloud 镜像默认不设密码,面板会用 cloud-init 种子注入 root 密码 / IP。
⑫virt-install 命令行快速建机(不依赖面板)
virt-install 创建示例
# 基于 qcow2 基础镜像创建(后台安装,VNC :1 = 5901 端口)
virt-install \
  --name vmtest \
  --vcpus 2 --memory 2048 \
  --disk /var/lib/libvirt/images/vmtest.qcow2,format=qcow2,bus=virtio \
  --network network=default,model=virtio \
  --graphics vnc,listen=0.0.0.0,port=5901 \
  --noautoconsole \
  --os-variant centos7.0

# 使用 ISO 全新安装(挂光驱,boot 优先)
virt-install \
  --name vmiso \
  --vcpus 2 --memory 2048 \
  --disk /var/lib/libvirt/images/vmiso.qcow2,size=20,format=qcow2 \
  --cdrom /var/lib/libvirt/images/CentOS-7-x86_64-Minimal-2009.iso \
  --os-variant centos7.0 \
  --graphics vnc,listen=0.0.0.0,port=5902

virsh list --all
提示:VNC 端口从 5900 起依次 +1(display :0 → 5900,:1 → 5901…)。面板内「创建虚拟机」「转 qcow2 安装」已自动完成以上操作。