[Open Source] A Lightweight Private Cloud Platform Implemented in Java, Enabling Enterprises to Build Their Own Cloud Platforms

Open SourceProcess Management
2026-06-28 04:48 4 次浏览 • 0 次下载 0KB
[Open Source] A Lightweight Private Cloud Platform Implemented in Java, Enabling Enterprises to Build Their Own Cloud Platforms

1. Project Overview

KVM Cloud is a lightweight private cloud platform developed in Java. It aims to help small and medium-sized enterprises quickly manage computing, storage, networking, and other resources, enabling businesses to build their own cloud platforms.

2. Open Source License

Licensed under Apache-2.0

3. Screenshots

Image

Image

Image

Image

Image

Image

4. Feature Overview

KVM Cloud is a lightweight private cloud platform developed in Java. It aims to help small and medium-sized enterprises quickly manage computing, storage, networking, and other resources, enabling businesses to build their own cloud platforms. Its features include, but are not limited to, the following:

1. Basic KVM-based VM functions (creation, startup, shutdown, reinstallation, webVNC, etc.)

2. Uses NFS as the disk storage pool.

3. Supports dynamic disk attachment and detachment.

4. Multi-host management.

5. Supports template management for quickly creating VMs.

6. Automatic virtual machine IP management.

7. Supports multiple network interfaces.

8. Supports raw, qcow, qcow2, vdi, vmdk, and vpc disk formats.

9. Disk Snapshot Support

10. VPC Concept Support Through OVS

11. Support for Configuring System Passwords via cloud-init

5. Tech Stack

Operating System

Linux(intel)

SELinux Configuration

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

SELinux Configuration

vim /etc/sysctl.conf
net.ipv4.ip_forward=1               # Set Up Forwarding and Save the Configuration
sysctl -p

Firewall Configuration

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

NFS Configuration

1. Install NFS Packages

yum -y install nfs-utils rpcbind

2. Enable Automatic Startup and Start the Service

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

3. Create a Storage Directory

mkdir -p /data/nfs

4. Edit the Configuration

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

5. Reload the exportfs File

exportfs -a

6. Edit the NFS Configuration

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

7. Restart the Service

systemctl restart rpcbind
systemctl restart nfs-server

8. Test Whether the Mount Is Working Properly

mount -t nfs 127.0.0.1:/data/nfs /mnt
df -h        ### Check here to confirm successful setup
umount /mnt

KVM

1. Verify whether the host supports virtualization

lsmod | grep kvm # Check the results to confirm whether virtualization is supported
If the virtual machine is running in VMware, enable hardware virtualization technology

2. Install KVM on the host

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

3. Configure the KVM host bridge and add a bridge

Pay special attention to this step: Use ip addr to check your network interface name. In CentOS 7, the interface name may not be eth0. Using an incorrect interface name will prevent the virtual machines from being accessed properly later! After confirming the correct interface name, configure the bridge:

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

# Be sure to use the ip addr command to check your actual network interface name. It is very likely not eth0
# For OVS configuration, refer to [OVS Network Interface Configuration Reference.txt]\(scripts%2FOVS%20%E7%BD%91%E5%8D%A1%E8%AE%BE%E7%BD%AE%E5%8F%82%E8%80%83.txt)
# Note: Change the following editing command to ifcfg-actual-interface-name
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Change DEVICE below to your actual network interface name
    BOOTPROTO=none
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    NM_CONTRLLED=no
    BRIDGE=br0

4. VNC Configuration

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

5. Libvirtd Configuration

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

Project Compilation

mvn clean package

Configuration Complete

See the README.md documentation for details
#1
资源直链https://gitee.com/cj520120/kvm-cloud
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare