KVM Cloud云平台

项目介绍

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配置系统密码

关于升级

目前不支持V1、V2升级到最新版本
V3.0升级时请重新上传系统模版文件Cloud-System-v3.1.qcow2(md5:2696ca0d762279bc386b03c8cea82cd7),并在模版页面点击重新下载

操作系统

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/nfsLOCKD_TCPPORT=32803LOCKD_UDPPORT=32769MOUNTD_PORT=892RQUOTAD_PORT=875STATD_PORT=662STATD_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-br0DEVICE=br0TYPE=BridgeONBOOT=yesBOOTPROTO=staticIPADDR=192.168.2.130NATMASK=255.255.255.0PREFIX=24GATEWAY=192.168.2.1DNS1=8.8.4.4DNS2=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=noneNAME=eth0DEVICE=eth0ONBOOT=yesNM_CONTRLLED=noBRIDGE=br0
4、VNC 配置  
vi /etc/libvirt/qemu.confvnc_listen="0.0.0.0"
5、Libvirtd配置
vi /etc/libvirt/libvirtd.conflisten_tls = 0listen_tcp = 1unix_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/libvirtdLIBVIRTD_ARGS="--listen"
systemctl restart libvirtd 
项目编译
mvn clean package

完成配置

1、导入mysql表及相关数据

脚本位于scripts下

2、安装Redis

3、修改配置文件

4、分别启动管理端及Agent端,浏览页面:http://localhost:8080/

管理端: java -jar cloud-management-1.0-SNAPSHOT.jar --spring.config.location=server.yaml
Agent: java -jar cloud-agent-1.0-SNAPSHOT.jar --spring.config.location=client.properties--spring.config.location 是可选项,用于指定配置文件,如果不需要修改,可以去掉,配置文件为各自模块下的src/main/resources/application.properties文件

5、平台登陆账号默认用户名/密码:admin/123456

6、创建基础网络

采用桥接网络配置,IP地址段与主机主机段需保持一致,可通过起始IP与结束IP和主机网络进行分离,防止IP冲突,Vlan只支持OVS方式

7、创建主机

8、创建存储池(只支持nfs)

9、下载基础模版(系统模版选择cloud/v3/Cloud-System-V3.1.qcow2)

链接: 百度网盘 请输入提取码 提取码: 1bpn

10、安装nginx,配置基础下载地址,并在页面完成模版配置

11、等待系统模版下载完成,并初始化系统VM成功

12、windows附加磁盘时请安装virtio-win.iso驱动

13、创建VM

相关问题

1、关于找不到配置文件问题导致数据库连接问题

server.yaml 和 client.properties 内容分别为management和agent项目下的application.yaml和application.properties的文件,运行时自行修改名称及相关配置

2、关于备份与恢复

对数据库和存储池进行完整备份;
数据无价,建议对虚拟机中的数据进行备份

3、关于网络隔离

    1)、目前只支持OVS桥接状态下的Vlan模式,如需使用,请自行安装OVS。2)、负载均衡器可通过挂载基础网络网卡的方式自行实现。
​

4、个别windows系统无法找到引导的问题

    1)、首先确认创建的ISO系统类型是否正确2)、如果确认系统类型没有问题,可以通过老毛桃做一个PE的ISO镜像,在创建系统的时候可以通过PE镜像创建,然后进入PE系统,在页面上卸载光盘,重新挂载你要安装的操作系统,然后通过PE安装就可以正常安装了

5、windows系统磁盘不识别问题

    1)、windows没有virto的驱动,请安装virtio-win.iso驱动2)、如果是系统盘则需要在磁盘选择页面临时挂载virtio-win.iso驱动后安装或选择ide总线方式

6、服务器掉电重启后处理

   1、服务器掉电重启后,请在页面手动关闭所有自己创建的虚拟机,然后重新启动,系统虚拟机有自动检测重启功能,无需处理2、掉电可能引起虚拟磁盘损坏,如无法启动,可通过qemu-img check检查并进行相应修复

7、虚拟机虚拟化嵌套

1、验证KVM 宿主机是否启用了嵌套虚拟化:基于 Intel 的处理器运行以下命令:cat /sys/module/kvm_intel/parameters/nested基于 AMD 的处理器运行以下命令: cat /sys/module/kvm_amd/parameters/nested上述命令输出N /0表示嵌套虚拟化是禁用的。如果我们得到的输出是Y/1 则表示在您的宿主机已启用嵌套虚拟化
2、如果需要启用嵌套虚拟化,使用以下内容创建一个文件名为/etc/modprobe.d/kvm-nested.conf 的文件:options kvm-intel nested=1options kvm-intel enable_shadow_vmcs=1options kvm-intel enable_apicv=1options kvm-intel ept=1
3、reboot 重启机器
4、现在验证嵌套虚拟化功能是否启用cat /sys/module/kvm_intel/parameters/nested

8、cloud-init相关配置(如需禁用,请在管理配置文件中设置app.route.type:dhcp)

1、cloud-init只支持dnsmasq下发方式
2、cloud-init数据源采用NoCloud,请修改cloud相关配置如下:datasource:NoCloud:seedfrom: http://169.254.169.254/datasource_list: [  NoCloud ]
​
3、系统模板在安装cloud-init后手动设置相关配置1)、设置允许密码登录:设置ssh_pwauth:   12)、可设置允许root登录:disable_root: 1 3)、ubuntu修改/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg 保证默认网卡名和分配网卡名一致4)、目前只测试了Centos与Ubuntu,Windows请自行实现相关初始化行为5)、密码只对应默认用户,具体请查看system_info.default_user相关配置6)、其他配置请参照cloud-init相关配置进行安装7)、对系统模板请安装qemu-command-agent,并进行相关配置4、目前只提供Centos7及Ubuntu18.04的系统模版,其他系统模版,请自行实现1)、Centos默认用户名为centos,密码为创建系统时输入的密码2)、Ubuntu默认用户名为ubuntu,密码为创建系统输入的密码3)、系统模版不支持root用户名密码登录,如需root登录,请自行修改
​

9、页面删除主机后,如需要重新加入主机,请删除该主机Agent目录下config.json,然后重启Agent

10、关于提示签名错误问题,请确保管理端跟agent端时间同步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/191146.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zabbix Proxy分布式监控

目录 Zabbix Proxy简介 实验环境 proxy端配置 1.安装仓库 2.安装zabbix-proxy 3.创建初始数据库 4.导入初始架构和数据,系统将提示您输入新创建的密码 5.编辑配置文件 /etc/zabbix/zabbix_proxy.conf,配置完成后要重启。 agent客户端配置 zabbix…

【容器化】Kubernetes(k8s)

文章目录 概述Docker 的管理痛点什么是 K8s云架构 & 云原生 架构核心组件K8s 的服务注册与发现组件调用流程部署单机版部署主从版本Operator来源拓展阅读 概述 Docker 虽好用,但面对强大的集群,成千上万的容器,突然感觉不香了。 这时候就…

计算机msvcp120.dll丢失?msvcp120.dll丢失5种简单的解决方法分享

你们是否在电脑操作过程中常看到一段类似“msvcp120.dll缺失或损坏”的报错信息?这可能会干扰大家的日常应用程序使用,怎么办呢?别担心,接下来就是一篇详细的步骤来教你如何应对这种情况,让你们的电脑运作如初&#xf…

kaggle项目部署

目录 流程详细步骤注意事项 流程 修改模块地址打包项目上传到kaggle Datasets创建code文件,导入数据与项目粘贴train.py文件,调整超参数,选择GPUsave version,后台训练查看训练结果 详细步骤 打开kaggle网站,点击da…

qtpdfium的编译及读取pdf文件和一些简单操作

qtpdfium是谷歌的一款开源项目,它的内核是基于国内的福昕pdf,许可协议为 BSD 3-Clause,允许用于闭源商业行为 下载 我们可以从git上进行下载,github,如果嫌下载速度慢,可以从csdn进行下载csdn 下载完成之…

[Windows Server 2019] 安装与配置邮件服务器

文章目录 安装Winmail邮件服务器配置域名配置更改默认端口验证安装Winmail邮件服务器 Winmail官网

​分享mfc140u.dll丢失的解决方法,针对原因解决mfc140u.dll丢失的问题

作为电脑小白,如果电脑中出现了mfc140u.dll丢失的问题,肯定会比较的慌乱。但是出现mfc140u.dll丢失的问题,其实也有很简单的办法,所以大家不用慌张,接下来就教大家解决办法,能够有效的解决mfc140u.dll丢失的…

数据结构与算法-哈夫曼树与图

🌞 “永远积极向上,永远豪情满怀,永远热泪盈眶!” 哈夫曼树与图 🎈1.哈夫曼树🔭1.1树与二叉树的转换🔭1.2森林与二叉树的转换🔭1.3哈夫曼树🔎1.3.1哈夫曼树的概念&#x…

CV计算机视觉每日开源代码Paper with code速览-2023.11.14

点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构:Transformer】Aggregate, Decompose, and Fine-Tune: A Simple Yet Effective Factor-Tuning Method for Vision…

shopee地区选品:深入了解选品工具——知虾,优化您的销售策略

作为一家社交电商平台,Shopee拥有庞大的用户群体和海量的交易数据,这使得该平台的选品数据对于卖家来说非常宝贵。在这方面,知虾工具是一款强大的分析工具,可以帮助卖家深入了解用户的消费习惯、喜好和需求,从而更准确…

3D建模基础教程:可编辑多边形建模的基础认识

可编辑多边形建模是3D建模中的一种常见方法,它允许用户对模型进行细致的调整和编辑。以下是对可编辑多边形建模的详细介绍: 1、层级概念:在可编辑多边形建模中,有五个层级,分别是点层级、边层级、边界层级、面层级和元…