高可用一直以来都是服务器追求的目标,为此还诞生出SLA这个概念,至文档编写时官方开源版本与专业版并不支持HA高可用,仅在官方技术文档里看到有人编写过k3s,k8s集群中通过HelmChart的部署方案。
本人家中虚拟化服务器主系统用的是PVE系统,觉得PVE也很适合拿来当集群系统,为此写下这篇文档
本篇文章首次发表于本博客,授权长亭论坛用户Zorua_Fox发布于长亭论坛
部署前准备
准备两台PVE服务器,配置在4C8G,如需要跑其他业务配置可以适当往上增加,虚拟机系统为debian 12,配置在2C4G,一台PVE作为主服务器,另一台PVE作为备用服务器。当前文档配置信息如下:
主机名 | 主机IP | 硬盘 | 用途 |
PVEA | 192.168.15.9/24 | 两块硬盘 | 主PVE服务器 |
PVEB | 192.168.15.13/24 | 两块硬盘 | 备PVE服务器 |
PVEC | 192.168.15.18/24 | 两块硬盘 | 备PVE服务器 |
WAF | 192.168.15.14/24 | 一块硬盘 | WAF服务器 |
开始部署:
创建PVE虚拟机:
名称这里自定义,这边为了区分就用PVEA,PVEB,PVEC区分,下一步
ISO镜像选择PVE的ISO文件,下一步
系统这里保持默认,下一步
磁盘这里添加两块32G的硬盘,下一步
CPU核心这里输入4,下一步
内存这里输入8196,下一步
网络这里保持默认,下一步
到最后一步点击完成即可完成创建
PVE安装:这里没什么可以讲的就略过了
PVE合并分区:
PVE安装的时候会创建LVM并且分成两个分区,这样很不利于管理,为此需要合并分区,首先输入https://PVE服务器地址:8006,点击高级,再点击继续访问 192.168.15.13 (不安全)
输入root以及刚才你安装时输入的密码,点击语言选择简体中文,登录
点击shell,输入lvremove pve/data回车,按y回车
再输入lvextend -l +100%FREE -r pve/root回车
这样两个分区就合并了,再点击上面的数据中心,存储,选中local-lvm点移除,点是
这样两个分区就整合在一起了,另外两台PVE服务器也进行同样的配置
PVE加入集群:
随机选中一台服务器中的数据中心,点击集群,创建集群,名称自定义,我这边为了方便就输入WAF,点击创建
等待完成,完成后点击右上角的×
点击加入集群,复制左下角的复制信息
来到另一台PVE中的数据中心,集群,加入集群,把刚才复制的内容复制进去,输入刚才PVE服务器的root密码,点击加入
等待完成后点击右上角的×,这时候会显示网络错误,不要慌刷新一下网页重新登录,你就会发现已经加入集群了,另一台机也进行相同的操作
在下面找到HA,群组,创建,把三台服务器都选上,优先都填1,OK
Ceph:
Ceph的作用就是让两个PVE服务器的存储空间共享,这样才能做到文件互通
点击任意节点中的Ceph,点击安装Ceph
在存储库那选择无订阅,点击开始reef安装
输入Y回车
等待安装
安装完成,点击下一步
在Public Network选择vmbr0,下一步
完成
另外两台PVE服务器也做同样的操作
随后点击其中一个PVE服务器,找到Ceph,点击OSD,点击创建创建OSD,选择硬盘,创建
另两台PVE服务器也做相同的设置
设置完成后,点击监视器,在监视器和管理员这两栏中点击创建,把没有添加进去的PVE服务器给添加进去
点击CephFS,在元数据服务器那一栏点击创建,把三个服务器都添加进去
完成后点击上面的创建CephFS,创建
完成后点击右上角的叉叉
点击下面的资源池,创建,名称自定义,创建
这时候点击这三个服务器旁边的方向键就能看到这三个服务器都添加上了存储
创建虚拟机:
随便一个PVE服务器上点击local,ISO镜像,从URL下载,粘贴Debian镜像链接(debian镜像可以在debian官网上找到),查询网址,下载
下载完成后点击右上角的×
点击右上角的创建虚拟机,名称自定义,下一步
存储选择local,选中刚才下载完成的镜像,下一步
下一步到系统,这里qemu代理勾上,下一步
这里核心输入2,下一步
内存输入4096,下一步
下一步
完成
选中100,更多点击管理HA,群组选择上面创建的,添加
点击启动,再点击控制台
Debian安装:
回车
选择简体中文,点击continue
一路继续,主机名这可以自定义,继续
在这里输入自己要设定的root密码,继续
输入要设定的用户名,继续
创建一个用户密码,继续
在这里一路继续
选择是,继续
等待安装完成
点击否,继续
默认,继续
保持默认,继续
继续,等待完成
选择否,继续
把上面的都取消,勾选ssh server ,继续
等待完成
选择是,继续
选择下面那块硬盘,继续
点击继续重启系统
安装WAF:
先在控制台输入root回车,输入密码,ip add回车查询IP地址
打开ssh连接工具,我这边用的是Windows自带的,输入ssh 你安装的时候创的用户名@刚才查询的IP地址,确定
初次连接输入yes回车,输入密码回车
su回车,输入密码
输入vi /etc/apt/sources.list回车,一直按D ,按a,把以下内容复制进去
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib
deb https://security.debian.org/debian-security bookworm-security main contrib
deb-src https://security.debian.org/debian-security bookworm-security main contrib
按一下esc,按住shift,:+wq回车
执行apt update回车
输入apt install python3 curl-y回车下载安装curl、python3
打开雷池官网,点击立即安装,复制自动安装,粘贴上去回车
输入1回车
y回车,等待安装
等待完成拉取docker镜像
完成后就能在浏览器上配置WAF了
这时候我们强制关闭PVEA的电源
过了一段时间后可以发现虚拟机已经出现在另一个机器上了