天天看點

KVM安裝+WebVirtMgr配置

安裝環境:

一、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