CentOS 7.2 安装部署 Ceph 及添加 PG
admin
2023-04-10 21:08:22
0

前期准备:
准备三台CentOS 7.2系统,每台机器三块硬盘,关闭selinux,关闭iptables,做好时间同步,做好本地域名解析,并对每台机器做互信。
192.168.10.101 ceph-node1
192.168.10.22 ceph-node2
192.168.10.33 ceph-node3
每台机器上有三个osd,整个集群共九个osd。


在每台机器上 /etc/yum.repos.d/目录下创建 ceph.repo然后写入以下内容

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1


在ceph-node1创建文件夹,用ceph-deploy安装时,会生成很多文件。
mkidr /home/ceph && cd /home/ceph

安装ceph-depoly
yum install -y ceph-deploy

创建ceph集群
ceph-depoly new ceph-node1 ceph-node2 ceph-node3

ceph初始默认三副本,可以更改副本数。在生成的ceph.conf中加入(写入[global] 段下)
osd pool default size = 2

如果有多个网卡,可以把 public network 写入 ceph 配置文件的 [global] 段下
public network = 192.168.10.0/24

安装ceph
ceph-deploy install ceph-node1 ceph-node2 ceph-node3

向ceph集群上报osd
ceph-deploy osd prepare ceph-node1:/dev/sdb ceph-node1:/dev/sdc ceph-node1:/dev/sdd ceph-node2:/dev/sdb ceph-node2:/dev/sdc ceph-node2:/dev/sdd ceph-node3:/dev/sdb ceph-node3:/dev/sdc ceph-node3:/dev/sdd

激活集群中的osd
ceph-deploy osd activate ceph-node1:/dev/sdb ceph-node1:/dev/sdc ceph-node1:/dev/sdd ceph-node2:/dev/sdb ceph-node2:/dev/sdc ceph-node2:/dev/sdd ceph-node3:/dev/sdb ceph-node3:/dev/sdc ceph-node3:/dev/sdd

ceph -s 查看健康状况 创建完成!!!


[root@ceph-node1 local]# ceph -s
cluster dc045fd8-0851-4052-8791-25cb6e5b3e8e
health HEALTH_WARN
too few PGs per OSD (21 < min 30)
monmap e1: 3 mons at {ceph-node1=192.168.10.101:6789/0,ceph-node2=192.168.10.22:6789/0,ceph-node3=192.168.10.33:6789/0}
election epoch 8, quorum 0,1,2 ceph-node2,ceph-node3,ceph-node1
osdmap e44: 9 osds: 9 up, 9 in
flags sortbitwise,require_jewel_osds
pgmap v113: 64 pgs, 1 pools, 0 bytes data, 0 objects
971 MB used, 45009 MB / 45980 MB avail
64 active+clean

由于改集群是新建集群,只有一个池,由于pg过少导致每个osd上的pg未达到配置文件的上线所以存在告警

查看某个池的pg个数
ceph osd pool get rbd pg_num
pg_num: 64

pgs为64,因为是3副本的配置,所以当有9个osd的时候,每个osd上均分了64/9 *3=21个pgs,也就是出现了如上的告警 小于最小配置30个

修改rbd池的pg个数
ceph osd pool set rbd pg_num 256
set pool 0 pg_num to 256

gpg的个数要与pg个数一致 修改rbd池的pgp个数
sudo ceph osd pool set rbd pgp_num 256
set pool 0 pgp_num to 256
修改完成等待集群同步,故障解决。

注意:生产环境不可以批量添加pg,pgp。要没添加一个,等待同步完成再添加下一个pg。

每个池添加pg个数根据如下公式计算:

{(每个OSD的目标PG)x(OSD#)x(%数据)}/(尺寸)
1.每个OSD的目标PG约100个
2.如果上述计算的值小于(OSD#)/(大小)的值,则将该值更新为(OSD#)/(大小)的值。这是为了通过为每个池的每个OSD分配至少一个主要或辅助PG来确保均匀的负载/数据分发。
3.然后将输出值四舍五入到最接近的2的幂。
提示:最接近的2的幂提供了CRUSH算法效率的微小改进。
4.如果最接近的2的幂次方比原始值低25%以上,则使用下一个更高的2的幂。

相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...