Debian使用kvm+qemu+cockpit搭建带有webui的虚拟机管理系统
目录
背景⌗
在自己的nas上安装了纯debian系统,向拥有媲美pve的虚拟机管理流程但同时又不想重装一遍系统,故而经过一番搜索,发现目前主流的linux系虚拟机管理基本都是kvm+qemu。但这同时带来一个新的问题,我目前使用的是非gui版本的系统,同时由于mobaxterm的卡顿只能忍痛割爱其X-server功能转为termius,因此我并不能使用传统的vir-manager对虚拟机进行创建、管理等等。在搜索后发现同样由redhat出品的cockpit
webui管理端,借助websocket等技术,完美实现了对物理机的闭环管理以及虚拟机的管理。
软件介绍⌗
- kvm
- qemu
- cockpit
操作步骤⌗
得益于kvm等等一干软件的开发团队以及巨大用户量,上述三个软件的安装非常简单,
yum/apt/...
等主流发行版的包管理器均内置了其完整的安装包;这里以debian为例
安装kvm+qemu⌗
Step-1:检查设备是都支持虚拟化技术⌗
- 执行
- 当输出大于0则支持
egrep -c '(vmx|svm)' /proc/cpuinfo
- 执行
kvm-ok
- 当输出如下则支持内核级虚拟化,若找不到命令则安装
apt install cpu-checker
INFO: /dev/kvm exists KVM acceleration can be used
- 当输出如下则支持内核级虚拟化,若找不到命令则安装
Step-2:安装KVM+qemu⌗
- 执行下列命令
apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
- 软件概述
- **qemu:**允许进行硬件级虚拟化
- qemu-kvm:kvm主程序,现已经更名为qemu-system-x86
- **libvritd-daemon:**虚拟化守护程序
- **bridge-utils:**虚拟网桥支持
- **virt-manager:**基于x-server的虚拟机gui管理(本过程中非必须,但是最好装)
Step-3:修改qemu运行权限,避免后期的虚拟机权限问题⌗
- 使用你喜欢的编辑器编辑
/etc/libvirt/qemu.conf
- 取消下列字段的注释
# Some examples of valid values are:
#
# user = "qemu" # A user named "qemu"
# user = "+0" # Super user (uid=0)
# user = "100" # A user named "100" or a user with uid=100
#
user = "root"
# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
group = "root"
- 重启虚拟化服务
systemctl restart libvirtd
Step-4:创建虚拟网桥,方便后面创建的虚拟机直通路由,而非走宿主机的NAT⌗
- 查看系统内网络
ip a
- 确保没有
br0
,以及记录当前的物理网卡(拿到真的路由分配地址的那个)是哪个,这里假定enp2s0
- 使用你喜欢的编辑器编辑
/etc/network/interfaces
- 添加下列字段
# The kvm bridge
auto br0
iface br0 inet dhcp
bridge_ports enp2s0
bridge_stp off
bridge_fd 0
- 重启网络服务,这里会导致ssh断链、ip地址重新获取等意外事件,不要惊慌
Step-5:安装cockpit⌗
- 执行
apt install cockpit
- 为了让cockpit支持虚拟机管理,需要安装插件
apt install cockpit-machines
- 启动cockpit并开启开机自启
systemctl start cockpit && systemctl enable cockpit
Step-6:访问cockpit⌗
- cockpit默认监听
https://<host-ip>:9090
- 使用系统内任意账户登录
Step-7:享受现代科技⌗
- cockpit提供了非常多可视化的linux设备管理,并且易于使用
- 后面如果有机会或者有难踩的坑的话或许会新开一篇单独对cockpit的虚拟机管理进行介绍
Read other posts