最近想给自己的服务器装个 Web 控制台,方便管理虚拟机。踩了一些坑之后,总结出一套干净的安装流程,分享给大家。

第一步:验证硬件是否支持虚拟化

在开始之前,一定要先确认你的 CPU 支持虚拟化,否则后面装一堆东西发现用不了就尴尬了。

# 检查 CPU 是否支持硬件虚拟化
grep -E 'vmx|svm' /proc/cpuinfo

如果有输出(看到 vmxsvm),说明支持。如果没有任何输出,说明你的 CPU 不支持硬件虚拟化,KVM 就用不了了。 再检查一下 KVM 模块是否加载:

kvm-ok

如果提示命令不存在,先装一下:

apt install cpu-checker -y

正常输出应该是:

INFO: /dev/kvm exists
KVM acceleration can be used

如果显示 KVM acceleration can NOT be used,可能是 BIOS 里没开启虚拟化,去 BIOS 设置里找找 Intel VT-xAMD-V 选项开启一下。

第二步:清理旧环境(如果之前装过)

如果你之前尝试装过 Cockpit 或其他虚拟化组件,建议先清理干净再重新安装,避免残留配置导致奇怪的问题。

# 停止服务
systemctl stop cockpit.socket 2>/dev/null
systemctl stop cockpit 2>/dev/null
# 卸载所有 Cockpit 相关包
apt purge 'cockpit*' -y
# 清理依赖
apt autoremove -y
# 删除残留配置和数据
rm -rf /etc/cockpit
rm -rf /var/lib/cockpit
rm -rf /usr/share/cockpit
# 更新软件源
apt update

执行完这些,系统就很干净了,可以重新开始安装。

第三步:安装 Cockpit Web 控制台

推荐从 backports 源安装新版本,功能更完善:

# 安装核心组件
apt install -t noble-backports cockpit cockpit-storaged cockpit-networkmanager -y

如果你是 Debian 或其他 Ubuntu 版本,backports 源名称可能不同,根据实际情况调整。 安装完成后,Cockpit 会自动启用 socket 服务。检查一下状态:

systemctl status cockpit.socket

看到 active (listening) 就说明服务已经跑起来了。 然后打开浏览器访问:

http://你的服务器IP:9090

用 root 账号登录即可看到控制台界面。

第四步:安装 KVM 虚拟化组件

装完 Web 控制台,接下来安装虚拟化底层支持:

# 安装 KVM 和 libvirt
apt install qemu-kvm libvirt-daemon-system libvirt-clients virtinst -y
# 启动 libvirtd 服务
systemctl enable --now libvirtd
# 安装 Cockpit 虚拟机管理模块
apt install -t noble-backports cockpit-machines -y

安装完成后,刷新 Cockpit 页面,就能看到「虚拟机」选项卡了。

第五步:验证虚拟化是否正常工作

最后验证一下 KVM 是否可用:

# 检查 libvirtd 状态
systemctl status libvirtd
# 查看虚拟化能力
virsh capabilities | grep -i kvm

如果输出里有 kvm 相关信息,说明一切正常,可以开始创建虚拟机了。

常用命令速查

# 查看 Cockpit 服务状态
systemctl status cockpit.socket
# 查看所有虚拟机
virsh list --all
# 启动虚拟机
virsh start 虚拟机名称
# 关闭虚拟机
virsh shutdown 虚拟机名称
# 查看虚拟机详细信息
virsh dominfo 虚拟机名称

小结

整个流程其实就几步:

  1. 验证 CPU 虚拟化支持
  2. 清理旧环境
  3. 安装 Cockpit 控制台
  4. 安装 KVM 虚拟化组件
  5. 验证服务正常 这套方案在 Ubuntu 24.04 (Noble) 上测试通过,Debian 的流程基本类似。有了这个 Web 控制台,管理服务器和虚拟机就方便多了。