KVM web管理工具——WebVirtMgr(一)

简介: WebVirtMgr是近两年来发展较快,比较活跃,非常清新的一个KVM管理平台,提供对宿主机和虚机的统一管理,它有别于kvm自带的图形管理工具(virtual machine manager),让kvm管理变得更为可视化,对中小型kvm应用场景带来了更多方便。

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(二)日常配置













目录
相关文章
|
2月前
|
安全 网络协议 网络安全
【Docker项目实战】使用Docker部署web-check网站分析工具
【4月更文挑战第20天】使用Docker部署web-check网站分析工具
110 1
|
2月前
|
设计模式 Java 测试技术
软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
66 0
|
2月前
|
存储 Web App开发 安全
Cookie和session 及Web相关工具
Cookie和session 及Web相关工具
|
11天前
|
异构计算 Python
30行代码实现一个带UI界面的图片背景移除工具:并附带web网页
人工智能技术正处于蓬勃发展中,移除图片背景的方法众多,涵盖了各式各样的实现途径和模型。然而,这些方法往往在安装和配置环境方面稍显复杂。今天,介绍一种极其简便的方法——大约30行代码,就能实现这一功能。虽然相比之下可能稍显简单,但对于不太苛刻的需求来说,这种方法颇为方便实用。
|
19天前
|
缓存 前端开发 JavaScript
Parcel-极速零配置Web应用打包工具
Parcel-极速零配置Web应用打包工具
21 1
|
28天前
|
监控 测试技术 开发者
【Docker项目实战】使用Docker部署NextTrace Web路由工具
【6月更文挑战第16天】使用Docker部署NextTrace Web路由工具
37 4
|
1月前
|
数据采集 Web App开发 前端开发
Selenium:自动化Web浏览器操作的强大工具
**Selenium** 是一款用于自动化Web应用测试和模拟用户行为的工具,支持多种浏览器和编程语言。安装包括安装Selenium库和对应浏览器的WebDriver。基本用法包括导入库、启动浏览器、查找与操作页面元素、等待元素加载及关闭浏览器。在实际项目中,Selenium常用于Web测试、爬虫、自动化表单填写等,优点是跨平台、模拟真实用户行为,但性能较低且依赖浏览器。
50 9
|
1月前
|
JavaScript 前端开发 UED
在Web开发中,拖放(Drag and Drop)和动画效果是提升用户体验的重要工具
【6月更文挑战第12天】本文介绍了如何使用JavaScript实现拖放功能和基本动画效果。拖放功能通过监听mousedown、mousemove和mouseup事件,计算并更新元素位置实现。动画效果则利用requestAnimationFrame函数创建平滑移动的视觉效果。示例代码包括HTML结构和对应的JavaScript实现。
41 1
|
2月前
|
存储 监控 Ubuntu
Linux系统之GoAccess实时Web日志分析工具的基本使用
【5月更文挑战第22天】Linux系统之GoAccess实时Web日志分析工具的基本使用
59 1
|
2月前
|
安全 Linux iOS开发
【热门话题】 Fiddler:一款强大的Web调试代理工具——安装与使用详解
Fiddler是一款强大的Web调试工具,适用于Windows、macOS和Linux,用于捕获、记录和分析HTTP/HTTPS流量。本文详细介绍了Fiddler的安装步骤,包括下载、安装和配置,特别是信任根证书和代理设置。在使用方面,讲解了如何启动/停止捕获流量、查看和管理会话,以及重发请求、编辑请求/响应和清除会话。此外,还探讨了进阶功能,如自定义过滤规则、使用AutoResponder模拟服务器响应、性能分析和统计,以及插件扩展和脚本编写。Fiddler是学习HTTP协议和解决Web问题的得力工具。
85 1