kvm+webvirtmgr在centos7上的部署

Posted 文丿若

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kvm+webvirtmgr在centos7上的部署相关的知识,希望对你有一定的参考价值。

#!/bin/bash
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++安装配置kvm并创建虚拟机+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#验证cpu是否支持kvm
egrep (vmx|svm) /proc/cpuinfo 

#然后需要在bios设置中打开cpu virtual technology!!!!!!!

#关闭selinux
vi /etc/sysconfig/selinux
selinux=disabled

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

#更换yum源(可选,一般不用换)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache

#安装依赖环境
yum install epel-release net-tools vim unzip zip wget ftp -y

#安装kvm及其依赖项
yum install qemu-kvm libvirt virt-install bridge-utils -y

#验证安装结果
lsmod | grep kvm 

#开启kvm服务,并且设置其开机自动启动
systemctl start libvirtd
systemctl enable libvirtd
#配置网络桥接模式
#手动修改  配置网桥模式,先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份(不要备在当前目录以及子目录下,其他目录随意)

#a. 创建 ifcfg-br0 文件,内容如下:

BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.1.95
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=61.177.7.1
DNS2=8.8.8.8
#b. 移除掉原来的 ifcfg-enp0s25 ,重新创建该文件,内容如下:

BOOTPROTO=none
DEVICE=enp0s25
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0

#c.重启网络服务
systemctl restart network



#安装虚拟机
 
#准备虚拟机镜像文件,把该文件放到 /home/iso(没有可创建)目录下

#创建虚拟机
mkdir -p /home/kvm-bak

virt-install -n xiaocanan_media -r 4096 --vcpus=4 --os-type=linux --accelerate -c /home/iso/CentOS-7-x86_64-Minimal-1611.iso --disk path=/home/vmdisk_pool/xiaocanan_media.img,format=qcow2,bus=ide --network bridge=br0 --vnc --vncport=5993 --vnclisten=0.0.0.0 --force --autostart


#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld


#关闭selinux
vi /etc/sysconfig/selinux
selinux=disabled

#用vnc连接虚拟机,进行虚拟机操作系统的安装

#手动启动虚拟机
virsh list --all
virsh start virt-centos

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++安装配置webvirtmgr+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#yum源的配置及所需软件包
yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm  #repo源,可选
yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
yum -y install gcc python-devel

#更换pip源
vi ~/.pip/pip.conf
[global]
index-url = https://pypi.douban.com/simple

#安装numpy
pip install numpy

#下载webvirtmgr源码 from git
mkdir /application/
cd /application/
git clone git://github.com/retspen/webvirtmgr.git 

#sqlite3数据库安装 
cd /application/
wget http://www.sqlite.org/sqlite-3.5.6.tar.gz
cd sqlite-3.5.6/
./configure --disable-tcl  
make
make install 

#webvirtmgr安装
cd /application/webvirtmgr
pip install -r requirements.txt

./manage.py syncdb  

./manage.py collectstatic 

./manage.py createsuperuser  #创建super用户  可选

#webvirtmgr配置
mkdir -pv /var/www
cp -Rv /application/webvirtmgr /var/www/webvirtmgr

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

#确保bind绑定的端口是本机的8000端口
grep ^bind = /var/www/webvirtmgr/conf/gunicorn.conf.py
#注释掉 /etc/nginx/nginx.conf  server内容
systemctl restart nginx.service
systemctl enable nginx.service
*/9-/*
#kvm被管理端配置
vi /etc/sysconfig/libvirtd  #取消以下字段的注释
LLIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS="--listen"

vi /etc/libvirt/libvirtd.conf  #取消以下字段的注释并修改
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none"
systemctl restart  libvirtd.service    

#设置ssh免密登录
 1. vi /etc/ssh/sshd_config
    RSAAuthentication yes   #新版本ssh可能不需要配置此项
  PubkeyAuthentication yes
  AuthorizedKeysFile      .ssh/authorized_keys
 2.重启sshd服务:systemctl restart sshd
 3.生成证书公私钥
    ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 4.chmod 600 ~/.ssh/authorized_keys
 
 #免密登录远程服务器
  cat ~/.ssh/id_rsa.pub | ssh 远程用户名@远程服务器ip ‘cat - >> ~/.ssh/authorized_keys‘

  

#启动webvirtmgr server
nohup /var/www/webvirtmgr/manage.py runserver 0:8000
nohup /var/www/webvirtmgr/console/webvirtmgr-console

#设置webvirtmgr和webvirtmgr-console开机自启动脚本
nohup /var/www/webvirtmgr/manage.py runserver 0:8000 &
nohup /var/www/webvirtmgr/console/webvirtmgr-console &

#切记!!!! webvirtmgr第一次一定要手动运行,不然会提示密码验证失败
#切记!!!! 使用webvirtmgr创建windows虚拟机时不能选virtio,因为没有相应驱动的话,硬盘和网卡都会无法识别

#webvirtmgr web地址 http://本机ip:8000

#windows server 2008 r2 激活
www.xpgod.com/soft/12388.html

 

以上是关于kvm+webvirtmgr在centos7上的部署的主要内容,如果未能解决你的问题,请参考以下文章

WebVirtMgr 基于Centos7.3的KVM虚拟化管理平台安装

CentOS 7搭建KVM在线管理面板WebVirtMgr之使用SSH授权登录

kvm快速上手(ubuntu+kvm+webvirtmgr)

kvm管理平台webvirtmgr的部署

Kvm --05 密码保护:Kvm管理之WebVirtMgr

KVM web管理工具——WebVirtMgr