• 欢迎访问举个栗子网站
  • 小说APP下载 xsz.tw 不带广告的小说站

VManagePlatform 国人开发的KVM VPS管理平台面板

程序 举个栗子 2年前 (2018-03-12) 3599次浏览 0个评论 扫描二维码
文章目录[隐藏]

VManagePlatform 是什么?

一个KVM虚拟化管理平台

开源协议GNU General Public License v2

开源声明:欢迎大家 star 或者 fork 我的开源项目,如果大家在自己的项目里面需要引用该项目代码,请在项目里面申明协议和版权信息。

项目地址:https://github.com/welliamcao/VManagePlatform

开发语言与框架:

  • 编程语言: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 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 模式
  • 第四步,为计算节点分配虚拟机
  • 第五步,配置任务调度,自动更新计算节点虚拟机资源信息

安装环境配置

一、配置需求模块

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

# 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,'mysitetemplates'),
    '/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 对您有所帮助,可以通过下列方式进行捐赠,谢谢!

VManagePlatform 国人开发的 KVM VPS 管理平台面板

部分功能截图:

用户中心

VManagePlatform 国人开发的 KVM VPS 管理平台面板
登录页面 VManagePlatform 国人开发的 KVM VPS 管理平台面板
用户注册需要 admin 激活才能登陆
VManagePlatform 国人开发的 KVM VPS 管理平台面板
主页 VManagePlatform 国人开发的 KVM VPS 管理平台面板
任务调度 VManagePlatform 国人开发的 KVM VPS 管理平台面板
宿主机资源
VManagePlatform 国人开发的 KVM VPS 管理平台面板
虚拟机资源
VManagePlatform 国人开发的 KVM VPS 管理平台面板
Web Console
VManagePlatform 国人开发的 KVM VPS 管理平台面板


举个栗子 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:VManagePlatform 国人开发的 KVM VPS 管理平台面板
喜欢 (0)
举个栗子
关于作者:
建筑工地上施工员,闲暇时弄个博客打发时间,
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址