WebVirtMgr的搭建方法介绍

WebVirtMgr搭建非常简单,主要步骤如下:

(1)配置解析主机名

修改所以节点的/etc/hosts文件,是所以节点之间能够通过dns解析主机名。

(2)客户端安装

1)安装KVM和Libvirt组件(略)。

2)Libvirtd服务监听配置

修改/etc/sysconfig/libvirtd文件,去掉下面一行的注释,使Libvirt服务处于监听状态:

vim /etc/sysconfig/libvirtd

LIBVIRTD_ARGS="--listen"

3)配置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

启动服务:

service libvirtd start

4)创建libvirt管理用户

saslpasswd2 -a libvirt virtadmin

可以使用sasldblistuser2命令查看创建了那些用户:

sasldblistusers2 -f /etc/libvirt/passwd.db

virtadmin@webvirt: userPassword

如果需要禁止用户,使用如下命令:

saslpasswd2 -a libvirt -d virtadmin

(3)服务器端安装

1)安装基础组件

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx

2)WebVirtMgr安装及初始化配置

通过git克隆WebVirtMgr代码,并安装需要的Python组件:

git clone git://github.com/retspen/webvirtmgr.git

cd webvirtmgr

pip install -r requirements.txt # or python-pip (RedHat, Fedora, CentOS, OpenSuse)

初始化数据库:

./manage.py syncdb

./manage.py collectstatic

添加超级管理员,运行如下命令,并按照提示添加管理员帐号:

./manage.py createsuperuser

将WebVirtMgr复制到系统默认的web服务目录:

cp -r webvirtmgr/ /var/www/

3)配置nginx

添加nginx配置文件,内容如下:

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 $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

}

}

修改nginx配置文件/etc/nginx/nginx.conf,将default.conf行注释:

# The default server is in conf.d/default.conf

将default.conf文件改名:

mv default.conf default.conf.bak

启动nginx服务:

/etc/init.d/nginx restart

chkconfig supervisord on

设置WebVirtMgr文件夹nginx用户权限:

chown -R nginx:nginx /var/www/webvirtmgr

4)配置超级引擎

编辑超级引擎,增加以下内容:

/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-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

配置完成,可以通过浏览器访问测试了。

(4)WebVirtMgr升级

WebVirtMgr因为处于快速发展期,经常有新版本发布,需要升级,升级步骤如下:

cd /var/www/webvirtmgr

git pull

./manage.py collectstatic

service supervisord restart

(5)排错方法

如果碰到问题,需要排错,可以以debug模式允许:

./manage.py runserver 0:8000

然后用浏览器访问服务器的8000端口:

http://x.x.x.x:8000

在服务端有非常详细的信息输出。