说明:ProxmoxVE7.0私有云平台搭建:51blog(参考文献)
(在7.0中Ceph Octopus 15.2 仍受支持相比6.2参考:ProxmoxVE中文论坛
(以下项目均在Exsi平台上创建操作)
一、 PVE安装
1. PVE安装七步曲(为节省时间直接引用51blog)
本项目中,3个节点服务器都需要安装PVE虚拟化平台,限于篇幅,这里只演示node1服务器的PVE安装过程。
• 第一步:选择红框中的选项,敲回车键,安装PVE,如图7所示。
图7. 选择安装PVE
在这里插入图片描述

• 第二步:选择红框中的选项,同意协议,如图8所示。
图8. 同意安装协议
在这里插入图片描述

• 第三步:在红框①中选择系统盘,也就是在RAID规划中创建的RAID1系统盘,接着选择下一步,如图9所示。注意,由于在做项目的时候,PVE安装的过程忘记截图,《3.1.PVE安装七步曲》采用的是虚拟机来安装PVE进行项目还原,红框①中的参数与实际有所不同,大家知道这个意思就行了,下面就不再重复,见谅。
图9. 选择安装盘
在这里插入图片描述

• 第四步:配置国家和地区信息,如图10所示。国家选择“China”,时区选择“亚洲/上海”,键盘布局选择“美式键盘”。
图10. 选择国家和地区
在这里插入图片描述

• 第五步:配置密码和邮箱信息,如图11所示。这里的密码是“root”权限的密码,用户名也是“root”。邮箱只需要是合法的都没问题,不需要验证邮箱。
图11. 配置密码和邮箱
在这里插入图片描述

• 第六步:配置网卡、主机名、IP地址、DNS等信息,如图12所示。其中,选择第一块网卡用于网络管理,按照我们的规划应该选择“eno2”网卡。主机名称“bve-node1”。IP地址和DNS等信息可配置也可不配置,留待稍后配置也可以,但是最好是配置IP地址,如果需要修改,可以使用Web UI进行修改,这样比较简单。
图12. 配置网卡、主机名、IP地址
在这里插入图片描述

• 第七步:检查核对信息,确定无误后点击安装,如图13所示。
图13. 检查核对信息
在这里插入图片描述

安装结束之后,出现图14界面证明安装成功。默认用户名为root,密码为安装时设置的密码。
图14. PVE操作系统命令行登录
在这里插入图片描述

安装结束之后自动重启,如果通过浏览器访问https://10.129.255.31:8006,出现图15界面证明安装成功。
PVE操作系统Web登录
在这里插入图片描述

其他两个节点服务器也是用PVE安装七步曲的方法来完成PVE安装。

二、 PVE环境
1.集群环境

PVEnode1-【192.168.200.123】8核16G,300G盘(有互联网)
PVEnode2-【192.168.200.124】4核8G,100G盘(无互联网)
PVEnode3-【192.168.200.125】4核8G,100G盘(无互联网)

2.节点平台

PVE-node1平台:https://192.168.200.123:8006/
PVE-node2平台:https://192.168.200.124:8006/
PVE-node3平台:https://192.168.200.125:8006/

3.用户密码

ssh端口:6122
用户名:root
密码:Csdn@123

三、 PVE集群搭建时遇到的问题
1.无效订阅解决(You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.)
解决:

vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
if (res === null || res === undefined || !res || res		修改          if  (false)	
                        .data.status.toLowerCase() !== 'active')

重启网页服务

systemctl restart pveproxy

2.更新源包时:TASK ERROR: command ‘apt-get update’ failed: exit code 100
(这个错误出现的原因是由于企业版软件源需要付费订阅才可以访问)
解决:
可以把pve-enterprise.list文件修改名称,或者进去注释此存储
root@kvm1:/etc/apt/sources.list.d# ls
pve-enterprise.list

root@kvm1:/etc/apt/sources.list.d# vim pve-enterprise.list
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

3.修改主机名后需要重启主机不然会导致web平台无法加载内容
4.本地源挂载

mkdir /mnt/cd1
vi /etc/fstab
/dev/sr0 /mnt/cd1 auto defaults  0  0
cp /etc/apt/sources.list  /etc/apt/sources.list.old 
vi /etc/apt/sources.list
deb file:/mnt/cd1 bullseye main contrib
apt-get update

5.加入集群时报错:permission denied - invalid PVE ticket (401)
重登web页面或重启网页服务

systemctl restart pveproxy
(加入集群完成后需要刷新页面才能正常使用,全部加入完成后,就可以在一个节点上管理集群中所有的节点了 )

6.时间同步服务systemd-timesyncd

vim /etc/systemd/timesyncd.conf
ntp.aliyun.com  time.asia.apple.com cn.ntp.org.cn time.windows.com
systemctl restart systemd-timesyncd
systemctl enable systemd-timesyncd
systemctl status systemd-timesyncd
timedatectl show-timesync

四、 PVE服务器配置
说明:由于本人环境特殊,故局域网内只有node1可以访问外网,所以需要单独解决一下source源的问题。

  1. 解决source源
    PVEnode1-【192.168.200.123】:
root@pve-node1:~# vim /etc/apt/sources.list.d/pve-enterprise.list
#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise	
(官方企业源需要订阅才可以使用,所以这边注释掉)
root@pve-node1:~# vim /etc/apt/sources.list
deb http://ftp.debian.org/debian bullseye main contrib

deb http://ftp.debian.org/debian bullseye-updates main contrib

# security updates
deb http://security.debian.org bullseye-security main contrib
 

在这里插入图片描述

安装nginx为node2、node3的source源做个代理:

root@pve-node1:~# apt-get install nginx
root@pve-node1:~# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz
root@pve-node1:~# vim /etc/nginx/nginx.conf#	include /etc/nginx/sites-enabled/*;    #注释掉默认配置路径(在http框内)
…
    server {								#在http框内
            	listen       80;
                server_name localhost;
		location /debian/ceph-octopus {
			proxy_pass http://download.proxmox.com/debian/ceph-octopus;
		}
        	location /debian {
        		proxy_pass http://ftp.debian.org/debian;
        	}    
  }
…
root@pve-node1:~# /usr/sbin/nginx -s reload

PVEnode2-【192.168.200.124】:(无法访问外网,node3配置一样不在叙述)

root@pve-node2:~# cat /etc/apt/sources.list.d/pve-install-repo.list 
#deb http://download.proxmox.com/debian/pve stretch pve-no-subscription
root@pve-node2:~# cat /etc/apt/sources.list
deb http://192.168.200.123/debian bullseye main contrib
deb http://192.168.200.123/debian bullseye-updates main contrib
root@pve-node2:~# cat /etc/apt/sources.list.d/ceph.list 
deb http://download.proxmox.com/debian/ceph-octopus bullseye main
root@pve-node2:~# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.200.124 pve.cephnode2.invalid pve-node2
192.168.200.123 download.proxmox.com				#ceph源所需,与nginx联动
root@pve-node2:~# apt-get  update
(更新源)
 

在这里插入图片描述

五、 PVEweb配置
1. pve集群添加
node1上操作点击“创建集群”集群名字自取,其他默认即可,点击“加入信息”再点击左下角“复制信息”。
在这里插入图片描述

然后登录node2把刚才复制的信息粘贴到“加入集群”里,node3重复node2操作,完成后如下图可以看到集群里node1、node2、node3节点。
(注意:加入集群完成后需要刷新页面才能正常使用,全部加入完成后,就可以在一个节点上管理集群中所有的节点了)
详解:
单击“加入pve-cluster”按钮之后后,集群加入过程将立即开始。节点加入集群后,其当前节点证书将被集群证书颁发机构(CA)签名的证书替换,这意味着当前会话将在几秒钟后停止工作。然后,可能需要强制重新加载Web 界面,并使用集群凭据重新登录。通俗点说,就是需要刷新下页面才能使用。
在这里插入图片描述

2. Ceph安装配置
第一步:在node1界面中,选择“Ceph→Install Ceph”,点击“Install Ceph”按钮,选择“设定→信息→Start octopus installation”,点击“Start octopus installation”按钮如图。
在这里插入图片描述

第二步:选择“设定→安装”,输入“Y”之后,按回车键,自动安装Ceph,如图所示
在这里插入图片描述

第三步:安装完成之后,继续点击“下一步”按钮,安装成功之后,会提示安装成功的信息“installed ceph octopus successfully”,如图所示。
在这里插入图片描述

第四步:完成Ceph集群配置信息,包括公共网络IP、集群网络IP等信息,Ceph集群配置,由于我是按照完后才写文档所以借别人的图用一下。
在这里插入图片描述

第五步:完成配置信息,Ceph安装成功
在这里插入图片描述

第六步:查看配置信息
node2与node3同样安装
在这里插入图片描述

3. Ceph配置监视器
Ceph安装完成之后,node1出现“监视器”和“管理员”中,还需要把node2和node3添加进来。在本项目中,监视器节点和管理员节点信息如图
在这里插入图片描述

从图中可以发现,监视器和管理网络使用的都是公共网络,没有使用集群网络
Ceph的监视器和管理HA界面:
在这里插入图片描述

4. Ceph配置OSD
由上图可知,其中sdc和sdd组成RAID1,作为系统盘使用,所以Ceph的OSD需要选择未做RAID的硬盘,每个节点的OSD只有2个。
本项目中,三个节点的Ceph的OSD磁盘配置信息如图
在这里插入图片描述

从node1中登录集群,在node1中,选择“Ceph→OSD→创建:OSD”,在磁盘中,逐次添加sdb、sdc这2块没有被使用的磁盘,数据库磁盘和WAL磁盘保持默认即可。
在这里插入图片描述

注意,在本项目中,数据库磁盘(DB Disk)和WAL磁盘(WAL Disk)我都选择了默认方式,其实做一下硬盘规划会更好。
创建其他节点的OSD与node1类似,这里不做详述。
5. Ceph配置CephFS(可选)
选择“pve-node1→Ceph→CephFS→创建CephFS”,选择默认值创建CephFS,创建之后如图所示。
在这里插入图片描述

选择“pve-node1→Ceph→CephFS→元数据服务器→创建”,将node1添加进来,如图所示。
添加元数据服务器节点
在这里插入图片描述

将node1添加到元数据服务器之后,再用同样的方法将node2、node3添加到元数据服务器之中去。

添加好元数据服务器节点之后,可以在Ceph监控界面看到元数据服务器的监控信息,如图
元数据服务器监控界面
在这里插入图片描述

6. Ceph配置Pools资源池
第一步:创建ssd_storage存储
选择“pve-node1→Ceph→Pools→创建”,点击“创建”按钮,创建名称为“ssd_storage”的存储,创建之后如图所示。
在这里插入图片描述

根据官方的文档,pg_num这个数值比较关键,如果不合适的话,Ceph会告警,官方建议:

若少于5个OSD, 设置pg_num为128。
5~10个OSD,设置pg_num为512。
10~50个OSD,设置pg_num为4096。

第二步:创建hdd_storage存储
选择“pve-node1→Ceph→Pools→创建”,点击“创建”按钮,创建名称为“hdd_storage”的存储,创建之后如图所示。

在这里插入图片描述

第三步:创建完成之后,node1左侧的存储菜单树中会出现这两个存储名称,如图所示,正常情况下,就可以在ssd_storage、hdd_storage上安装虚拟机了。
在这里插入图片描述

node2、node3的Pools资源池配置会同步node1资源池配置所以无需在单独配置(7.0特性)。

到此搭建结束,上传镜像创建所需的虚拟机吧!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐