一飞开源
阅读655

[开源]基于Java实现的轻量级私有云平台,让企业拥有自己的云平台

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

KVM Cloud 是一款基于Java实现的轻量级私有云平台,旨在帮助中小企业快速实现计算、存储、网络等资源的管理,让企业拥有自己的云平台。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

图片

图片

图片

图片

图片

图片

四、功能概述

KVM Cloud 是一款基于Java实现的轻量级私有云平台,旨在帮助中小企业快速实现计算、存储、网络等资源的管理,让企业拥有自己的云平台,包括但不限于如下功能:

1、基于KVM的VM基础功能(创建、启动、停止、重装、webVNC等功能)

2、使用NFS作为磁盘存储池

3、支持磁盘动态添加取消

4、多主机管理

5、支持模版维护,用于快速创建VM

6、虚拟机IP自动管理

7、多网卡支持

8、支持 raw、qcow、qcow2、vdi、vmdk、vpc磁盘格式

9、磁盘快照支持

10、通过OVS支持VPC概念

11、支持cloud-init配置系统密码

五、技术选型

操作系统

Linux(intel)

SELinux配置

setenforce 0
vi /etc/selinux/config
SELINUX=permissive

SELinux配置

vim /etc/sysctl.conf
net.ipv4.ip_forward=1               # 设置转发并保存
sysctl -p

防火墙配置

systemctl stop firewalld
systemctl disable firewalld
systemctl stop iptables
systemctl disable iptables

NFS配置

1、安装NFS软件包

yum -y install nfs-utils rpcbind

2、设置开机自启以及启动服务

systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server

3、新建存储文件夹

mkdir -p /data/nfs

4、编辑配置

vi /etc/exports
/data/nfs *(rw,async,no_root_squash)

5、重新加载exportfs文件

exportfs -a

6、编辑nfs配置

vi /etc/sysconfig/nfs
 LOCKD_TCPPORT=32803
 LOCKD_UDPPORT=32769
 MOUNTD_PORT=892
 RQUOTAD_PORT=875
 STATD_PORT=662
 STATD_OUTGOING_PORT=2020

7、重新服务

systemctl restart rpcbind
systemctl restart nfs-server

8、测试挂载是否正常

mount -t nfs 127.0.0.1:/data/nfs /mnt
df -h        ###查看有了代表成功
umount /mnt

KVM

1、验证主机是否支持虚拟化

lsmod | grep kvm #查看结果确认是否支持虚拟化
如果是vmware开启的虚拟机,请启用虚拟化技术

2、主机安装KVM

yum install qemu-kvm libvirt bridge-utils
yum install java-1.8.0-openjdk* -y

3、配置KVM 主机网桥,增加一个网桥

这一步一定注意:使用ip addr查看你的网卡名,在CentOS 7中网卡名可能不是eth0,错误的网卡名会导致后期配置的虚拟机无法正常被访问到!确认网卡名无误后配置网桥:

vi /etc/sysconfig/network-scripts/ifcfg-br0
 DEVICE=br0
 TYPE=Bridge
 ONBOOT=yes
 BOOTPROTO=static
 IPADDR=192.168.2.130
 NATMASK=255.255.255.0
 PREFIX=24
 GATEWAY=192.168.2.1
 DNS1=8.8.4.4
 DNS2=8.8.8.8

# 务必使用 ip addr 命令查看你的实际网卡名,他很可能不是eth0
# 如需ovs配置,请参考[OVS 网卡设置参考.txt](scripts%2FOVS%20%E7%BD%91%E5%8D%A1%E8%AE%BE%E7%BD%AE%E5%8F%82%E8%80%83.txt)
# 下面这个编辑命令注意改成 ifcfg-实际网卡名
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 下面这个DEVICE注意改成 实际网卡名
 BOOTPROTO=none
 NAME=eth0
 DEVICE=eth0
 ONBOOT=yes
 NM_CONTRLLED=no
 BRIDGE=br0

4、VNC 配置

vi /etc/libvirt/qemu.conf
    vnc_listen="0.0.0.0"

5、Libvirtd配置

vi /etc/libvirt/libvirtd.conf
 listen_tls = 0
 listen_tcp = 1
 unix_sock_group = "root"
 unix_sock_rw_perms = "0777"
 auth_unix_ro = "none"
 auth_unix_rw = "none"
 tcp_port = "16509"
 listen_addr = "0.0.0.0"
 auth_tcp = "none"
vi /etc/sysconfig/libvirtd
 LIBVIRTD_ARGS="--listen"
systemctl restart libvirtd

项目编译

mvn clean package

完成配置

详细内容请查看 README.md 文档

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章