KVM이 웹에서 작동하도록 허용 (WebVirtMgr)
14055 단어 KVMcentos7Virtualization가상화
KVM이 웹에서 작동하도록 허용 (WebVirtMgr)
우리 집에서는 집에서 사용하는 서버와 검증을 위한 환경을 KVM을 사용하여 만들고 있습니다.
그러나, 지금까지는 가상 머신을 조작하기 위해서, 하이퍼바이저에 로그인해 커멘드를 치지 않으면 갈 수 없는 상황에서 약간 귀찮았습니다.
거기서, Web로부터 그러한 조작을 실시할 수 있는 것을 찾고 있었습니다만, WebVirtMgr 이 사용하기 쉽고 좋은 것이 아닐까 생각해, 설치해 보았습니다.
환경
OS: CentOS 7.1(virt로 KVM 환경 구축됨)
※ KVM 환경에 대해서는 CentOS7에 KVM 환경 구축 (CUI 환경) 를 참조
설정 절차
Install WebVirtMgr을 참조하여 설치해보십시오.
작동에 필요한 응용 프로그램 설치
$ sudo yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
$ sudo yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
$ sudo yum -y install gcc python-devel
$ sudo pip install numpy
git에서 webvirtmgr을 다운로드하고 초기화
### gitからクローンする
$ git clone git://github.com/retspen/webvirtmgr.git
$ cd webvirtmgr
### 必要モジュールのインストール
$ sudo pip install -r requirements.txt
### 初期設定
$ ./manage.py syncdb
...
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'username'):
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 6 object(s) from 1 fixture(s)
### staticファイルの作成
$ ./manage.py collectstatic
WARNING:root:No local_settings file found.
You have requested to collect static files at the destination
location as specified in your settings.
This will overwrite existing files!
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
nginx 설정하기
### webvirtmgrを移動
$ sudo mv webvirtmgr /var/www
$ sudo chown -R nginx:nginx /var/www
### nginxのプロキシを設定
$ sudo 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;
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;
}
}
### デフォルトページ部分をコメントアウトする
$ sudo vim /etc/nginx/nginx.conf
# server {
# listen 80 default_server;
# server_name localhost;
# 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 / {
# }
#
# # 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 {
# }
# }
### nginxの再起動
$ sudo service nginx restart
supervisor 설정
8000/tcp에서 백그라운드 동작하도록 설정을 해 나갑니다.
### 末尾に追加する
$ sudo 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
### 再起動
$ sudo service supervisord restart
웹페이지 확인
여기까지 오면 http://hostname으로 로그인 화면을 확인할 수 있다고 생각합니다.
(잘못된 경우 SELinux를 비활성화하고 방화벽 설정을 확인하십시오)
하이퍼바이저 추가
웹 인터페이스에서 작업할 하이퍼바이저를 추가할 수 있습니다. (이번에는 로컬)
하이퍼바이저에 접속하는 방법은 TCP, SSH, TLS, Socket이 있는 것 같습니다만, SSH로 시험해 보겠습니다.
Setup SSH Authorization 을 참고로 설정해 갑니다.
### nginxユーザに入る
$ sudo su - nginx -s /bin/bash
### 鍵の作成(名前はid_rsaでよい)
[nginx]$ ssh-keygen -b 4096
[nginx]$ touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
[nginx]$ chmod 0600 ~/.ssh/config
[nginx]$ exit
### webvirtmgrユーザを追加
$ sudo adduser webvirtmgr
### パスワード設定
$ sudo passwd webvirtmgr
### libvirtグループに追加
$ sudo usermod -G libvirt -a webvirtmgr
### nginxユーザに入る
$ sudo su - nginx -s /bin/bash
### 鍵を送信(他の方法でもよい)
[nginx]$ ssh-copy-id webvirtmgr@qemu-kvm-libvirt-host
웹 인터페이스에서 Add Connection -> SSH Connections를 선택하고 이전 정보를 입력합니다.
잘 작동하면 아래와 같이 Connections에 추가되어 웹에서 관리할 수 있습니다.
원래 커맨드 라인을 통해 게스트 머신을 몇 개 만들었으므로 원래부터 호스트가 표시되고 있습니다.
인스턴스 만들기
설치용 미디어를 다운로드합니다. (이번에는 CentOS7-minimal)
### Centos7(minimal)のダウンロード
$ sudo -u nginx wget -O /var/www/webvirtmgr/images/CentOS-7-x86_64-Minimal-1511.iso http://ftp.nara.wide.ad.jp/pub/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
작업이 끝나면 대상 하이퍼바이저 → "Storages"→ "New Storage"버튼을 누릅니다.
나온 윈도우의 "ISO"탭을 누르면, 디폴트로/var/www/webvirtmgr/images 가 지정되어 있으므로 그대로 작성합니다.
그런 다음 "New Instance"버튼에서 적절한 인스턴스를 만들고 "Settings"→ "Media"탭을 선택하면 이전에 다운로드 한 iso 파일이 선택되어 있어야하므로 "Connect"버튼으로 설치합니다.
그 후 "Power"→ "Start"로 파워 온
"Access"→ "Console"→ "Console"버튼을 누르면 호스트에 연결되기 때문에, 포치포치와 설치 작업을 진행하면 설치 완료입니다.
소감
설정이 간단하고 UI도 어느 정도 갖추어져 있기 때문에 마음에 듭니다.
무엇보다, 지금까지 명령을 경유했던 것이, 웹으로부터 조작할 수 있게 되어 매우 편해지고 있습니다.
-
이 게시물은 이전에 블로그에 작성한 내용과 유사합니다.
h tp // 지마오카. 하테나 bぉg. jp / 엔트리 / ぇbゔぃrtMgr
Reference
이 문제에 관하여(KVM이 웹에서 작동하도록 허용 (WebVirtMgr)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jimaoka/items/27205e53097ecab561f7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
$ sudo yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
$ sudo yum -y install gcc python-devel
$ sudo pip install numpy
### gitからクローンする
$ git clone git://github.com/retspen/webvirtmgr.git
$ cd webvirtmgr
### 必要モジュールのインストール
$ sudo pip install -r requirements.txt
### 初期設定
$ ./manage.py syncdb
...
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'username'):
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 6 object(s) from 1 fixture(s)
### staticファイルの作成
$ ./manage.py collectstatic
WARNING:root:No local_settings file found.
You have requested to collect static files at the destination
location as specified in your settings.
This will overwrite existing files!
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
### webvirtmgrを移動
$ sudo mv webvirtmgr /var/www
$ sudo chown -R nginx:nginx /var/www
### nginxのプロキシを設定
$ sudo 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;
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;
}
}
### デフォルトページ部分をコメントアウトする
$ sudo vim /etc/nginx/nginx.conf
# server {
# listen 80 default_server;
# server_name localhost;
# 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 / {
# }
#
# # 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 {
# }
# }
### nginxの再起動
$ sudo service nginx restart
### 末尾に追加する
$ sudo 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
### 再起動
$ sudo service supervisord restart
### nginxユーザに入る
$ sudo su - nginx -s /bin/bash
### 鍵の作成(名前はid_rsaでよい)
[nginx]$ ssh-keygen -b 4096
[nginx]$ touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
[nginx]$ chmod 0600 ~/.ssh/config
[nginx]$ exit
### webvirtmgrユーザを追加
$ sudo adduser webvirtmgr
### パスワード設定
$ sudo passwd webvirtmgr
### libvirtグループに追加
$ sudo usermod -G libvirt -a webvirtmgr
### nginxユーザに入る
$ sudo su - nginx -s /bin/bash
### 鍵を送信(他の方法でもよい)
[nginx]$ ssh-copy-id webvirtmgr@qemu-kvm-libvirt-host
### Centos7(minimal)のダウンロード
$ sudo -u nginx wget -O /var/www/webvirtmgr/images/CentOS-7-x86_64-Minimal-1511.iso http://ftp.nara.wide.ad.jp/pub/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
Reference
이 문제에 관하여(KVM이 웹에서 작동하도록 허용 (WebVirtMgr)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jimaoka/items/27205e53097ecab561f7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)