1. 程式人生 > >KVM web管理工具——WebVirtMgr(一)

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\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  
[email protected]
  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(二)日常配置