zoukankan      html  css  js  c++  java
  • KVM web管理工具——WebVirtMgr(一)

    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 UserKnownHostsFile=/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(二)日常配置
  • 相关阅读:
    Ubuntu设置默认编辑器
    Java基础学习之(15)
    Java基础学习之(9)--java的常用类
    Java基础学习之(11)--异常处理
    Java基础学习之(10)--接口
    Java基础学习之(8)--多态和抽象类
    Java基础学习之(7)--Object类
    Java基础学习之(6)--继承、访问权限、重写
    dubbo-整合springboot、基于注解的简单实例
    java安全框架之Permission学习笔记
  • 原文地址:https://www.cnblogs.com/dtstack/p/9957210.html
Copyright © 2011-2022 走看看