百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Ceph运维手册(基于P版本)

bigegpt 2025-01-11 10:31 241 浏览

前言

Ceph运维手册

本文基于Ceph P版,适用于ceph-deploy部署非容器化部署场景。

完整版PDF下载链接请点击以下文字

Ceph运维手册(基于P版本)

修订记录

版本

时间

修订人

V1.0

2024年03月06号

singless

目录

一、 健康状态检查

1. 场景说明

2.检查步骤

二、 集群变更运维

1. 场景说明

2. 风险评估

3. 准备工作

4. 操作流程

三、 单台服务器下电变更

1. 场景说明

2. 风险评估

3. 准备工作

4.操作流程

四、 集群删除主机

1. 场景说明

2. 风险评估

3. 准备工作

4.操作流程

五、 集群扩容主机

1. 场景说明

2. 风险评估

3. 准备工作

4. 操作流程

六、 网卡更换变更运维

1. 场景说明

2. 风险评估

3. 准备工作

4.操作流程

七、 SSD缓存盘更换变更运维

1. 场景说明

2. 风险评估

3. 准备工作

4.操作流程

八、 OSD变更运维

1. 场景说明

2. 风险评估

3. 准备工作

4. 操作流程

九、 关闭SWAP分区

1. 场景说明

2. 风险评估

3. 准备工作

4. 操作流程

十、 故障的MON服务修复

1. 风险评估

2. 场景说明

3. 准备工作

4. 操作流程

十一、 OSD容量不足问题处理

1. 场景说明

2. 风险评估

3. 准备工作

4. 操作流程

十二、 时钟偏移问题

1. 场景说明

2. 风险评估

3. 准备工作

4. 操作流程

十三、 运维常用命令

1. 场景说明

2. 操作步骤

一、健康状态检查

1.场景说明

当遇到对分布式存储的运维时,变更前需先对Ceph存储进行健康检查。

2.检查步骤

2.1命令检查存储健康状态

# ceph -s



集群健康状态查询,health项如果显示HEALTH_OK,表示集群处于正常状态;

# ceph osd stat



检查OSD健康状态,正常情况下OSDS、UP、IN数量保持一致。

2.2系统下查看各服务状态

?查看mon状态(每个MON节点)

# systemctl status ceph-mon@主机名.service

正常为active(running)

?查看mgr服务

# systemctl status ceph-mgr@主机名.service

正常为active(running)

?查看ceph-radosgw服务

# systemctl status ceph-radosgw@主机名.service

正常为active(running)

?查看ceph-osd服务

# systemctl status ceph-osd@3 例如查看osd.3服务,以此类推查看其他osd。

正常为active(running)

?查看nginx服务

# systemctl status nginx.service

正常为active(running)

?查看其他服务进程,格式以此类推:

# systemctl status vault.service

# systemctl status vault-agent.service

# systemctl status confd.service

# systemctl status fix.service

# systemctl status filebeat.service

正常为active(running)

二、集群变更运维

1.场景说明

当遇到存储服务器关机维护、机房需要搬迁时。

2.风险评估

?服务器关机过程中为保障数据安全,不能直接对存储节点服务器电源进行强制拔线或者强制关机等高风险关机操作,否则可能会出现文件系统损坏等情况。

?整体环境上电恢复后,若出现节点间网络不通,硬件故障等,会导致存储状态异常。

3.准备工作

3.1通知业务部门

对Ceph存储系统关闭前,需要通知业务部门,提交工单走流程审批,规范进行。

3.2存储健康状态检查

参照本文档存储健康状态检查,确保当前环境状态健康正常。

4.操作流程

4.1关机操作流程

4.1.1节点关机顺序

先关闭应用节点机/算力机/业务系统。

再关闭Ceph存储服务,关闭顺序:mds / rgw --> mgr --> osd --> mon

最后关闭操作系统。

4.1.2关闭存储节点命令

设置ceph flags避免数据迁移

# ceph osd set noout

# ceph osd set norebalance

查看Ceph各个服务运行在哪几台存储机上:

# ceph node ls"

打开/etc/ceph/ceph.conf配置文件可以查看rgw服务运行在哪几台服务器上,找到具体的主机后,运行下面的命令进行关闭操作。

关闭rgw服务,例如rgw服务运行在storage-01、storage-02、storage-03,关闭命令如下:

# ssh storage-01 systemctl stop ceph-radosgw.target

# ssh storage-02 systemctl stop ceph-radosgw.target

# ssh storage-03 systemctl stop ceph-radosgw.target

关闭osd服务

# ssh storage-01 systemctl stop ceph-osd.target

# ssh storage-02 systemctl stop ceph-osd.target

# ssh storage-03 systemctl stop ceph-osd.target

关闭mgr服务

# ssh storage-01 systemctl stop ceph-mgr.target

# ssh storage-02 systemctl stop ceph-mgr.target

# ssh storage-03 systemctl stop ceph-mgr.target

关闭mon服务

# ssh storage-01 systemctl stop ceph-mon.target

# ssh storage-02 systemctl stop ceph-mon.target

# ssh storage-03 systemctl stop ceph-mon.target

关闭存储机系统

# ssh storage-02 shutdown -h now

# ssh storage-03 shutdown -h now

5.开机操作流程

5.1节点启动顺序

按电源,启动Ceph存储机,节点开机顺序 mon --> mgr --> osd --> rgw。

启动应用节点机/算力机。

6.存储健康状态检查

节点启动后,参考第一节<健康状态检查>检查集群状态是否已恢复健康。

三、单台服务器下电变更

1.场景说明

适用于当遇到分布式存储集群中服务器需要关机或者更换服务器硬件资源,如增加内存条,计划性下电等分布式存储的运维场景。

2.风险评估

?服务器关机过程中为保障数据安全,不可直接对其服务器电源进行强制拔线或者采取强制关机等高风险关机操作,否则可能会出现文件系统损坏等情况。

3.准备工作

3.1计划变更作业时间

在正式进行变更操作前应沟通确认好变更窗口期,变更窗口期范围需根据本次变更内容和业务情况进行沟通协商,尽量将变更窗口期设定为对业务影响最小的时间段;如遇服务器故障情况需进行变更,则需根据实际情况进行商讨。

3.2硬件资源准备

若服务器需要更换、增加内存条或网卡RAID卡等硬件资源,在运维变更前应准备好相应硬件资源。

3.3存储状态检查

参照本文档《健康状态检查》章节,对存储平台进行健康状态检查,确保当前环境正常。

4.操作流程

4.1存储禁止数据平衡

# ceph osd set noout

# ceph osd set norebalance

4.2关闭服务器上ceph相关服务

# systemctl stop ceph-osd.target

# systemctl stop ceph-mgr.target

# systemctl stop ceph-mon.target

# systemctl stop ceph-radosgw.target

4.3服务器关机

ssh登录至待变更的服务器系统,安全关闭待变更的服务器,待服务器完全停止运行后,可进行下电和网卡更换操作。

#sync && sync && poweroff

4.4服务器开机

当服务器上电开机后对其网络进行检查,确保对应网络均正常通信;检查节点更换的硬件是否正常工作。检查开机后日志中是否有硬件报错。

# dmesg -T|grep -i error

4.5存储开启数据恢复

# ceph osd unset noout

# ceph osd unset norebalance

4.6存储状态检查

参照本文档《健康状态检查》章节,对存储平台进行健康状态检查,确保当前存储环境已恢复正常。

四、集群删除主机

1.场景说明

在存储使用过程中,遇到服务器故障或服务器整体性能差时需要对其进行替换变更,对分布式存储的运维场景。

2.风险评估

?在变更操作前需对本次变更操作进行充分的风险评估,评估本次变更操作是否影响数据安全性;当运行在超融合场景下还需评估是否对业务系统产生不良影响;同时根据实际情况评估好风险规避措施。

?禁止在存储处于亚健康状态时对其进行变更操作,以防酿成重大故障。

?禁止先对分布式存储进行相关变更操作后使分布式存储集群处于一个亚健康状态下,等待相关新的设备资源加入。变更操作前需准备好新的硬件资源。

3.准备工作

3.1计划变更作业时间

在正式进行变更操作前应提前沟通确认好变更窗口期,变更窗口期范围需根据本次变更内容和业务情况进行沟通协商,尽量将变更窗口期设定为对业务影响最小的时间段;如遇服务器故障情况需进行变更,则需根据实际情况进行商讨。

3.2服务器准备

为确保本次变更能顺利进行,同时降低变更风险;如果需要替换服务器,现场应在正式变更操作前提前准备好相关新的服务器等设备资源,并安装好操作系统做好基础配置,在本节的操作执行完成后,按照第五节<集群扩容主机>的步骤将主机扩容至集群内。禁止先对分布式存储进行相关变更操作后使分布式存储集群处于一个亚健康状态下等待相关新的设备资源加入。

y注意:

新的服务器硬件配置需与集群中现有服务器配置保持一致,包括CPU、内存、磁盘和网卡硬件型号和数量。若存在硬件不一致则需根据实际情况进行商讨。

3.3存储状态检查

参照本文档《健康状态检查》章节,对存储平台进行健康状态检查,确保当前环境正常。

4.操作流程

4.1设置“禁止数据恢复”

# ceph osd set noout

# ceph osd set norebalance

4.2集群中移除OSD数据盘

# ceph osd tree ##确认服务器上使用了哪些OSD

# ceph osd out 6

4.3设置允许数据恢复

# ceph osd set noout

# ceph osd set norebalance

等待数据均衡完成。

4.4集群中移除OSD

# systemctl stop ceph-osd@6.service

# ceph osd down osd.6

# ceph osd purge osd.6 --force

4.5从集群中移除节点

在ceph-deploy节点上执行

# ceph osd crush rm ceph-5

# ceph-deploy mon destroy ceph-5 ##可选,删除ceph-5上的mon服务

4.6待变更服务器关机


ssh登录至待变更的服务器系统,安全关闭服务器,待服务器完成停止运行后,可进行下电和下架变更操作。

# sync && sync && poweroff

4.7存储状态检查

参照本文档《健康状态检查》章节,对存储平台进行健康状态检查,确保当前存储环境已恢复正常。

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...