设为首页 收藏本站
查看: 2138|回复: 1

[经验分享] KVM虚拟化管理平台VManagePlatform

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-2-21 09:48:55 | 显示全部楼层 |阅读模式
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

    SDN需求:OpenVswitch Or Linux Birdge

TIPS:

    控制服务器:执行1-10步骤

    节点服务器:执行2/3/4步骤,在控制服务器上执行5步骤中的ssh-copy-id

    为了更好的体验,建议使用Chrome或者Foxfire

安装环境配置

一、配置需求模块

# pip install -r requirements.txt

二、安装kvm

1、关闭防火墙,selinux
# service iptables stop
# setenforce 0 临时关闭
# chkconfig NetworkManager off

2、安装kvm虚拟机
# yum install kvm libvirt libvirt-devel python-virtinst python-virtinst qemu-kvm virt-viewer bridge-utils virt-top libguestfs-tools ca-certificates audit-libs-python device-mapper-libs
# 启动服务
# /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

节点服务器不必执行
# yum -y install dnsmasq
# mkdir -p /var/run/dnsmasq/

三、安装OpenVswitch(如果使用底层网络使用Linux Bridge可以不必安装)

安装openvswitch
# yum install gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool
# wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz
# tar xfz openvswitch-2.3.1.tar.gz
# mkdir -p ~/rpmbuild/SOURCES
# cp openvswitch-2.3.1.tar.gz rpmbuild/SOURCES
# sed 's/openvswitch-kmod, //g' openvswitch-2.3.1/rhel/openvswitch.spec > openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
# rpmbuild -bb --without check ~/openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
# yum localinstall /root/rpmbuild/RPMS/x86_64/openvswitch-2.3.1-1.x86_64.rpm
如果出现python依赖错误
# vim openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
BuildRequires: openssl-devel
后面添加
AutoReq: no

# /etc/init.d/openvswitch start

四、配置Libvirt使用tcp方式连接

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

# vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none"

五、配置SSH信任

# ssh-keygen -t  rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub  root@ipaddress

六、安装数据库(MySQL,Redis)

安装配置MySQL
# yum install mysql-server mysql-client mysql-devel
# service mysqld start
# mysql -u root -p
mysql> create database vmanage;
mysql> grant all privileges on vmanage.* to 'username'@'%' identified by 'userpasswd';
mysql>quit

安装配置Redis
# wget http://download.redis.io/redis-stable.tar.gz
# tar –zxvf redis-stable.tar.gz
# cd redis-stable
# make && cd src && make install PREFIX=/usr/local/redis
# vim /usr/local/redis/etc/redis.conf
将daemonize的值改为yes
将./dir的值改为/usr/local/redis
# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

七、配置Django

# cd /yourpath/VManagePlatform/VManagePlatform/
# vim settings.py
7.1、修改BROKER_URL:改为自己的地址
7.2、修改DATABASES:
DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME':'vmanage',
        'USER':'自己的设置的账户',
        'PASSWORD':'自己的设置的密码',
        'HOST':'MySQL地址'
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
7.3、修改STATICFILES_DIRS
STATICFILES_DIRS = (
     '/yourpath/VManagePlatform/VManagePlatform/static/',
    )
TEMPLATE_DIRS = (
#     os.path.join(BASE_DIR,'mysite\templates'),
    '/yourpath/VManagePlatform/VManagePlatform/templates',
)

八、生成VManagePlatform数据表

# cd /yourpath/VManagePlatform/VManagePlatform/
# python manage.py migrate
# python manage.py createsuperuser

九、启动VManagePlatform

# cd /yourpath/VManagePlatform/VManagePlatform/
# python manage.py runserver youripaddr:8000

十、配置任务系统

# 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

启动celery
# /usr/local/bin/supervisord -c /etc/supervisord.conf
# supervisorctl status

部分功能截图:

1、登录页面
login.png
2、注册页面,用户注册需要admin激活才能登陆。
register.png
3、主页
index.png.jpg 4、任务调度
task.png 5、宿主机资源
server.png.jpg 6、虚拟机资源
server.png1.jpg
7、Web Console
consle.png.jpg


注意:
1、安装window系列系统请选择带virtio驱动镜像。
2、系统镜像可以放到NFS共享里面,再在宿主机存储池里面添加,这样安装虚拟机时就可以选择操作系统类型
3、如果有bug请联系QQ:303350019,或者提交issue到https://github.com/welliamcao/VManagePlatform

instance.png.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345093-1-1.html 上篇帖子: 大神请支招儿 下篇帖子: KVM虚拟化配置管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表