ceph 换盘扩容

调整时间

基础设施调整操作:工作日0点之后操作,或者非工作日

基础设施包括网络、主机系统、存储 / 备份系统、安全系统、以及机房动力环境等

调整规范

变更管理实现所有基础设施和应用系统的变更,变更管理应记录并对所有要求的变更进行分类,应评估变更请求的风险、影响和业务收益。其主要目标是以对服务最小的干扰实现有益的变更。

调整需要对可能影响的业务方进行通知。如果是关键系统的调整,需要全局通知。

调整方式

后续均通过工单系统进行操作,重要操作需要至少两个人一起确认后在执行

调整实例

换盘扩容可以抽象为几个元步骤的结合:1)删除OSD步骤 2)观察集群状态 3)IDC更换磁盘 4)新OSD上线步骤 5)观察集群状态

更换磁盘

1、 根据OSD ID 确认需要更换的磁盘对应的盘符(ceph-25 25为OSD对应的ID,sdf为服务器上对应的盘符;)

[root@ceph-81-204 ~]# lsblk |grep -B1 `ls -lrt /var/lib/ceph/osd/ceph-25 | grep block |awk -F "-" '{print $NF}'`
sdf                                                                             └─ceph--f014814a--8721--4347--9ebd--b307bab59e0d-osd--block--a87fccf6--88bf--481e--9757--8d5b74d3ca59 253:4    0  7.3T  0 lvm

2、 获取磁盘SN:

lsblk --nodeps -no serial /dev/sda

根据磁盘SN获取磁盘插槽slot位置:

/opt/MegaRAID/MegaCli/MegaCli64 -PDlist -Aall | grep -B4 $SN

3、获取磁盘SN号提交磁盘更换工单http://wos.myhexin.com/?#/process/create-ticket?processId=5

(从A服务器拔出,更换到B服务器工单:http://wos.myhexin.com/?#/process/create-ticket?processId=244)

[root@ceph-81-204 ~]# smartctl --all /dev/sdf | grep "Serial Number"Serial Number:    WSD62F28

删除 OSD

要想缩减集群尺寸或替换硬件,可在运行时删除 OSD 。在 Ceph 里,一个 OSD 通常是一台主机上的一个 ceph-osd 守护进程、它运行在一个硬盘之上。 如果一台主机上有多个数据盘,你得逐个删除其对应 ceph-osd 。通常,操作前应该检查集群容量,看是否快达到上限了,确保删除 OSD 后不会使集群达到 near full 比率。

警告: 删除 OSD 时不要让集群达到 full ratio 值,删除 OSD 可能导致集群达到或超过 full ratio 值。

1、停止需要剔除的 OSD 进程,让其他的 OSD 知道这个 OSD 不提供服务了。停止 OSD 后,状态变为 down

ssh {osd-host}sudo systemctl stop ceph-osd@{osd-num}

2.将 OSD 标记为 out 状态,这个一步是告诉 mon,这个 OSD 已经不能服务了,需要在其他的 OSD 上进行数据的均衡和恢复了。

ceph osd out {osd-num}

执行完这一步后,会触发数据的恢复过程。此时应该等待数据恢复结束,集群恢复到 HEALTH_OK 状态,再进行下一步操作。

3.删除 CRUSH Map 中的对应 OSD 条目,它就不再接收数据了。你也可以反编译 CRUSH Map、删除 device 列表条目、删除对应的 host 桶条目或删除 host 桶(如果它在 CRUSH Map 里,而且你想删除主机),重编译 CRUSH Map 并应用它。

ceph osd crush remove {name}

该步骤会触发数据的重新分布。等待数据重新分布结束,整个集群会恢复到 HEALTH_OK 状态。

4.删除 OSD 认证密钥:

    ceph auth del osd.{osd-num}

5.删除 OSD 。

ceph osd rm {osd-num}#for exampleceph osd rm 1

6.卸载 OSD 的挂载点。

sudo umount /var/lib/ceph/osd/$cluster-{osd-num}

7.登录到保存 ceph.conf 主拷贝的主机。

    ssh {admin-host}    cd /etc/ceph    vim ceph.conf

8.从 ceph.conf 配置文件里删除对应条目。

    [osd.1]            host = {hostname}

9.从保存 ceph.conf 主拷贝的主机,把更新过的 ceph.conf 拷贝到集群其他主机的 /etc/ceph 目录下。

如果在 ceph.conf 中没有定义各 OSD 入口,就不必执行第 7 ~ 9 步。

新增OSD

1.初始化新的磁盘、OSD初始化,在deploy服务器上运行,vlan1的deploy服务器是192.168.215.89,# 指定目标机器及对应的块设备编号,如果更换的是旧盘,这一步操作有可能失败报错,此时最好用dd(或者分区工具)摧毁磁盘上残留的Raid或分区表信息,然后重新初始化尝试;

su - cephfsdsh /usr/local/bin/ceph-devops/deploy-osd.sh $hostname sdb,sdc,sde,...sdn 
# 验证方法ceph osd status | grep $hostname # 确认最后一列是 exists,up表示osd已经启动完毕

2.调整Crushmap,由于现在测试和vlan1的ceph都变为了rack为故障域,并且线上还没有开启自动加入osd,所以需要手动的将新的bucket加入进去,命令如下:

ceph osd crush add-bucket $hostname host # 该命令是新增一个host级的bucket,名称是$hostname,一般以目标服务器的hostname作为名称
ceph osd crush add osd.* $weight host=$hostname # 该命令是将osd加入到host中去,如果已经自动创建了这一步不需要,$weight为硬盘容量转换为T的数值
ceph osd crush move $hostname rack=$rackname # 该命令是把整个host移动到对应的rack下面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/733697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM Drift(漂移), Prompt Drift Cascading(级联)

原文地址:LLM Drift, Prompt Drift & Cascading 提示链接可以手动或自动执行;手动需要通过 GUI 链构建工具手工制作链。自治代理在执行时利用可用的工具动态创建链。这两种方法都容易受到级联、LLM 和即时漂移的影响。 2024 年 2 月 23 日 在讨论大型…

什么是自动化测试?什么情况下使用?

什么是自动化测试? 自动化测试是指把以人为驱动的测试行为转化为机器执行的过程。实际上自动化测试往往通过一些测试工具或框架,编写自动化测试脚本,来模拟手工测试过程。比如说,在项目迭代过程中,持续的回归测试是一项非常枯燥…

如何在Mapbox GL中处理大的GEOJSON文件

Mapbox GL可以将 GeoJSON 数据由客户端(Web 浏览器或移动设备)即时转换为 Mapbox 矢量切片进行显示和处理。本文的目的是教大家如何有效加载和渲染大型 GeoJSON 源,并优化渲染显示速度,增强用户体验,减少客户端卡顿问题。本文以Mapbox 为例,至于其它框架原理大致相同,可…

【HarmonyOS】ArkTS-枚举类型

枚举类型 枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值 定义枚举类型 定义枚举类型(常量列表) enum 枚举名 { 常量1 值, 常量2 值,......}enum ThemeColor {Red #ff0f29,Orange #ff7100,Green #30b30e}使用枚举…

HTML世界之标签Ⅲ

一、dfn 标签 <dfn> 标签是一个短语标签&#xff0c;用来定义一个定义项目。 写法&#xff1a; <dfn></dfn> 二、dialog 标签 <dialog> 标签定义一个对话框、确认框或窗口。 属性 值 描述 open open 规定 dialog 元素是有效的&#xff0c;用户…

为什么接口测试工具不跨域

浏览器实施了同源策略&#xff0c;限制了在不同域之间的资源共享。这是出于安全考虑&#xff0c;以防止恶意网站获取用户的敏感信息。同源策略要求发送请求的源&#xff08;协议、域名和端口&#xff09;必须与接收响应的源相同。如果源不同&#xff0c;则浏览器会拒绝该请求&a…

报错Importing ArkTS files to JS and TS files is not allowed. <etsLint>

ts文件并不支持导入ets文件&#xff0c;为了方便开发应用卡片&#xff0c;entryformAbility创建的时候默认是ts文件&#xff0c;这里只需要把ts文件改成ets便可以轻松的导入所需要的ets即可 我创建了一个鸿蒙开发的交流群&#xff0c;喜欢的鸿蒙朋友可以扫码或者写群号&#xf…

微服务自动化管理初步认识与使用

目录 一、ETCD 1.1、ETCD简介 对于实施工程师&#xff1a; 1.2、特点 1.3. 使用场景 1.4、 关键字 1.5 工作原理 二、ETCD的安装 2.1、下载路径 2.2、介绍 2.3、具体操作 安装服务端 安装etcd客户端 测试 三、ETCD使用 3.1、前奏具体操作 3.2、 常用操作 一、ET…

【NERF】入门学习整理(一)

【NERF】入门学习整理 1. 【NERF】入门学习整理1.1 基础含义输入输出2.位置编码含义3.代码中实际网路结构4.Volume Render部分(64个采样点处理)5.Volume Render部分(64个采样点处理)【NERF】及其变种(二) 1. 【NERF】入门学习整理 1.1 基础含义输入输出 深度学习模型中…

ROS——Ubuntu环境搭建

Ubuntu安装 首先下载 Ubuntu 的镜像文件&#xff0c;链接如下:ubuntu-releases-20.04安装包下载_开源镜像站-阿里云ubuntu-releases-20.04安装包是阿里云官方提供的开源镜像免费下载服务&#xff0c;每天下载量过亿&#xff0c;阿里巴巴开源镜像站为包含ubuntu-releases-20.04…

【Android 内存优化】KOOM 快手开源框架线上内存监控方案-源码剖析

文章目录 前言OOMMonitorInitTask.INSTANCE.initOOMMonitor.INSTANCE.startLoopsuper.startLoopcall() LoopState.Terminate dumpAndAnalysisdumpstartAnalysisService回到startLoop方法总结 前言 这篇文章主要剖析KOOM的Java层源码设计逻辑。 使用篇请看上一篇: 【Android …

使用阿里云服务器搭建网站简单吗?超简单教程

使用阿里云服务器快速搭建网站教程&#xff0c;先为云服务器安装宝塔面板&#xff0c;然后在宝塔面板上新建站点&#xff0c;阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例&#xff0c;来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

Pytorch学习 day08(最大池化层、非线性激活层、正则化层、循环层、Transformer层、线性层、Dropout层)

最大池化层 最大池化&#xff0c;也叫上采样&#xff0c;是池化核在输入图像上不断移动&#xff0c;并取对应区域中的最大值&#xff0c;目的是&#xff1a;在保留输入特征的同时&#xff0c;减小输入数据量&#xff0c;加快训练。参数设置如下&#xff1a; kernel_size&#…

Linux网络基础2之协议

(&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e;嗨&#xff01;你好这里是ky233的主页&#xff1a;这里是ky233的主页&#xff0c;欢迎光临~https://blog.csdn.net/ky233?typeblog 点个关注不迷路⌯▾⌯ 目录 1.协议 1.序列化与反序列换 2.协议定制 二…

JavaCV 进行视频操作

1、JavaCV实现将视频以帧方式抽取 ## JavaCV实现将视频以帧方式抽取java import org.bytedeco.javacv.FFmpegFrameGrabber; import org.bytedeco.javacv.Frame; import org.bytedeco.javacv.Java2DFrameConverter;import javax.imageio.ImageIO; import java.awt.image.Buffer…

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记10 - STM32的SDIO学习2

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记10 - STM32的SDIO学习2 一、问题回顾二、本次的任务三、 需要注意的问题3.1 Card Identification Mode时的时钟频率3.2 CMD0指令的疑似问题3.3 发送带参数的ACMD41时要注意时间时序和时效3.4 CPSM的指令发送问题3.5 调试过程中的SD卡的…

linuxOPS基础_linux系统注意事项

Linux严格区分大小写 Linux 和Windows不同&#xff0c;Linux严格区分大小写的&#xff0c;包括文件名和目录名、命令、命令选项、配置文件设置选项等。 例如&#xff0c;Win7 系统桌面上有文件夹叫做Test&#xff0c;当我们在桌面上再新建一个名为 test 的文件夹时&#xff0c…

R统计学2 - 数据分析入门问题21-40

往期R统计学文章&#xff1a; R统计学1 - 基础操作入门问题1-20 21. 如何对矩阵按行 (列) 作计算&#xff1f; 使用函数 apply() vec 1:20 # 转换为矩阵 mat matrix (vec , ncol4) # [,1] [,2] [,3] [,4] # [1,] 1 6 11 16 # [2,] 2 7 12 17 # [3,] …

操作系统的基本概念5-系统调用

系统调用是操作系统提供给应用程序的一种接口&#xff0c;通过这个接口&#xff0c;应用程序可以请求操作系统执行特定的操作&#xff0c;例如读写文件、创建进程、网络通信等。系统调用是应用程序与操作系统之间的桥梁&#xff0c;它允许应用程序访问底层的硬件和资源。 系统…

总结工作中vue2和vue3的知识点区别

vue2和vue3的区别 前言 vue2升级vue3之后变得更快&#xff0c;更轻&#xff0c;协作更方便。无论对于我们开发者的体验或者用户使用方面都是升级优化&#xff0c;但是本质区别是什么&#xff0c;下面分为几个部分进行讲解。vue2和vue3 对比vue2vue3脚手架命令式可视化创建脚…