1. 问题a virt-manager管理kvm需要接入显示屏或搭建vnc或开启xming转发
问题b virt-manager纳管其他kvm后,重启kvm后需要重新纳管,且无法便捷的创建存储池。
问题c 基于centos8/stream系统环境
2.解决方法 部署weblibvirt
3. 部署方法,裸机部署;基于docker部署(部署简单,迁移便捷)
4. docker镜像选择
通过docker search weblibvirt获取镜像源。比较后选取unws/webvirtmgr(基于centos7.2, 可通过docker传参,镜像源最多星,截止目前。)
5. 执行命令与注释
docker search webvirtmgr
docker pull odivlad/webvirtmgr &
groupadd -g 1010 webvirtmgr
#创建weblibvirt账户数据库
mkdir -p /home/ntfs/data/echo_install/kvm/
useradd -u 1010 -g webvirtmgr -s /sbin/nologin -d /home/ntfs/data/echo_install/kvm/ webvirtmgr
chown -R webvirtmgr:webvirtmgr /home/ntfs/data/echo_install/kvm/
#启用docker,带上未占用端口号8086,netstat -npl |grep 8086
docker run -d --name webvirtmgr_star -v /home/ntfs/data/echo_install/kvm/:/data/ -e WEBVIRTMGR_ADMIN_USERNAME=admin -e WEBVIRTMGR_ADMIN_EMAIL=admin@local.domain -e WEBVIRTMGR_ADMIN_PASSWORD=password -p 8086:8000 odivlad/webvirtmgr
6. 登录weblibvirt
账密:admin/password
http://weblibvirt_ip:8086/login/
7. 登录weblibvirt修改账密
#进入容器
docker exec -it f51e463d5c16 /bin/bash
cd /webvirtmgr
#修改默认账密密码,需要输入两次
python manage.py changepassword admin
#创建超级用户,需要使用changepassword修改密码
python manage.py createsuperuser
8. 纳管kvm到weblibvirt
#默认没有公钥,需要ssh-keygen生成
#纳管是需要输入kvm root的账密,也可以使用其他的账密
ssh-copy-id kvm_ip
9. weblibvirt的一些截图
如果公钥验证失败,怎如下表现
kvm 虚拟机报表
kvm主机资源表
10. 不足地方,无法达到集群kvm的目的,类似zstack的那种。
a. 无法通过桥接的模式添加网络模式(NAT模式可以)添加虚拟机。初步怀疑是通过virsh net-list查看可用网络,而net-list无法获取。
b. xml修改无法成功。qemu已经针对xml文件直接修改已经做了调整,webvirMgr没有做相应的调整。
c. 不支持类似virt-manager可选择/增加网络及其他类型的虚拟设备。
11. 运用的软件
centos, docker, git, ngnix, python,kvm
12. 参考
https://github.com/odivlad/webvirtmgr-docker
https://github.com/retspen/webvirtmgr.git
https://www.cnblogs.com/xiaoyuxixi/p/11599301.html
https://blog.csdn.net/yangshihuz/article/details/104055288