Kylin Linux Advanced Server V10 离线部署 KVM + Web 可视化管理
整体方案
| 组件 | 软件包 | 说明 |
|---|---|---|
| 虚拟化内核 | qemu-kvm、qemu-img | KVM 核心 |
| 虚拟化管理 | libvirt、libvirt-client、virt-install | 虚拟机生命周期管理 |
| 桥接网络 | bridge-utils、iproute | 虚拟机网络 |
| Web 可视化 | cockpit + cockpit-machines | 浏览器管理界面(推荐) |
| 本地图形(可选) | virt-manager | 有桌面环境时使用 |
一、离线包准备(在同版本有网机器上操作)
找一台相同 Kylin V10 版本的联网机器(或虚拟机),下载全部依赖包:
# 创建包存放目录
mkdir -p /opt/kvm-offline
# 下载 KVM + Cockpit 全部依赖(不安装)
yum install --downloadonly --downloaddir=/opt/kvm-offline \
qemu-kvm \
qemu-kvm-tools \
qemu-img \
libvirt \
libvirt-client \
libvirt-python \
virt-install \
bridge-utils \
iproute \
cockpit \
cockpit-machines \
cockpit-networkmanager \
cockpit-storaged \
cockpit-packagekit \
virt-viewer
如果
--downloadonly报错(缺少插件),先执行:yum install yum-plugin-downloadonly
下载完成后,将整个 /opt/kvm-offline 目录打包拷到目标离线服务器:
tar czf kvm-offline.tar.gz -C /opt kvm-offline
# 拷贝到目标机器后解压
tar xzf kvm-offline.tar.gz -C /opt
二、目标服务器环境检查
# 1. 检查 CPU 是否支持虚拟化(vmx 或 svm 必须有输出)
egrep -c '(vmx|svm)' /proc/cpuinfo
# 2. 检查 KVM 模块是否加载(BIOS 需开启 VT-x/AMD-V)
lsmod | grep kvm
# 3. 查看系统版本
cat /etc/kylin-build
# 或
cat /etc/os-release
如果 egrep 返回 0,需要进 BIOS 开启虚拟化(Intel VT-x / AMD-V)。
三、配置本地离线 YUM 源
# 1. 挂载 Kylin V10 安装 ISO(如果有)
mkdir -p /mnt/kylin-iso
mount -o loop Kylin-Server-10.iso /mnt/kylin-iso
# 2. 备份原有源
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
# 3. 创建本地 ISO 源
cat > /etc/yum.repos.d/local-iso.repo << 'EOF'
[local-iso]
name=Kylin V10 Local ISO
baseurl=file:///mnt/kylin-iso
enabled=1
gpgcheck=0
EOF
# 4. 创建离线 KVM 包源
cat > /etc/yum.repos.d/kvm-offline.repo << 'EOF'
[kvm-offline]
name=KVM Offline Packages
baseurl=file:///opt/kvm-offline
enabled=1
gpgcheck=0
EOF
# 5. 清理缓存并重建
yum clean all
yum makecache
如果没有 ISO,仅靠
/opt/kvm-offline目录即可,createrepo生成元数据:yum install createrepo cd /opt/kvm-offline && createrepo .
四、安装 KVM 核心组件
# 安装 KVM 和管理工具
yum install -y qemu-kvm qemu-img libvirt libvirt-client virt-install bridge-utils
# 启动 libvirtd 并设置开机自启
systemctl start libvirtd
systemctl enable libvirtd
# 验证安装
virsh --version
virsh list --all
五、安装 Cockpit Web 可视化管理界面
# 安装 Cockpit 及虚拟机管理插件
yum install -y cockpit cockpit-machines cockpit-networkmanager cockpit-storaged
# 启动 Cockpit
systemctl start cockpit.socket
systemctl enable cockpit.socket
# 防火墙开放 9090 端口
firewall-cmd --permanent --add-port=9090/tcp
firewall-cmd --reload
Cockpit 默认监听 9090 端口,浏览器访问:
https://服务器IP:9090
使用 root 或本地系统用户 登录即可。左侧菜单点 "虚拟机"(Virtual Machines) 即可:
- 创建/启动/停止/删除虚拟机
- 查看 VNC 控制台
- 分配 CPU、内存、磁盘、网卡
- 配置虚拟网络和存储池
六、配置桥接网络(让虚拟机和物理机同网段)
如果需要虚拟机和局域网其他机器互通,配置桥接网卡:
# 编辑物理网卡配置(假设网卡名为 eth0,用 ip addr 确认)
nmcli connection show
# 创建桥接接口
nmcli connection add type bridge con-name br0 ifname br0
# 将物理网卡加入桥接
nmcli connection add type bridge-slave con-name br0-port1 ifname eth0 master br0
# 配置 br0 的 IP(根据实际网络修改)
nmcli connection modify br0 ipv4.method manual \
ipv4.addresses 192.168.1.10/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 192.168.1.1
# 关闭原物理网卡的自动连接,激活桥接
nmcli connection down eth0
nmcli connection up br0
如果服务器是远程管理,操作 NetworkManager 时务必小心,建议带外管理口操作,避免网络中断。
七、创建虚拟机(两种方式)
方式一:Cockpit Web 界面(推荐)
- 浏览器打开
https://服务器IP:9090 - 左侧点 虚拟机 → 创建虚拟机
- 选择安装介质(上传 ISO 或指定路径)
- 分配 CPU、内存、磁盘
- 网络选择 br0(桥接)或默认 NAT 网络
- 点击创建,在 Web 控制台中安装系统
方式二:命令行创建
# 上传操作系统 ISO 到服务器 /var/lib/libvirt/images/
# 创建虚拟机示例(2核/4G/40G 磁盘)
virt-install \
--name kylin-vm01 \
--ram 4096 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/kylin-vm01.qcow2,size=40,format=qcow2 \
--cdrom /var/lib/libvirt/images/Kylin-Server-10.iso \
--network bridge=br0 \
--graphics vnc,listen=0.0.0.0,port=5901 \
--os-type linux \
--os-variant kylin10
八、验证清单
# KVM 模块
lsmod | grep kvm
# libvirt 状态
systemctl status libvirtd
# Cockpit 状态
systemctl status cockpit.socket
# 虚拟网络
virsh net-list --all
# 存储池
virsh pool-list --all
# 查看现有虚拟机
virsh list --all
常见问题
| 问题 | 解决 |
|---|---|
virsh list 报 permission denied |
当前用户加入 libvirt 组:usermod -aG libvirt root,重新登录 |
| Cockpit 打开后无"虚拟机"菜单 | yum install cockpit-machines,确认已安装 |
| Web 控制台黑屏 | 确认 qemu-kvm-common 已装,且 --graphics vnc 配置正确 |
| 离线包缺依赖 | 在有网机器上 yum deplist 包名 查看完整依赖链,或直接同步整个 base 源 |
| 虚拟机无法上网 | NAT 模式检查 virsh net-start default;桥接模式检查 br0 配置 |
需要我补充某个具体环节(比如 ISO 源完整同步脚本、Cockpit 权限配置、或批量虚拟机创建)随时说。
No comments to display
No comments to display