ceph集群的扩容缩容

这篇具有很好参考价值的文章主要介绍了ceph集群的扩容缩容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


实验所用虚拟机均为Centos 7.6系统,8G内存,16核CPU:
Ceph-admin: 用作ntp server和ceph本地源
Ceph-1: ceph-deploy、mon1、osd3
Ceph-2: mon1、osd3
Ceph-3: mon1、osd3

集群扩容

添加osd

使用ceph-deploy工具

见文章中的“添加磁盘”

手动添加

参考文章:https://cloud.tencent.com/developer/article/1664651

在新osd主机上创建osd,并创建数据目录
命令格式:ceph osd create [{uuid} [{id}]]
如果未指定 UUID, OSD 启动时会自动生成一个。
一般来说,不建议指定 {id} 。因为 ID 是按照数组分配的,跳过一些依然会浪费内存;尤其是跳过太多、或者集群很大时,会更明显。若未指定 {id} ,将用最小可用数字。
ceph集群的扩容缩容,ceph,ceph格式化磁盘,并将其挂载到刚才创建的数据目录下
ceph集群的扩容缩容,ceph,ceph
ceph集群的扩容缩容,ceph,ceph

ceph集群的扩容缩容,ceph,ceph将新的osd添加到crushmap中:
为新osd创建bucket。
再将对应的host移到root下,然后把OSD移到对应的host下面,注意添加OSD时的weight是该OSD的实际大小

[root@ceph-1 ~]# ceph osd crush add-bucket root-240G root
added bucket root-240G type root to crush map
[root@ceph-1 ~]# ceph osd crush add-bucket ceph-2-240G host
added bucket ceph-2-240G type host to crush map
[root@ceph-1 ~]# ceph osd crush move ceph-2-240G root=root-240G
moved item id -11 name 'ceph-2-240G' to location {root=root-240G} in crush map
[root@ceph-1 ~]#
[root@ceph-1 ~]# ceph osd crush add osd.12 0.24 host=ceph-2-240G
add item id 12 name 'osd.12' weight 0.24 at location {host=ceph-2-240G} to crush map
[root@ceph-1 ~]#

然后开启osd.12服务
状态出错
ceph集群的扩容缩容,ceph,ceph
然后上网搜索,将osd服务的启动间隔设置为1分钟
ceph集群的扩容缩容,ceph,ceph重新加载服务配置
[root@ceph-2 ~]# systemctl daemon-reload

还是不能正常启动
查看日志:

[root@ceph-2 ~]# cd /var/log/ceph
[root@ceph-2 ceph]# cat ceph-osd.12.log

ceph集群的扩容缩容,ceph,ceph
应该是目录 /var/lib/ceph/osd/ceph-12 权限有问题
修改目录权限:

[root@ceph-2 ceph]# chown -R ceph:ceph /var/lib/ceph/osd/ceph-12

ceph集群的扩容缩容,ceph,ceph
启动成功。
ceph集群的扩容缩容,ceph,ceph

添加节点

在此实验中,将ceph-admin节点作为新节点加入ceph集群

由于在之前的实验中,ceph-admin节点作为ntp时间同步服务器,ceph-1节点、ceph-2节点和ceph-3节点作为ntp客户端向ceph-admin节点同步时间。因此,这里就不用再设置时间同步了、

在ceph-admin节点首先安装ceph

新节点前期准备

前期准备包括关闭火墙、添加域名解析、安装ceph、配置时间同步。具体可以参考文章。

新节点安装ceph,出现版本冲突

在节点执行 yum install ceph ceph-radosgw -y
报错如下:
提示已经安装了10.2.5版本
目前再安装10.2.2版本,造成了冲突
ceph集群的扩容缩容,ceph,ceph
ceph集群的扩容缩容,ceph,ceph

先卸载已经安装的 10.2.5版本
yum remove ceph-common-10.2.5-4.el7.x86_64 -y
yum remove librados2-10.2.5-4.el7.x86_64 -y
yum remove  librbd1-10.2.5-4.el7.x86_64 -y

阿里云镜像:http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
先将10.2.11版本的所有相关包都下载,然后直接安装下载好的rpm包.
ceph集群的扩容缩容,ceph,ceph直接 yum install *,即可安装完成

或者 vim /etc/yum.repos.d/ceph.repo

[root@ceph-admin yum.repos.d]# cat ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
priority =1

[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
priority =1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS
gpgcheck=0
priority=1

#然后安装ceph
[root@ceph-admin yum.repos.d]# yum -y install ceph ceph-radosgw

安装完成

ceph集群的扩容缩容,ceph,ceph

ceph集群的扩容缩容,ceph,ceph

ceph-deploy增加节点

列出ceph-admin节点上的磁盘

[root@ceph-1 cluster]# ceph-deploy disk list ceph-admin
[root@ceph-1 cluster]# ceph-deploy osd prepare ceph-admin:/dev/vdb
[root@ceph-1 cluster]# ceph-deploy osd activate ceph-admin:/dev/vdb1

此时看ceph-admin节点
ceph集群的扩容缩容,ceph,ceph
查看此时的 osd tree
ceph集群的扩容缩容,ceph,ceph
可以新创建一个host,名为ceph-admin-240G ,将其移入root-240G。然后讲新增的osd.14加入host ceph-admin-240G中。

[root@ceph-1 cluster]# ceph osd crush add-bucket ceph-admin-240G host
added bucket ceph-admin-240G type host to crush map
[root@ceph-1 cluster]# ceph osd crush move ceph-admin-240G root=root-240G
moved item id -13 name 'ceph-admin-240G' to location {root=root-240G} in crush map
[root@ceph-1 cluster]# ceph osd crush add osd.14 0.24 host=ceph-admin-240G
add item id 14 name 'osd.14' weight 0.24 at location {host=ceph-admin-240G} to crush map

ceph集群的扩容缩容,ceph,ceph

集群缩容

删除osd

参考文章中的“删除磁盘”

需要注意的是,在删除osd磁盘之前,需要先将osd的权重设置为0.待集群恢复平衡之后,再继续操作。删除osd的完整步骤为:

ceph osd crush reweight osd.x 0.0
... 等待平衡结束....
ceph osd out osd.x
systemctl stop ceph-osd@x.service   #在待删除的osd所在节点上执行
ceph osd crush remove osd.x
ceph auth del osd.x
ceph osd rm osd.X

删除节点

参考文章:https://blog.csdn.net/nasooo/article/details/117947537

使用以下命令,在ceph-1(monitor)节点上,添加ceph-admin节点的新磁盘

ceph-deploy disk list ceph-admin
ceph-deploy disk zap ceph-admin:/dev/vdc
ceph-deploy disk prepare ceph-admin:/dev/vdc
ceph-deploy disk activate ceph-admin:/dev/vdc1

ceph osd crush move ceph-admin-800G root=root-800G
ceph osd crush add osd.15 0.8 host=ceph-admin-800G

ceph集群的扩容缩容,ceph,ceph此时 ceph-admin 节点上有2块 osd 分别为osd.14 和 osd.15 。
下面演示如何删除节点ceph-admin:

ceph集群的扩容缩容,ceph,ceph
ceph-admin节点停止ceph-osd服务

[root@ceph-admin ~]# systemctl stop ceph-osd.target

此时,ceph-admin节点上的osd状态均为down
ceph集群的扩容缩容,ceph,ceph
在monitor节点删除ceph-admin节点上的所有osd

[root@ceph-1 cluster]# ceph osd rm 14
removed osd.14
[root@ceph-1 cluster]# ceph osd rm 15
removed osd.15

ceph集群的扩容缩容,ceph,ceph
从 crush map 中删除ceph-admin节点上的所有osd

[root@ceph-1 cluster]# ceph osd crush remove osd.14
removed item id 14 name 'osd.14' from crush map
[root@ceph-1 cluster]# ceph osd crush remove osd.15
removed item id 15 name 'osd.15' from crush map
[root@ceph-1 cluster]#

删除ceph-admin节点上的所有osd 的认证信息

[root@ceph-1 cluster]# ceph auth del osd.14
updated
[root@ceph-1 cluster]# ceph auth del osd.15
updated
[root@ceph-1 cluster]#

ceph集群的扩容缩容,ceph,ceph
从 crush map 中删除节点 ceph-admin

[root@ceph-1 cluster]# ceph osd crush remove ceph-admin-240G
removed item id -13 name 'ceph-admin-240G' from crush map
[root@ceph-1 cluster]# ceph osd crush remove ceph-admin-800G
removed item id -14 name 'ceph-admin-800G' from crush map

ceph集群的扩容缩容,ceph,ceph取消ceph-admin节点上的所有osd的挂载
ceph集群的扩容缩容,ceph,ceph

添加monitor节点

下面添加一个新的monitor节点,所有monitor节点的ceph版本需要一致。
待添加的monitor节点为 ceph-admin
ceph-admin节点已经安装了ceph 10.2.2版本,且已经关闭火墙,域名解析、免密认证、时间同步服务已经配置好。

目前集群中有三个monitor节点,分别为ceph-1 、ceph-2 、ceph-3
ceph集群的扩容缩容,ceph,ceph在配置文件ceph.conf 中,添加ceph-admin
ceph集群的扩容缩容,ceph,ceph
添加ceph-admin 节点

[root@ceph-1 cluster]# ceph-deploy mon create ceph-admin
应该也可以使用命令:ceph-deploy mon add ceph-admin

向ceph-admin 分发密钥

[root@ceph-1 cluster]# ceph-deploy admin ceph-admin

推送配置

[root@ceph-1 cluster]# ceph-deploy --overwrite-conf config push ceph-1 ceph-2 ceph-3 ceph-admin

添加完成
ceph集群的扩容缩容,ceph,cephceph集群的扩容缩容,ceph,ceph
可以在该monitor上添加osd

[root@ceph-1 cluster]# ceph-deploy disk list ceph-admin
[root@ceph-1 cluster]# ceph-deploy zap ceph-admin:/dev/vdc
[root@ceph-1 cluster]# ceph-deploy disk zap ceph-admin:/dev/vdc
[root@ceph-1 cluster]# ceph-deploy disk prepare ceph-admin:/dev/vdc
[root@ceph-1 cluster]# ceph-deploy disk activate ceph-admin:/dev/vdc1

ceph集群的扩容缩容,ceph,ceph

删除monitor节点

删除monitor节点 ceph-admin
先删除节点上的osd
ceph集群的扩容缩容,ceph,ceph

[root@ceph-admin ~]# systemctl stop ceph-osd@14.service
[root@ceph-admin ~]# systemctl disable ceph-osd@14.service
Removed symlink /etc/systemd/system/ceph-osd.target.wants/ceph-osd@14.service.
[root@ceph-admin ~]#
[root@ceph-admin ~]# ceph osd crush remove osd.14
device 'osd.14' does not appear in the crush map
[root@ceph-admin ~]# ceph auth del osd.14
updated
[root@ceph-admin ~]# ceph osd rm osd.14
removed osd.14
[root@ceph-admin ~]#

删除ceph-admin节点:

ceph mon remove ceph-admin

ceph集群的扩容缩容,ceph,ceph
修改配置文件
删除 ceph-admin的主机名和IP地址
ceph集群的扩容缩容,ceph,ceph将更改后的配置文件推送到monitor节点

[root@ceph-1 cluster]# ceph-deploy --overwrite-conf admin ceph-1 ceph-2 ceph-3

完成
ceph集群的扩容缩容,ceph,ceph

使用ceph-deploy卸载集群

参考文章:https://blog.csdn.net/a13568hki/article/details/119459832
首先安装ceph-deploy工具

yum -y install ceph-deploy
hostname=`hostname`
ceph-deploy purge $hostname
ceph-deploy purgedata $hostname
ceph-deploy forgetkeys

# osd 卸载命令 
dmsetup status #查询所有ceph osd  或者vgscan + vgremove 加查询出来的id
dmsetup remove_all #删除所有查询的内容

添加monitor失败的案例

背景:
ceph集群中原本monitor是ceph-1、ceph-2、ceph-3
后来使用上述方法将monitor ceph-1删除,并在ceph-1上使用ceph-deploy卸载ceph集群。

接下来希望将ceph-1节点作为monitor再次添加到集群中。
按照上述步骤:添加monitor
执行完之后发现并没有添加成功,
ceph mon stat
ceph集群的扩容缩容,ceph,ceph仍然是两个monitor,ceph-1添加没成功
在ceph-1节点上查看日志:
cat /var/log/ceph/ceph-mon.ceph-1.log
ceph集群的扩容缩容,ceph,ceph2023-08-31 14:17:18.515678 7f0973a22700 0 cephx: verify_reply couldn’t decrypt with error: error decoding block for decryption

2023-08-31 14:17:18.515690 7f0973a22700 0 – 172.30.15.20:6789/0 >> 172.30.15.170:6789/0 pipe(0x55d31a1dc800 sd=12 :47574 s=1 pgs=0 cs=0 l=0 c=0x55d31a0ac900).failed verifying authorize reply

根据文章:https://blog.csdn.net/yysalad/article/details/120302596
查看monitor节点 ceph-2 和ceph-3的keyring
ceph集群的扩容缩容,ceph,ceph

ceph集群的扩容缩容,ceph,ceph

ceph集群的扩容缩容,ceph,ceph
发现 ceph-2 和ceph-3的keyring一致,但是ceph-1 不一样
于是将ceph-1节点上的keyring删除

ceph集群的扩容缩容,ceph,ceph把ceph-2上的keyring复制到ceph-1上
ceph集群的扩容缩容,ceph,cephceph-1节点重启monitor服务
ceph集群的扩容缩容,ceph,ceph修改服务器启动间隔为1分钟
vim /etc/systemd/system/ceph-mon.target.wants/ceph-mon@ceph-1.service

ceph集群的扩容缩容,ceph,ceph
ceph-1节点重启mon进程

systemctl daemon-reload
systemctl restart ceph-mon@ceph-1.service

发现还是不能正常开启,
执行 systemctl status ceoh-mon@ceph-1.service
还是报错,报错原因居然还是“start request repeated too quickly for ceph-mon@ceph-1.service 。。。。Failed to start Ceph cluster monitor daemon.

但是查看日志,能看到具体的错误原因,是目录/var/lib/ceph/mon/ceph-ceph-1/keyring的权限有问题
ceph集群的扩容缩容,ceph,ceph

chmod 777 /var/lib/ceph/mon/ceph-ceph-1/keyring

直接给目录777的权限,也不知道这么操作规不规范。。。。。
然后正常开启mon进程
ceph集群的扩容缩容,ceph,ceph新的monitor节点ceph-1终于添加成功了
ceph集群的扩容缩容,ceph,ceph文章来源地址https://www.toymoban.com/news/detail-673661.html

到了这里,关于ceph集群的扩容缩容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟服务器v10 sp2 LVM分区扩容和缩容

    一、LVM分区扩容 首先查看下硬盘情况,原先是30G,现在变成40G df -h查看/目录只有27G,lsblk查看sda2也只有29g 新建分区 fdisk  /dev/sda 命令(输入 m 获取帮助):n  然后一路回车 命令(输入 m 获取帮助):w   回车 然后有一个新增的/dev/sda3出来       找到 / 对应的LV Path对应的路径

    2024年01月24日
    浏览(95)
  • k8s基础4——deployment控制器、应用部署、升级、回滚、水平扩容缩容

    基本了解: Deployment是最常用的K8s工作负载控制器(Workload Controllers),实际项目部署调试中必用资源之一,所以必须要熟练掌握deploy资源的使用。 它是K8s的一个抽象概念,用于更高级层次对象,部署和管理Pod。 其他控制器还有DaemonSet、StatefulSet等,不同控制器针对不同的需

    2024年02月03日
    浏览(56)
  • 持续集成部署-k8s-资源调度:HPA - Pod 基于负载指标自动水平扩容缩容

    首先我们找一个 Deployment 配置文件: nginx-deploy.yaml

    2024年02月07日
    浏览(54)
  • Ceph入门到精通-更换osd、扩容osd

    1. 1 查看故障盘osd id 1.2 销毁osd 1.3 更换故障硬盘 1.4 查看新硬盘盘符 1.5 擦除新硬盘 1.6 预备替换原osd 1.7 查看osd fsid 1.8 激活osd 3.1 停止所有osd服务 3.2 销毁所有osd 3.3 擦除磁盘数据 3.4 清除crush数据 3.5 删除osd应用 4. 调整PG

    2024年02月19日
    浏览(41)
  • OceanBase集群扩缩容

    ​ OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,天然支持多租户,租户间资源、数据隔离,集群运行的最小资源单元是Unit,每个租户在每个节点上只会运行一个Unit。 先看看集群整体架构图,下面集群的

    2024年01月21日
    浏览(46)
  • 【ceph】在虚拟环境中需要给osd所在的虚拟盘扩容操作

      本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》

    2024年01月16日
    浏览(34)
  • 【ES实战】ES集群节点迁移与缩容补充说明

    【ES实战】ES集群节点迁移与缩容 1、集群的现状分析和集群的规划 (新机器部署安装角色不知道排的是否正确?) 确认目前的部署方式 确认项 master与data实例是否分离部署 单机器是否部署了多个data角色实例 确认服务器存储使用情况 确认方式:可以通过 GET _cat/nodes?vs=ip 命令

    2023年04月09日
    浏览(33)
  • 云原生之深入解析Airbnb的动态Kubernetes集群扩缩容

    Airbnb 基础设施的一个重要作用是保证我们的云能够根据需求上升或下降进行自动扩缩容,我们每天的流量波动都非常大,需要依靠动态扩缩容来保证服务的正常运行。为了支持扩缩容,Airbnb 使用了 Kubernetes 编排系统,并且使用了一种基于 Kubernetes 的服务配置接口。 现在来讨

    2024年02月06日
    浏览(69)
  • Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

    💖The Begin💖点点关注,收藏不迷路💖 首先,确保你已经安装了Docker。 要下载特定版本的Tomcat镜像,可以在 docker pull 命令后面添加 image_name: tag 参数。其中 tag 制定了镜像的版本号。 解决插入中文报错: 总结: docker安装完mysql,运行实例之后,建议先修改完字符集编码后再

    2024年02月10日
    浏览(39)
  • EKS集群的弹性扩缩容CA的配置实战 ·『云原生品鉴与布道』·

    弹性伸缩主要有三个维度: HPA,根据利用率,自动伸缩 Pod 数量 VPA,根据历史数据,自动设置 Pod 的 Request、Limit CA,根据使用率,自动伸缩 Node 数量 EKS集群的弹性扩缩容是一项功能(这里指node的),可以自动上下伸缩您的资源以满足不断变化的需求。若没有此项重要的 Ku

    2024年03月24日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包