安裝環境:
一、KVM安裝
linunx:CentOS Linux release 7.1.1503 (Core)
CPU :16核
内 存 :48G
檢查是否支援虛拟化:
[root@pri36 ~]# egrep "(vmx|svm)" /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi
mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl
xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm
pcid dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid
安裝KVM元件
[root@pri36 ~]# yum groupinstall -y "Virtualization" "Virtualization Client" "Virtualization Platform"
"Virtualization Tools"
檢查kvm子產品是否加載
[root@pri36 ~]# lsmod |grep kvm
kvm_intel 148081 0
kvm 461126 1 kvm_intel
開啟CPU的虛拟化支援
yum install policycoreutils-python
virsh pool-define-as kvm_p_w_picpaths dir - - - - "/home/kvm/p_w_picpaths"
virsh pool-define-as kvm_p_w_picpaths02 dir - - - - "/home/kvm/p_w_picpaths"
virsh pool-list --all
virsh pool-build kvm_p_w_picpaths02
virsh pool-start kvm_p_w_picpaths02
virsh pool-autostart kvm_p_w_picpaths02
virsh pool-info kvm_p_w_picpaths02
virsh vol-create-as kvm_p_w_picpaths2 guest2-rhel7.0.img 8G --formatqcow2
yum install acpid -y
virsh vol-create-as kvm_p_w_picpaths02 centos_ceshi6.7.img 8G --format qcow2
virsh vol-list kvm_p_w_picpaths02
virt-install --connect qemu:///system -n centos_ceshi6.7 -r 512 -f /home/kvm/p_w_picpaths/centos_ceshi6.7.img -
s 8 --vnc --os-type=linux --os-variant=rhel6 --vcpus=1 --network bridge=br0 -c /home/CentOS-6.7-x86_64-
Gewara-SP2-bin.iso
virt-viewer centos_ceshi6.7
二、網卡綁定:
cd /etc/sysconfig/network-scripts/
cat > ifcfg-br0 << END
TYPE=Bridge
BOOTPROTO=none
DEVICE=br0
NAME=br0
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=192.168.2.36
NETMASK=255.255.255.0
GATEWAY=192.168.2.11
DNS1=192.168.3.224
DNS2=202.96.209.5
END
cat > ifcfg-enp2s0 < END
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=157e14ff-4338-4849-9c2c-495d77b86357
HWADDR=f4:6d:04:16:e0:46
DEVICE=enp2s0
PREFIX=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
BRIDGE=br0
systemctl stop ModemManager.service
yum remove ModemManager
systemctl start network.service
WebVirtMgr配置
1、配置epel源(已配置則忽略)
# cd /usr/local/src
# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm –ivh epel-release-6-8.noarch.rpm
2、安裝所需包
# yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
3、# vim /etc/sysconfig/libvirtd—去掉注釋
LIBVIRTD_ARGS="--listen"
4、# vim /etc/libvirt/libvirtd.conf—去掉注釋
listen_tls = 0
listen_tcp = 1
tls_port = "16514"
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "sasl"
#/etc/init.d/libvirtd restart
5、建立libvirt管理使用者
# saslpasswd2 -a libvirt virtadmin //添加執行個體賬号
# sasldblistusers2 -f /etc/libvirt/passwd.db
virtadmin@webvirt: userPassword
# saslpasswd2 -a libvirt -d virtadmin //禁止virtadmin使用者
6、WebVirtMgr安裝及初始化配置
通過git克隆WebVirtMgr代碼,并安裝需要的Python元件
# cd /usr/local/src/
# git clone git://github.com/retspen/webvirtmgr.git
# cd webvirtmgr
# pip install -r requirements.txt
安裝python-sqlite
# yum install python-sqlite2
對django進行環境配置
# ./manage.py syncdb //設定賬号密碼郵箱,此賬号可以登入webvirtmgr
#./manage.py collectstatic //生成配置檔案
#./manage.py createsuperuser //添加管理者賬号,此賬号同樣可以登入webvirtmgr
7、将WebVirtMgr複制到nginx網站根目錄
# mkdir /var/www/
# cp -a /usr/local/src/webvirtmgr /var/www/
# chown -R nginx:nginx /var/www/webvirtmgr
8、配置nginx
# vim /etc/nginx/conf.d/webvirtmgr.conf
add:
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
}
# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
# /etc/init.d/nginx start
# chkconfig nginx on
9、配置supervisor
# vim /etc/supervisord.conf //add in the end
[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
stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
redirect_stderr=true
#/var/www/webvirtmgr/conf/gunicorn.conf.py
modify:
bind = "0:8000"
# /etc/init.d/supervisord start
# chkconfig supervisord on
10、檢視端口6080和8000是否已經啟動
#netstat -ntlp | grep 6080
#netstat -ntlp | grep 8000
11、測試
# virsh -c qemu+tcp://127.0.0.1/system nodeinfo
Please enter your authentication name: virtadmin
Please enter your password: xxxxxx
CPU model: x86_64
CPU(s): 1
CPU frequency: 1599 MHz
CPU socket(s): 1
Core(s) per socket: 1
Thread(s) per core: 1
NUMA cell(s): 1
Memory size: 1907936 kB
12、通路
192.168.2.35