WebVirtMgr 介绍
WebVirtMgr采用几乎纯Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的管理操作变的更加的可视化。
WebVirtMgr 特点
- 操作简单,易于使用
- 通过libvirt的API接口对kvm进行管理
- 提供对虚拟机生命周期管理
WebVirtMgr 功能
宿主机管理支持以下功能
- CPU利用率
- 内存利用率
- 网络资源池管理
- 存储资源池管理
- 虚拟机镜像
- 虚拟机克隆
- 快照管理
- 日志管理
- 虚机迁移
虚拟机管理支持以下功能
- CPU利用率
- 内存利用率
- 光盘管理
- 关/开/暂停虚拟机
- 安装虚拟机
- VNC console连接
- 创建快照
WebVirtMgr 管理工具安装
一 webvirtmgr管理服务器配置
1 install epel 源,git,gcc等软件
sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
sudo yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
2 Install python requirements and setup Django environment
git clone git://github.com/retspen/webvirtmgr.git
cd webvirtmgr
sudo pip install -r requirements.txt
./manage.py syncdb
./manage.py collectstatic ---配置数据库的账号
创建一个超级用户:
./manage.py createsuperuser --配置webvirtmgr 登录账号
3 配置nginx
cd ..
sudo mv webvirtmgr /var/www/
在 /etc/nginx/conf.d/下 创建webvirtmgr.conf 文件:
vim /etc/nginx/conf.d/webvirtmgr.conf
server {
listen 80 default_server;
server_name $hostname;
#access_log /var/log/nginx/webvirtmgr_access_log;
location /static/ {
root /var/www/webvirtmgr/webvirtmgr; # or /srv instead of /var
expires max;
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
client_max_body_size 1024M; # Set higher depending on your needs
}
}
在nginx主配置文件中的http域内添加下面的配置
sudo vim /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
将default.conf重命名
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
重启nginx:
sudo service nginx restart 或者 /etc/init.d/nginx restart
selinux 设置:
将selinux 关闭
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
或不关闭selinux但需添加下面的策略
/usr/sbin/setsebool httpd_can_network_connect true
4 配置 Supervisor
sudo chkconfig supervisord on
在/etc/supervisord.conf末尾加入下面的配置:
vim /etc/supervisord.conf
[program:webvirtmgr]
command=/usr/bin/python /var/www/webvirtmgr/manage.py run_gunicorn -c /var/www/webvirtmgr/conf/gunicorn.conf.py
directory=/var/www/webvirtmgr
autostart=true
autorestart=true
logfile=/var/log/supervisor/webvirtmgr.log
log_stderr=true
user=nginx
[program:webvirtmgr-console]
command=/usr/bin/python /var/www/webvirtmgr/console/webvirtmgr-console
directory=/var/www/webvirtmgr
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
redirect_stderr=true
user=nginx
重启supervisord
sudo service supervisord restart
--------到这里webvirtmgr配置完成-----
二 webvirtmgr服务器(服务端)与kvm服务器(客服端)连接配置
1)webvirtmgr与kvm之间使用ssh方式连接管理
1 在webvirtmgr服务器(服务端)上:
cd /home/
mkdir nginx
chown nginx.nginx nginx/
chmod 700 nginx/ -R
su - nginx -s /bin/bash
ssh-keygen ---期间输入yes后直接回车,回车
touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
chmod 0600 ~/.ssh/config
2 在kvm(客服端)服务器上配置webvirt用户
useradd webvirtmgr
echo "123456" | passwd --stdin webvirtmgr
groupadd libvirt
usermod -G libvirt -a webvirtmgr
3 在webvirtmgr服务器(服务端)上,将ssh-key上传到kvm服务器上
su - nginx -s /bin/bash
ssh-copy-id webvirtmgr@192.168.0.23
4 在kvm(客服端)服务器上配置 libvirt ssh授权
vim /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
[Remote libvirt SSH access]
Identity=unix-user:webvirtmgr
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
chown -R webvirtmgr.webvirtmgr /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
重启 libvirtd 服务
/etc/init.d/libvirtd restart
2)webvirtmgr与kvm之间使用tcp方式连接管理
1)Libvirtd服务监听配置
修改/etc/sysconfig/libvirtd文件,去掉下面一行的注释,使Libvirt服务处于监听状态:
vim /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"
2)配置Libvirt服务
配置Libvirt服务,允许通过tcp方式通讯,修改/etc/libvirt/libvirtd.conf:
#允许tcp监听
listen_tcp = 1
#开放tcp端口
tcp_port = "16509"
#监听地址修改为0.0.0.0
listen_addr = "0.0.0.0"
#配置tcp通过sasl认证
auth_tcp = sasl
#取消CA认证功能
listen_tls = 0
启动服务:
service libvirtd start
3)创建libvirt管理用户
saslpasswd2 -a libvirt admin
--------------------------------------------------------------------------------
webvirtmgr使用手册请关注:KVM WEB管理工具—WebVirtMgr(二)日常配置