KVM在centos上离线安装
🧭 一、准备前提
在要安装 KVM 的服务器上先确认硬件是否支持虚拟化:
egrep -c '(vmx|svm)' /proc/cpuinfo
返回结果大于 0 表示支持。
再确认内核模块支持:
lsmod | grep kvm
有 kvm_intel 或 kvm_amd 就说明内核支持。
💿 二、准备离线安装包
因为你是内网环境,所以必须 提前在一台有网的服务器上打包所有 KVM 依赖包。
在一台联网的相同版本系统(例如同样的 Kylin V10 / CentOS 7)上执行:
rpm下载地址:夸克盘 | 百度盘
yum install --downloadonly --downloaddir=/root/kvm-offline qemu-kvm qemu-img virt-manager libvirt libvirt-client bridge-utils virt-install

然后会在 /root/kvm-offline/ 目录生成一堆 .rpm 包。
打包带走:
cd /root
tar czvf kvm-offline-packages.tar.gz kvm-offline/
拷贝到离线服务器(例如 /opt/iso/)。
📦 三、在离线服务器上安装 KVM
1️⃣ 解压包:
cd /opt/iso/
tar xzvf kvm-offline-packages.tar.gz
cd kvm-offline/
2️⃣ 本地安装:
yum localinstall -y *.rpm
⚠️ 如果报依赖错误,使用:
yum install -y *.rpm --skip-broken
🧰 四、验证安装是否成功
lsmod | grep kvm
systemctl enable --now libvirtd
virsh list --all
输出类似:
Id Name State
--------------------
说明成功。
🌉 五、配置网络桥接(可选)
编辑 /etc/sysconfig/network-scripts/ifcfg-br0:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
在原网卡文件(如 ifcfg-ens33)中加入:
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
然后重启网络:
systemctl restart network
💡 六、图形管理工具(可选)
如果你是图形界面系统,可以用:
virt-manager
离线系统没有图形桌面也没关系,可以用命令行创建虚机:
virt-install --name testvm --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/testvm.img,size=20 --cdrom /opt/iso/CentOS-7-x86_64-DVD.iso --os-variant centos7
✅ 七、安装完成后检查
virsh net-list
virsh list --all
如果看到默认网络(default active yes)说明虚拟化网络 OK。
📘 八、总结
| 项目 | 说明 |
|---|---|
| 核心软件包 | qemu-kvm, libvirt, virt-install, bridge-utils |
| 服务启动命令 | systemctl start libvirtd |
| 管理命令 | virsh, virt-install, virt-manager |
| 离线安装关键 | yum --downloadonly + localinstall |
| 建议 | 可单独打包成 ISO,供多台服务器使用 |
