VManagePlatform 虚拟化平台之KVM

VManagePlatform是什么?

一个KVM虚拟化管理平台

开发语言与框架:

编程语言:Python2.7 + HTML + JScripts
前端Web框架:Bootstrap
后端Web框架:Django
后端Task框架:Celery + Redis

VManagePlatform有哪些功能?

  • Kvm虚拟机生产周期管理功能

    资源利用率(如:CPU、MEM、磁盘、网络)
    实例控制(如:生存周期管理、快照技术,Web Console等等)
    设备资源控制(如:在线调整内存、CPU资源、热添加、删除硬盘)
    
  • 存储池管理

    增减卷,支持主流类型存储类型
    资源利用率
    
  • 网络管理
    支持SDN,底层网络使用OpenVSwitch/Linux Bridge,支持子网隔离,IP地址分配,网卡流量限制等等。

  • 用户管理
    支持用户权限,用户组,用户虚拟机资源分配等等

  • 宿主机
    资源利用率,实例控制

环境要求:

编程语言:Python2.7
系统:CentOS 6
网络规划:管理网络接口=1,虚拟化数据网络>=1,如果只有一个网卡使用OpenVswitch时需要手动配置网络以免丢失网络
SDN需求:OpenVswitch Or Linux Birdge

安装环境配置

一、配置需求模块
shell> yum install zlib zlib-devel readline-devel bzip2-devel openssl-devel gdbm-devel libdbi-devel ncurses-libs kernel-devel libxslt-devel libffi-devel python-devel git kvm libvirt libvirt-devel python-virtinst python-virtinst qemu-kvm virt-viewer bridge-utils virt-top libguestfs-tools ca-certificates libxml2-python audit-libs-python device-mapper-libs mysql* dnsmasq gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool 

shell> git clone  https://github.com/welliamcao/VManagePlatform.git

shell> cd VManagePlatform && pip install -r requirements.txt

shell> mkdir -p /var/run/dnsmasq/
二、关闭防火墙安装KVM
shell> service iptables stop
shell> setenforce 0
shell> chkconfig NetworkManager off
shell> yum install kvm libvirt libvirt-devel python-virtinst python-virtinst qemu-kvm virt-viewer bridge-utils virt-top libguestfs-tools ca-certificates libxml2-python audit-libs-python device-mapper-libs 

启动虚拟机
shell> /etc/init.d/libvirtd start
注:下载virtio-win-1.5.2-1.el6.noarch.rpm,如果不安装window虚拟机或者使用带virtio驱动的镜像可以不用安装
# rpm -ivh virtio-win-1.5.2-1.el6.noarch.rpm
三、配置网络桥接

1、添加网桥配BOOTPROTO=static

DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.7.183
NETMASK=255.255.255.0
GATEWAY=192.168.7.254

2、ifcfg-eth2配置文件:注意MAC地址变更

DEVICE=eth2
HWADDR=6C:92:BF:21:F4:C0
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=yes
BOOTPROTO=none
IPV6INT=no

3、编辑KVM网络XML文件

vim /etc/libvirt/qemu/networks/br0.xml

<network>
  <name>br0</name>
  <uuid>0732d7f5-b501-40d8-aa18-df0f791b0b5b</uuid>
  <forward mode='bridge'/>
</network>

注意UUID变更
4、定义和启用网络XML配置

shell>virsh net-define br0.xml
shell>virsh net-start br0
shell>service network restart
shell> /etc/init.d/libvirtd restart
四、配置libvirt使用tcp方式连接
shell>vim /etc/sysconfig/libvirtd

LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS="--listen"

shell> vim /etc/libvirt/libvirtd.conf

listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none"
五、管理机与受管机器ssh互信

六、mysql或redis安装

如已有mysql可直接授权使用
如已有redis可直接使用
安装过程:略

七、配置django
shell> cd /root/VManagePlatform/VManagePlatform/
shell> vim settings.py
ALLOWED_HOSTS = [
    '192.168.218.14',
]
DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME':'vmanage1',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'192.168.218.17'
    }

STATIC_URL = '/static/'
STATICFILES_DIRS = (
     '/root/VManagePlatform/VManagePlatform/static',
    )
TEMPLATE_DIRS = (
    '/root/VManagePlatform/VManagePlatform/templates',
)
一定要和实际信息对应。
八、生成VManagePlatform数据表
shell> cd /root/VManagePlatform
shell> pip uninstall celery
shell> pip install oslo.utils celery==3.1
shell> python manage.py migrate

创建超级用户,默认是root 设置密码,用来登录使用。

九、配置任务系统
# echo_supervisord_conf > /etc/supervisord.conf
# vim /etc/supervisord.conf
最后添加
[program:celery-worker]
command=/usr/bin/python manage.py celery worker --loglevel=info -E -B  -c 2
directory=/yourpath/VManagePlatform
stdout_logfile=/var/log/celery-worker.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1

[program:celery-beat]
command=/usr/bin/python manage.py celery beat
directory=/yourpath/VManagePlatform
stdout_logfile=/var/log/celery-beat.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1

[program:celery-cam]
command=/usr/bin/python manage.py celerycam
directory=/yourpath/VManagePlatform
stdout_logfile=/var/log/celery-celerycam.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1

安装libxml2:自行百度下载
# tar xf libxml2-2.7.8.tar 
# cd libxml2-2.7.8/python
# python setup.py build
# python setup.py install
# export C_FORCE_ROOT="true" #设定环境变量
# /usr/local/bin/supervisord -c /etc/supervisord.conf
# /usr/local/bin/supervisorctl status
查看启动情况,有异常根据日志进行排查。
十、启动VManagePlatform
# cd /yourpath/VManagePlatform/VManagePlatform/
# python manage.py runserver youripaddr:8000

至此安装完成。登录以及使用的话,可以摸索一下。如果在访问页面中出现缺少东西的话,可以查看日志,进行排查。亲测可用。

网络一定要选择自己创建的桥接,default配置可以删除

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值