本文介绍如何创建一个ProxmoxVE集群,并使用内部集成的Ceph作为存储。
集群包含5台主机,其中3台安装ceph作为存储节点,为剩下作为计算节点2台提供存储。
这里,5台主机均位于同一个集群中。
本文使用到的软件版本:
VMware-Workstation 15.5
pve(proxmox VE)6.0.1
ceph:ceph nautilus 最新版
ssh连接工具:xshell 6
1、环境配置
我们需要建立如下包含5台pve主机的集群:
存储节点:
pve-store1:cpu 4核 内存2g 硬盘20g+500g 桥接网络 IP地址 10.8.20.241
pve-store2: cpu 4核 内存2g 硬盘20g+500g 桥接网络 IP地址 10.8.20.242
pve-store3 :cpu 4核 内存2g 硬盘20g+500g 桥接网络 IP地址 10.8.20.243
计算节点:
pve-compute1 :cpu 4核 内存4g 硬盘20g 桥接网络 IP地址 10.8.20.244
pve-compute2 :cpu 4核 内存4g 硬盘20g 桥接网络 IP地址 10.8.20.245
2、存储节点的安装配置
先建立存储节点,并以 pve-store1为mgr建立pve集群
(1)建立虚拟机
cpu记得开虚拟化
虚拟机属性
(2)安装pve
系统安装在20g的硬盘上面
安装摘要
(3)配置pve
使用xshell6连接刚安装好的这台主机,执行下面的任务:
安装vim
apt update
apt install vim -y
安装阿里云的源
cd /etc/apt
vim sources.list.d/pve-enterprise.list
修改为
deb http://download.proxmox.wiki/debian/pve buster pve-no-subscription
cd /etc/apt/
vim sources.list
修改为:
deb http://mirrors.aliyun.com/debian buster main contrib
deb http://mirrors.aliyun.com/debian buster-updates main contrib
#安全更新
deb http://mirrors.aliyun.com/debian-security/ buster/updates main contrib
更新系统
apt update
apt upgrade -y
去除webui的订阅提示
sed -i "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
重启系统
init 6
按照上述方法安装 pve-store2、pve-store3 ,再继续进行下面的操作
(4)建立pve集群
登录pve-store1(https://10.8.20.241:8006)的web管理平台,建立名为pve-cluster的集群,并将另外2台主机加进来。具体方法可以参考本博客的第一篇文章中的相关内容。
建立好的pve集群
(5)建立ceph集群
1、在 pve-store1、pve-store2、pve-store3上都执行以下命令安装ceph
pveceph install (不带版本号安装的是最新的nautilus版)
稍等片刻,提示如下则表示安装成功
ceph安装成功
注意:计算节点不需要安装ceph。
2、建立ceph集群网络,3个存储节点上面均执行
pveceph init -network 10.8.20.0/24
3、 创建ceph集群存储Mon监控, 3个存储节点上面均执行
pveceph createmon
创建监视器mon
Ceph Monitor:由该英文名字可以知道它是一个监视器,负责监视Ceph集群,维护Ceph集群的健康状态,同时维护着Ceph集群中的各种Map图,比如OSD Map、Monitor Map、PG Map和CRUSH Map,这些Map统称为Cluster Map,Cluster Map是RADOS的关键数据结构,管理集群中的所有成员、关系、属性等信息以及数据的分发,比如当用户需要存储数据到Ceph集群时,OSD需要先通过Monitor获取最新的Map图,然后根据Map图和object id等计算出数据最终存储的位置。
4、 创建ceph集群存储OSD服务, 3个存储节点上面均执行,事先为3个存储节点添加了一块200G的新硬盘。
pveceph createosd /dev/sdb
创建osd
Ceph OSD:OSD的英文全称是Object Storage Device,它的主要功能是存储数据、复制数据、平衡数据、恢复数据等,与其它OSD间进行心跳检查等,并将一些变化情况上报给Ceph Monitor。一般情况下一块硬盘对应一个OSD,由OSD来对硬盘存储进行管理,当然一个分区也可以成为一个OSD。
5、 创建集群存储资源池,将上面3个OSD结合在一起对外提供存储服务
只在作为mgr的pve-store1上面执行
ceph osd pool create pve-pool 128 128
其中的128(pg_num)的设置:
少于 5 个 OSD 时,可把 pg_num 设置为 128
OSD 数量在 5 到 10 个时,可把 pg_num 设置为 512
OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096
创建存储池pve-pool
6、创建RBD块设备存储
RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中。这里是挂载到pve主机上,作为pve主机的存储(共享存储)。
登录pve-store1的web管理页面,依次打开:数据中心->存储->添加->选择RBD
打开添加RBD对话框
ID:填写为pve-rbd RBD设备的id
资源池:pve-pool,所属的资源池
Monitor: pve-store1 pve-store2 pve-store3,监视器
节点:暂时添加pve-store1, pve-store2, pve-store3,表示集群中哪些主机可以使用该块设备。
内容:存放的内容,选择磁盘镜像和容器,这样ceph就可以存放虚拟机的镜像和下载的LXC容器了。
添加后,可以看到集群主机下会增加一个存储
rbd块设备存储
可以查看整个ceph的状态信息
ceph集群状态
(6)ceph的相关操作
1、赋予应用相关权限
在pve-store1上执行
ceph osd pool application enable pve-pool rgw rbd
2、查看ceph有哪些存储池
ceph osd lspools
3、查看ceph的空间大小及可用大小
ceph df
可以看到目前3块500G硬盘组成的ceph存储集群,最大可用空间为473G≈500G。
4、查看ceph的副本数
ceph osd pool get pve-pool size
默认情况下是3,即存放在ceph集群中的数据会有3个副本,所以整个ceph集群的可用空间大约是(500*3(osd数目))/3(副本数)=500G(里面的算法很复杂,所以要少于500G,这里实际上是473G)
ceph副本数
设置新的副本数为2
ceph osd pool set pve-pool size 2
设置过后,可能需要很长时间的配置,ceph集群才会自动恢复正常。不是必要请不要进行该操作。
5、 为集群安装ceph Dashboard
在pve-store1上执行
apt install ceph-mgr-dashboard -y
ceph mgr module enable dashboard
ceph dashboard create-self-signed-cert
ceph dashboard ac-user-create admin admin123 administrator(其中 admin是用户名 admin123是密码 administrator指定用户是管理员)
systemctl restart ceph-mgr@pve-store1.service
访问https://10.8.20.241:8443,使用用户名admin密码admin123登录即可。
ceph Dashboard登录界面
ceph Dashboard主界面
ceph Dashboard -Hosts(主机)
ceph Dashboard -存储池,可以看到有3个副本
编辑存储池,增加另外2个应用
总之,使用这个Dashboard,可以单独管理ceph(其实一般不用)。
3、计算节点的安装配置
建立虚拟机
虚拟机名称:pve-compute1
cpu:4核,开虚拟化
内存:4g
硬盘:20g
网络:桥接模式
计算节点虚拟机配置
然后安装和配置pve,设置其主机名为: pve-compute1,ip地址设置为:10.8.20.244/24,然后更改为国内源,最后更新系统。
更新系统成功
将这台主机加入到上面的集群中
点击pve-store1的web管理平台中数据中心→集群→上面的加入信息按钮,拷贝加入信息
集群的加入信息
再打开pve-compute1的web管理平台,点击数据中心→集群→上面的加入集群按钮,在对话框中粘贴集群加入信息,输入 pve-store1 的root密码加入集群
加入集群
在pve-store1的web管理平台中可以看到新加入的主机
在pve-store1上,选择数据中心→存储→pve-rbd,再点击上面的编辑按钮
,
在节点处仅保留pve-compute1这台主机
修改好之后,在左边就可以在pve-compute1节点下面多出了一个存储
说明计算节点 pve-compute1可以使用ceph存储了。
用同样的方法创建第二个计算节点 pve-compute2,并按照上面的方法zaipve-brd的节点那加入这台主机
最后在 pve-compute1 或者 pve-compute2 上面创建、安装虚拟机测试集群,记得虚拟机的磁盘要使用pve-rbd这个存储。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。