概述
WebVirtMgr采用Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的管理操作变的更加的可视化。WebVirtMgr操作简单,易于使用,通过libvirt的API接口对kvm进行管理,提供对虚拟机生命周期管理。
WebVirtMgr 功能
宿主机管理支持功能
- CPU利用率
- 内存利用率
- 网络资源池管理
- 存储资源池管理
- 虚拟机镜像
- 虚拟机克隆
- 快照管理
- 日志管理
- 虚机迁移
虚拟机管理支持功能
- CPU利用率
- 内存利用率
- 光盘管理
- 关/开/暂停虚拟机
- 安装虚拟机
- VNC console连接
- 创建快照
webvirtmgr官方文档
https://github.com/retspen/webvirtmgr
Docker 安装 webvirtmgr
(1)拉取镜像
代码语言:javascript复制docker pull primiano/docker-webvirtmgr
(2) 创建webvirtmgr用户和组
uid和guid必须为1010和容器内保持一致
代码语言:javascript复制sudo groupadd -g 1010 webvirtmgr
sudo useradd -u 1010 -g webvirtmgr -s /sbin/nologin -d /data/vm webvirtmgr
mkdir -p /data/vm
sudo chown -R webvirtmgr:webvirtmgr /data/vm
(3)运行容器
代码语言:javascript复制docker run -d -p 8080:8080 -p 6080:6080
--name webvirtmgr -v /data/vm:/data/vm primiano/docker-webvirtmgr
(4)进入容器,修改配置
代码语言:javascript复制docker exec -it webvirtmgr /bin/bash
修改后才能用noVNC连接
代码语言:javascript复制sed -i 's/172.17.42.1/0.0.0.0/g' /webvirtmgr/vrtManager/create.py
libvirtd 宿主机配置
(1)/etc/libvirt/libvirtd.conf配置文件
代码语言:javascript复制vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
listen_addr = "0.0.0.0"
unix_sock_group = "libvirtd"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
auth_tls = "none"
(2)/etc/libvirt/qemu.conf 配置文件
代码语言:javascript复制vim /etc/libvirt/qemu.conf
# This is obsolete. Listen addr specified in VM xml.
# vnc_listen = "0.0.0.0"
vnc_tls = 0
# vnc_password = ""
(3)重启libvirtd服务
代码语言:javascript复制systemctl restart libvirtd
配置webvirtmgr
(1)登录到webvirtmgr容器中,修改admin用户密码
初始密码为:admin/1234
代码语言:javascript复制cd /webvirtmgr
python manage.py changepassword admin
(2)切换至webvirtmgr用户
代码语言:javascript复制su - webvirtmgr -s /bin/bash
(3)在webvirtmgr用户下,创建ssh免密登录
ssh-keygen生成“id_rsa”和“id_rsa.pub”的文件
代码语言:javascript复制cd ~
ssh-keygen -t rsa -b 4096 -f id_rsa -C kvm -N "" -q
chmod 600 id_rsa
(4)copy id_rsa.pub到目标宿主机
代码语言:javascript复制ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.234
登录webvirtmgr
访问http://192.168.100.234:8080
输入用户密码即可
(1)Add Connection
(2)纳管KVM 宿主机
(3)查看KVM宿主机运行虚拟机
(4)访问虚拟机控制台
(5)虚拟机快照
(5)虚拟机列表