控制节点:
1.安装mysql数据库
yum -y install mariadb-server
systemctl enable mariadb
systemctl start mariadb
2.创建数据库
#设置密码
mysqladmin password
New password:
Confirm new password:
#创建数据库
mysql -uroot -p
> create database webvirtmgr
> grant all privileges on webvirtmgr.* to 'webvirtmgr'@'localhost' identified by 'admin@123';
> flush privileges;
3.安装依赖包
yum -y install https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/python2-pip-8.1.2-14.el7.noarch.rpm
yum -y install https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/python-websockify-0.6.0-2.el7.noarch.rpm
yum -y install https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm
yum -y install git libvirt-python libxml2-python supervisor gcc python-devel
pip install numpy==1.16.0 pymysql
4.下载webvirtmgr
mkdir -p /var/www
cd /var/www
git clone https://github.com/retspen/webvirtmgr.git
5.安装pip依赖
cd webvirtmgr
pip install -r requirements.txt
6.修改数据库引擎
vi /var/www/webvirtmgr/webvirtmgr/settings.py
#修改数据部分为如下
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'webvirtmgr',
# The following settings are not used with sqlite3:
'USER': 'webvirtmgr',
'PASSWORD': 'admin@123',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '3306', # Set to empty string for default.
}
}
#引入pymysql
echo "
import pymysql
pymysql.install_as_MySQLdb()
">/var/www/webvirtmgr/webvirtmgr/__init__.py
7.初始化数据库
./manage.py syncdb
./manage.py collectstatic
8.配置nginx
touch /etc/nginx/conf.d/nginx.conf
配置如下信息:
server {
listen 8080 default_server;
server_name $hostname;
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
}
}
useradd nginx
chown -R nginx:nginx /var/www/webvirtmgr
#设置webvirtmgr启动项
sed -i 's/\/usr\/lib\/python2.7\/site-packages/\/var\/www/g' /var/www/webvirtmgr/conf/init/webvirtmgr-console.service
sed -i 's/\/usr\/lib\/python2.7\/site-packages\/webvirtmgr\/console/\/var\/www/g' /var/www/webvirtmgr/conf/init/webvirtmgr.service
cp /var/www/webvirtmgr/conf/init/webvirtmgr-console.service /usr/lib/systemd/system/
cp /var/www/webvirtmgr/conf/init/webvirtmgr.service /usr/lib/systemd/system/
systemctl enable webvirtmgr-console
systemctl enable webvirtmgr
systemctl start webvirtmgr-console
systemctl start webvirtmgr
#计算节点安装
yum -y install libvirt qemu-kvm cyrus-sasl-md5 cyrus-sasl-devel glusterfs-fuse glusterfs
sed -i 's/#LIBVIRTD_ARGS="--listen"/LIBVIRTD_ARGS="--listen"/g' /etc/sysconfig/libvirtd
sed -i 's/#listen_tls = 0/listen_tls = 0/g' /etc/libvirt/libvirtd.conf
sed -i 's/#listen_tcp = 1/listen_tcp = 1/g' /etc/libvirt/libvirtd.conf
sed -i 's/#listen_addr = "192.168.0.1"/listen_addr = "0.0.0.0"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#tcp_port = "16509"/tcp_port = "16509"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#unix_sock_group = "libvirt"/unix_sock_group = "libvirt"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#unix_sock_ro_perms = "0777"/unix_sock_ro_perms = "0777"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#unix_sock_rw_perms = "0770"/unix_sock_rw_perms = "0770"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#auth_unix_ro = "none"/auth_unix_ro = "none"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#auth_unix_rw = "none"/auth_unix_rw = "none"/g' /etc/libvirt/libvirtd.conf
sed -i 's/#min_workers = 5/min_workers = 5/g' /etc/libvirt/libvirtd.conf
sed -i 's/#max_workers = 20/max_workers = 20/g' /etc/libvirt/libvirtd.conf
sed -i 's/#max_client_requests = 5/max_client_requests = 5/g' /etc/libvirt/libvirtd.conf
sed -i 's/#auth_tcp = "sasl"/auth_tcp = "none"/' /etc/libvirt/libvirtd.conf
#设置认证
sed -i 's/^#sasldb_path/sasldb_path/' /etc/sasl2/libvirt.conf
sed -i 's/mech_list: gssapi/mech_list: digest-md5/g' /etc/sasl2/libvirt.conf
saslpasswd2 -a libvirt admin