BigAp.ru — интернет-магазин электроники и бытовой техники

Автор Тема: Легкая Web консоль для KVM  (Прочитано 2693 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 8528
  • Karma: +114/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Легкая Web консоль для KVM
« : Январь 21, 2015, 02:54:04 pm »
Нашел легкую в функционале, лекгую в установке, запиленую на питоне WEB консоль - WebVirtMgr

На самом сайте написано, как ставить данный приклад на сервер, здесь лишь в краце скажу что нужно сделать и в какой последовательности, в CentOS 7, устанавливаем EPEL и необходимые пакеты:
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx

Запускаем автонастройщик удаленного подключения:
wget -O - http://retspen.github.io/libvirt-bootstrap.sh | sudo sh

Создаем пользователя для подключения к гипервизору:
saslpasswd2 -a libvirt vmuser

Указываем разрешения в Firewalld:
firewall-cmd --permanent --zone=public --add-port=16509/tcp
firewall-cmd --reload

Перезапускаем libvirt:
service libvirtd restart

Тестируем удаленное подключение из Virt Manager или терминала:
virsh -c qemu+tcp://xxx.xxx.xx.x/system nodeinfo
Please enter your authentication name: vmuser
Please enter your password:
CPU model:           x86_64
CPU(s):              32
CPU frequency:       3088 MHz
CPU socket(s):       1
Core(s) per socket:  8
Thread(s) per core:  2
NUMA cell(s):        2
Memory size:         98802352 KiB

Ок, теперь ставим WEB консоль, создаем папку www в var:
mkdir /var/www

Затягиваем туда консоль и устанавливаем:
cd /var/www
git clone git://github.com/retspen/webvirtmgr.git
cd webvirtmgr
pip install -r requirements.txt
manage.py syncdb
manage.py collectstatic

(в процессе настройки указываем административные данные для входа в панель), далее задаем разрешения на web каталог:
chown -R nginx:nginx /var/www/webvirtmgr

Указываем настройки в /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:webvirtmgri-novnc]
command=/usr/bin/python /var/www/webvirtmgr/console/webvirtmgr-novnc
directory=/var/www/webvirtmgr
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr-nonvc.log
redirect_stderr=true
user=nginx

Настраиваем nginx, указывая в дефалтовом файле /etc/nginx/nginc.conf следующее (мой рабочий конфиг):
user  nginx;
worker_processes  2;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    index   index.html index.htm;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       xxx.xxx.xx.x;
        server_name  $hostname;
        root         /usr/share/nginx/html;

        #charset koi8-r;

        #access_log  /var/log/nginx/host.access.log  main;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

    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 $remote_addr;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        client_max_body_size 1024M; # Set higher depending on your needs
    }

        # redirect server error pages to the static page /40x.html
        #
        error_page  404              /404.html;
        location = /40x.html {
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        }
    }
}

Указываем порт в Firewalld:
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload

Перезапускаем nginx:
systemctl restart nginx

Заходим в web панель сервера и добавляем свои KVM сервера, радуемся...

Смотрим результат работы (скрины в аттаче)
« Последнее редактирование: Январь 21, 2015, 02:55:42 pm от sysadmin »
дорогу осилит идущий...
......................
MCP, MCTS, RHCSA
......................
also aka xck...

 


xx
Не могу зайти в консоль Exchange server 2010 проблема WinRM

Автор v1911

9 Ответов
1232 Просмотров
Последний ответ Июль 14, 2016, 08:45:55 pm
от v1911