## VManagePlatform是什么?
一个KVM虚拟化管理平台
**开源协议**:[GNU General Public License v2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
**开源声明**:欢迎大家star或者fork我的开源项目,如果大家在自己的项目里面需要引用该项目代码,请在项目里面申明协议和版权信息。
## 开发语言与框架:
* 编程语言:Python2.7 + HTML + JScripts
* 前端Web框架:Bootstrap
* 后端Web框架:Django
* 后端Task框架:Celery + Redis
## QQ交流群

## VManagePlatform有哪些功能?
* Kvm虚拟机`生产周期`管理功能
* 资源利用率(如:CPU、MEM、磁盘、网络)
* 实例控制(如:生存周期管理、快照技术,Web Console等等)
* 设备资源控制(如:在线调整内存、CPU资源、热添加、删除硬盘)
* 存储池管理
* 增减卷,支持主流类型存储类型
* 资源利用率
* 网络管理
* 支持SDN,底层网络使用OpenVSwitch/Linux Bridge,IP地址分配,网卡流量限制等等。
* 用户管理
* 支持用户权限,用户组,用户虚拟机资源分配等等
* 宿主机
* 资源利用率,实例控制
## 环境要求:
* 编程语言:Python2.7
* 系统:CentOS 7
* 网络规划:管理网络接口=1,虚拟化数据网络>=1,如果只有一个网卡使用OpenVswitch时需要手动配置网络以免丢失网络
* SDN需求:OpenVswitch Or Linux Birdge
## TIPS:
* 控制服务器:执行1-10步骤
* 节点服务器:执行2/3/4步骤,在控制服务器上执行5步骤中的ssh-copy-id
* 为了更好的体验,建议使用Chrome或者Foxfire,如果要获取虚拟机ip,请在虚拟机里面安装qemu-guest-agent(centos 6需要安装libvirt>=2.3.0以上)
* 主机列表跟用户中心-我的虚拟机的数据更新,需要在任务调度里面配置task
## 虚拟机添加流程:
* 第一步,平台先添加宿主机(计算节点)
* 第二步,添加数据类型存储池与镜像存储池
* 镜像存储池: 计算节点添加dir类型存储池,把ISO镜像文件放到存储池里面或者可以将ISO镜像文件做成NFS共享,添加存储池的时候选择nfs模式。(注:以便添加虚拟机的时候能加载到系统镜像)
* 数据存储池:按照页面添加即可,主要用来存储虚拟机硬盘。
* 第三步,计算节点添加网络,可选择bridge与nat模式
* 第四步,为计算节点分配虚拟机
* 第五步,配置任务调度,自动更新计算节点虚拟机资源信息
## 安装环境配置</br>
一、配置需求模块</br>
```
# 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 libvirt libvirt-client libvirt-devel gcc git mysql-devel -y
# mkdir -p /opt/apps/ && cd /opt/apps/
# git clone https://github.com/welliamcao/VManagePlatform.git
# cd VManagePlatform
# pip install -r requirements.txt
```
二、安装kvm
```
1、关闭防火墙,selinux
# systemctl stop firewalld.service && systemctl disable firewalld.service
# setenforce 0 临时关闭
# systemctl stop NetworkManager
# systemctl disable NetworkManager
2、安装kvm虚拟机
# yum install python-virtinst qemu-kvm virt-viewer bridge-utils virt-top libguestfs-tools ca-certificates libxml2-python audit-libs-python device-mapper-libs
# 启动服务
# systemctl start libvirtd
注:下载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
# cd /usr/local/src
# 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 ~/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
# systemctl start openvswitch
```
四、配置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"
# systemctl restart libvirtd
```
五、配置SSH信任
```
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@ipaddress
```
六、安装数据库(MySQL,Redis)
```
安装配置MySQL
# yum install mysql-server mysql-client
# systemctl start mysqld.service
# 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/releases/redis-3.2.8.tar.gz
# tar -xzvf redis-3.2.8.tar.gz
# cd redis-3.2.8
# make
# make install
# vim redis.conf
daemonize yes
loglevel warning
logfile "/var/log/redis.log"
bind 你的服务器ip地址
# cd ../
# mv redis-3.2.8 /usr/local/redis
# /usr/local/redis/src/redis-server /usr/local/redis/redis.conf
```
七、配置Django
```
# cd /opt/apps/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 = (
'/opt/apps/VManagePlatform/VManagePlatform/static/',
)
TEMPLATE_DIRS = (
# os.path.join(BASE_DIR,'mysite\templates'),
'/opt/apps/VManagePlatform/VManagePlatform/templates',
)
```
八、生成VManagePlatform数据表
```
# cd /opt/apps/VManagePlatform/
# python manage.py migrate
# python manage.py createsuperuser
```
九、启动VManagePlatform
```
# cd /opt/apps/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=/opt/apps/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=/opt/apps/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=/opt/apps/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
```
## 提供帮助
如果您觉得VManagePlatform对您有所帮助,可以通过下列方式进行捐赠,谢谢!

## 部分功能截图:
用户中心

共321个文件
js:146个
py:43个
png:37个

需积分: 48 11 下载量 98 浏览量
2019-07-19
03:45:13
上传
评论 1
收藏 2.65MB ZIP 举报
温馨提示
VManagePlatform 是什么?一个KVM虚拟化管理平台开发语言与框架:编程语言:Python2.7 HTML JScripts前端Web框架:Bootstrap后端Web框架:Django后端Task框架:Celery RedisVManagePlatform 有哪些功能?Kvm 虚拟机生产周期管理功能资源利用率(如:CPU、MEM、磁盘、网络)实例控制(如:生存周期管理、快照技术,Web Console等等)设备资源控制(如:在线调整内存、CPU资源、热添加、删除硬盘)存储池管理增减卷,支持主流类型存储类型资源利用率网络管理支持SDN,底层网络使用OpenVSwitch/Linux Bridge,支持子网隔离,IP地址分配,网卡流量限制等等。用户管理支持用户权限,用户组,用户虚拟机资源分配等等宿主机资源利用率,实例控制环境要求:编程语言:Python2.7系统:CentOS 6网络规划:管理网络接口=1,虚拟化数据网络>=1SDN需求:OpenVswitch Or Linux BirdgeTIPS:控制服务器:执行1-10步骤节点服务器:执行2/3/4步骤,在控制服务器上执行5步骤中的ssh-copy-id为了更好的体验,建议使用Chrome或者Foxfire部分功能截图:登录页面用户注册需要 admin 激活才能登陆主页任务调度宿主机资源虚拟机资源Web Consol
资源推荐
资源详情
资源评论

















收起资源包目录





































































































共 321 条
- 1
- 2
- 3
- 4
资源评论


weixin_39840588
- 粉丝: 451
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于Python PIL的图像去重
- Python Django 餐厅点评系统源码
- 三电平VSG并网系统:基于虚拟同步发电机与双闭环控制的电压电流质量保障及工况应对
- 模拟IC设计基础:运算放大器与集成电路详解及实践指南
- 崔帕斯TP980电脑调音软件下载
- 基于Simulink仿真的FOC电流环PI参数自整定模型:电机控制系统优化与智能化升级
- 崔帕斯TP980A电脑调音软件下载
- 基于非正弦反电动势的PMSMBLDC无感控制算法优化转矩脉动
- 基于C++的点云测体积Demo,用Kinect和PCL点云库测量方体体积
- 基于C#VS2019雷赛运动控制卡实现的三轴平台写字源码毕业设计课程设计项目开发
- 电动汽车动力系统及动力经济性计算模型 - 电动汽车 说明
- 基于MATLAB图像去雾使用暗通道先验算法和Retinex图像增强算法制作的图形化界面程序源码毕业设计课程设计项目开发
- 分布式驱动车辆控制优化:'电机能量损耗与车辆稳定性之间的协调优化控制'的Simulink仿真搭建
- 文件名变绿的可尝试解决方法
- 单相并网逆变器Matlab仿真:离网仿真与PLL锁相环技术下电感电流谐波优化
- 自抗扰控制(ADRC)技术在车辆轨迹跟踪中的应用及其实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
