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.rhkb.cn/news/196364.html

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

相关文章

【2】SM2验签工具和RSA验签工具

0X01 前言 最近看了好多验签工具,感觉不是很好用,就自己造了个。 0x02 工具功能介绍 对SM2算法进行验签和RSA算分进行验签,签名值可以是base64,也可以是十六进制。 兼容各种输入。 0x03 工具使用 RSA 验签 SM2 验签 0x04 工具…

浏览器页面被恶意控制时的解决方法

解决360流氓软件控制浏览器页面 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、接受360安全卫士的好意(尽量不要选)二、拒绝360安全卫士的好意(强烈推荐)第…

Odoo:行业领先的免费开源财务管理解决方案

面向现代企业的财务和会计软件 可靠关账,更快速、更准确地报告财务数据 Odoo ERP财务和会计软件可帮助财务主管设计、革新和理顺财务流程和运营。Odoo ERP无缝整合各种核心财务和会计功能,提供强大的合规管理特性,有助于企业改善业务绩效、提…

一种基于NB‑IOT的粮库挡粮门异动监测装置

一种基于NB‑IOT的粮库挡粮门异动监测装置,包括若干个NB‑IOT开门监测装置、物联网后台管理系统、NB‑IOT低功耗广域网络和用户访问终端;各个NB‑IOT开门监测装置通过NB‑IOT低功耗广域网络与物联网后台管理系统连接,物联网后台管理系统与用户访问终端连接。 我国以往粮食收储…

MATLAB中Filter Designer的使用以及XILINX Coefficient(.coe)File的导出

文章目录 Filter Designer的打开滤波器参数设置生成matlab代码生成XILINX Coefficient(.COE) File实际浮点数的导出官方使用教程 Filter Designer的打开 打开Filter Designer: 方法一:命令行中输入Filter Designer,再回车打开。 方法二&…

Milvus Standalone安装

使用Docker Compose安装 Milvus standalone(即单机版),进行一个快速milvus的体验。 前提条件: 1.系统可以使用centos 2.系统已经安装docker和docker-compose 3.milvus版本这里选择2.3.1 由于milvus依赖etcd和minio&#xff0c…

数据结构和算法八股与手撕

数据结构和算法八股文 第一章 数据结构 1.1 常见结构 见http://t.csdnimg.cn/gmc3U 1.2 二叉树重点 1.2.1 各种树的定义 满二叉树:只有度为0的结点和度为2的结点,并且度为0的结点在同一层上 完全二叉树:除了最底层节点可能没填满外&…

北邮22级信通院数电:Verilog-FPGA(9)第九周实验(4)实现寄存器74LS374

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 1.1 reg_74LS374.v 1.2 reg_LS3…

Adobe Illustrator——原创设计的宝藏软件

今天,我们来谈谈一款在Adobe系列中曾经多次给大家都提到的原创性极强的设计理念丰富的矢量图形编辑软件——Adobe Illustrator。 Adobe Illustrator,其定位是一款与Photoshop相类似对矢量图形进行编辑的软件。 Adobe Illustrator,作为全球最著…

镀膜与干刻中的平均自由程是什么?

在芯片制造中,镀膜和干刻是其中的重要环节,通常要用到CVD,RIE等技术,对材料表面进行纳米级的精细操作。在这些工序中,原子,分子,离子等,会在气体或真空中进行自由运动,直…

C++类与对象(1)—初步认识

目录 一、面向过程和面向对象 二、类 1、定义 2、类的两种定义方式 3、访问限定符 4、命名规范化 5、类的实例化 6、计算类对象的大小 7、存储方式 三、this指针 1、定义 2、存储位置 3、辨析 四、封装好处 一、面向过程和面向对象 C语言是面向过程的&#xf…

基于单片机的温度控制器系统设计

**单片机设计介绍, 基于单片机的温度控制器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的温度控制器系统是一种利用单片机来检测环境温度并控制温度的系统。它通常由以下几个部分组成&#xff…

Zookeeper Java 开发,自定义分布式锁示例

文章目录 一、概述二、导入依赖包三、创建锁的过程3.1 通过 create 创建节点信息3.2 AsyncCallback.StringCallback 回调函数3.3 AsyncCallback.Children2Callback 的回调函数3.4 Watcher 的回调函数 四、完整示例4.1 完整分布式锁代码4.2 测试类 如果您还没有安装Zookeeper请看…

让你的Mac体验更便捷,快速启动工具Application Wizard为你助力!

亲爱的Mac用户们,你是否经常感到在繁琐的软件启动过程中浪费了太多时间?你是否希望能够以更快的速度找到并启动你所需的应用程序?如果是的话,那么不要犹豫,让我们来介绍一款强大的软件快速启动工具——Application Wiz…

uniapp app tabbar 页面默认隐藏

1.在page.json 中找到tabbar visible 默认为true,设为false则是不显示 uni.setTabBarItem({ index: 1, //列表索引 visible:true //显示或隐藏 })

12-1- GAN -简单网络-线性网络

功能 随机噪声→生成器→MINIST图像。 训练方法 0 损失函数:gan的优化目标是一个对抗损失,是二分类问题,用BCELoss 1 判别器的训练,首先固定生成器参数不变,其次判别器应当将真实图像判别为1,生成图像判别为0 loss=loss(real_out, 1)+loss(fake_out, 0) 2 生成器的…

开源简历生成器OpenResume

什么是 OpenResume ? OpenResume 是一个功能强大的开源简历生成器和简历解析器。OpenResume 的目标是为每个人提供免费的现代专业简历设计,让任何人都能充满信心地申请工作。 OpenResume 有 5 个核心特点: 特征描述1. 实时UI更新当您输入简历…

高德地图系列(一):vue项目如何使用高德地图、入门以及基本控件使用

目录 第一章 前言 第二章 准备工作 2.1 账号注册 2.2 高德地图开发平台文档 2.3 创建应用 第三章 使用地图 3.1 地图使用步骤 3.2 理解几个地图基础控件 3.3 基础类理解 第一章 前言 小编都是在vue项目中使用高德地图的,每一个功能都会亲测可用之后才会…

【机器学习10】循环神经网络

1循环神经网络 RNN通过将神经元串行起来处理序列化的数据。 由于每个神经元能用它的内部变量保存之前输入的序列信息,因此整个序列被浓缩成抽象的表示, 并可以据此进行分类或生成新的序列。 2 循环神经网络的梯度消失或梯度爆炸问题 传统的循环神经网…

WPF xaml Command用法介绍

WPF (Windows Presentation Foundation) 中的命令设计模式是一种用于分离用户界面逻辑和业务逻辑的方法。在WPF中,这种模式通过命令接口(如 ICommand)实现,使得用户界面组件(如按钮、菜单项等)可以触发不直…