Ceph osd故障硬盘更换】的更多相关文章

正常状态: 故障状态: 实施更换步骤: (1)关闭ceph集群数据迁移: osd硬盘故障,状态变为down.在经过mod osd down out interval 设定的时间间隔后,ceph将其标记为out,并开始进行数据迁移恢复.为了降低ceph进行数据恢复或scrub等操作对性能的影响,可以先将其暂时关闭,待硬盘更换完成且osd恢复后再开启: for i in noout nobackfill norecover noscrub nodeep-scrub;do ceph osd set $…
正常状态: 故障状态: 实施更换步骤: 1.关闭ceph集群数据迁移: osd硬盘故障,状态变为down.在经过mod osd down out interval 设定的时间间隔后,ceph将其标记为out,并开始进行数据迁移恢复.为了降低ceph进行数据恢复或scrub等操作对性能的影响,可以先将其暂时关闭,待硬盘更换完成且osd恢复后再开启: for i in noout nobackfill norecover noscrub nodeep-scrub;do ceph osd set $i…
添加或删除osd均在ceph部署节点的cent用户下的ceph目录进行. 1. 添加osd 当前ceph集群中有如下osd,现在准备新添加osd: (1)选择一个osd节点,添加好新的硬盘: (2)显示osd节点中的硬盘,并重置新的osd硬盘: 列出节点磁盘: ceph-deploy disk list rab1 擦净节点磁盘: ceph-deploy disk zap rab1 /dev/sbd(或者)ceph-deploy disk zap rab1:/dev/vdb1 (3)准备Objec…
一.故障诊断 查看messages日志c0d0t0这块盘不断报错,类型为:retryable,如下: root@gdhx # more /var/adm/messages Aug  5 16:43:03 gdhx scsi: [ID 107833 kern.warning] WARNING: /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@1,0 (sd0): Aug  5 16:43:03 gdhx    Error for Command: write(1…
更换EMC VNX系列存储故障硬盘的检查步骤 VNX1代(VNX5300,VNX5500,VNX5700,VNX7500和VNX2代(VNX5400,5600,5800和VNX7600,8000)有区别 VNX2相比较VNX1有一些硬件与软件上的区别,比如两者的热备盘机制就有很大的不同. 在VNX1中,热备盘是暂时性的,即当新的磁盘被更换上去后,热备盘会将数据拷回新磁盘(Equalization),原始的Raid Group结构不会发生变化. VNX2引入了永久热备盘的概念,即省略了Equali…
ceph的在正常运行的时候基本不会出现故障,出现故障一般在变动的时候,具体有下面几种可能出现的情形 软件升级 增加存储节点 减少存储节点 调整副本数目 调整pg数目 磁盘出现损坏 节点网络出现异常 以上这些操作过程中是最可能出现异常的情形,并不是一定会出问题,以上问题除了网络和磁盘问题出现的异常是基本无法避免外,其他出现的时候,一般是非正常操作引起的,也就是我通常认为的人为事故,这个一般出现在操作的不谨慎上 本篇记录了一次故障的修复过程,这个故障不是出现在我们公司的产品上,是看到一个ceph社区…
1  调高osd的日志等级 加上红框那一行就可以了 osd的日志路径:/var/log/ceph/ceph-osd.3.log 注意:加上了这一行后日志会刷很多,所以要特别注意日志容量的变化,以防把var目录写满了 2  缺少osdmap或者错误的osdmap 从osd日志中发现这两种错误都是属于osdmap不正常,可以从其它正常osd上拷贝osdmap到对应启动错误的osd上,假设不正常的osdmap序号是816,上图的是27601和671651 如以下图: 在一个正常osd上如osd.4上用…
在Ceph的osd节点上,启动osd进程失败,查看其日志/var/log/ceph/ceph-osd.{osd-index}.log日志,报错如下: 2017-02-14 16:26:13.558535 7fe3883f58c0 0 filestore(/var/lib/ceph/osd/ceph-1) mount: enabling WRITEAHEAD journal mode: checkpoint is not enabled 2017-02-14 16:26:13.558712 7fe…
直接上干货: ceph自动挂载原理 系统启动后,ceph 通过扫描所有磁盘及分区的 ID_PART_ENTRY_TYPE 与自己main.py中写死的osd ready 标识符来判断磁盘(及其分区)是否准备好自动挂载(journal ,block, osd 同是一个道理) main.py中记载的状态标志 /usr/lib/python2./site-packages/ceph_disk/main.py 'osd': { 'ready': '4fbd7e29-9d25-41b8-afd0-062c…
ceph osd 批量删除,注意删除的是当前节点正在使用的osd,数据删除有风险,所以最后一步没有去format磁盘,给你留下一剂后悔药. #!/bin/bash osd_list=`mount|grep osd|awk '{print $3}'|awk -F'-' '{print $2}'` for var in $osd_list; do echo "ceph osd out $var" ceph osd out $var echo "service ceph-osd s…
前言 很久没有处理很大的集群,在接触一个新集群的时候,如果集群足够大,需要比较长的时间才能去理解这个集群的结构,而直接去看ceph osd tree的结果,当然是可以的,这里是把osd tree的结构进行了一个结构化输出,也可以理解为画出一个简单的结构图,比较适合给其它人讲解你对crush做了哪些改变,这个如果指着文字来讲估计很多人会听的云里雾里,如果有比较方便的方式出图就比较好了 为此写了一个小工具自己用,正好也可以看看我们对结构做简单调整后的效果 创建一个模拟集群 环境就一台机器,不需要用到…
前言 如果看到标题,你是不是第一眼觉得写错了,这个怎么可能,完全就是两个不相关的东西,最开始我也是这么想的,直到我发现真的是这样的时候,也是很意外,还是弄清楚下比较好,不然在某个操作下,也许就会出现意想不到的情况 定位 如果你看过我的博客,正好看过这篇 <<ceph在centos7下一个不容易发现的改变>> ,那么应该还记得这个讲的是centos 7 下面通过udev来实现了osd的自动挂载,这个自动挂载就是本篇需要了解的前提 [root@lab101 ~]# df -h|grep…
前言 本篇来源于群里一个人的问题,有没有办法让ceph的磁盘不自动挂载,一般人的问题都是怎样让ceph能够自动挂载,在centos 7 平台下 ceph jewel版本以后都是有自动挂载的处理的,这个我之前也写过两篇文章<ceph在centos7下一个不容易发现的改变>和<Ceph数据盘怎样实现自动挂载>,来讲述这个自动挂载的 这里讲下流程: 开机后 udev 匹配 95-ceph-osd.rules 规则,触发 ceph-disk trigger,遍历磁盘,匹配到磁盘的标记后就触…
前言 这个工具我第一次看到是在填坑群里面看到,是由研发-北京-蓝星同学分享的,看到比较有趣,就写一篇相关的记录下用法 火焰图里面也可以定位内存方面的问题,那个是通过一段时间的统计,以一个汇总的方式来查看内存在哪个地方可能出了问题 本篇是另外一个工具,这个工具的好处是有很清晰的图表操作,以及基于时间线的统计,下面来看下这个工具怎么使用的 本篇对具体的内存函数的调用占用不会做更具体的分析,这里是提供一个工具的使用方法供感兴趣的研发同学来使用 环境准备 目前大多数的ceph运行在centos7系列上面…
前言 前段时间看到豪迈的公众号上提到了这个离线转换工具,最近看到群里有人问,找了下没什么相关文档,就自己写了一个,供参考 实践步骤 获取代码并安装 git clone https://github.com/ceph/ceph.git cd ceph git submodule update --init --recursive ./make-dist rpm -bb ceph.spec 生成rpm安装包后进行安装,这个过程就不讲太多,根据各种文档安装上最新的版本即可,这个代码合进去时间并不久,大…
前言 之前有一篇文章介绍的是,在centos7的jewel下面如果自己做的分区如何处理自动挂载的问题,当时的环境对journal的地方采取的是文件的形式处理的,这样就没有了重启后journal的磁盘偏移的问题 如果采用的是ceph自带的deploy去做分区的处理的时候,是调用的sgdisk去对磁盘做了一些处理的,然后deploy能够识别一些特殊的标记,然后去做了一些其他的工作,而自己分区的时候,是没有做这些标记的这样就可能会有其他的问题 我们看下如何在部署的时候就处理好journal的uuid的…
1.手工fail一块硬盘 #mdadm /dev/md0 -f /dev/sdb 2.移除损坏硬盘: #mdadm /dev/md0 -r /dev/sdb 3.添加新的硬盘到已有阵列 mdadm /dev/md1 -a /dev/sdd 注意: #新增加的硬盘需要与原硬盘大小一致 #如果原有阵列缺少工作磁盘(如raid1只有一块在工作,raid5只有2块在工作),这时新增加的磁盘直接变为工作磁盘,如果原有阵列工作正常,则新增加的磁盘为热备磁盘. 参考 http://www.toxingwang…
把mirror解掉,再从rootvg里面提出来,再用diag确认下,再用命令删掉hdisk1,更换 更换前的准备 1.查看报错日志. 执行errpt列出报错条目 IDENTIFIER TIMESTAMP T C RESOURCE_NAME  DESCRIPTION A39F8A49   0611123015 T S syserrlg       ERROR LOGGING BUFFER OVERFLOW B6267342   0611123015 P H hdisk0         DISK…
前言 服务器上面的服务会因为各种各样的原因失败,磁盘故障,权限问题,或者是服务过载引起超时,这些都可能引起 这个在ceph里面systemctl unit 默认有个on-fail restart,默认的可能并不适合所有的场景,所以自动化的服务应该是尽量去适配你手动处理的过程,手动怎么处理的,就怎么去设置 启动分析 如果有osd失败了,一般上去会先启动一次,尽快让服务启动,然后去检查是否有故障,如果失败了,就开启调试日志,再次重启,在问题解决之前,是不会再启动了,所以这里我们的自动启动设置也这么设…
机房操作失误导致机架或主机掉电是偶尔发生的事情,那么怎么在这种情况下,让Ceph服务随OS启动而快速启动呢 ? 如下是一个简单方法: 在OSD主机上执行如下命令: sudo ln -s /usr/lib/systemd/system/ceph-osd@.service /etc/systemd/system/multi-user.target.wants/ceph-osd@.service sudo systemctl enable ceph-osd@.service sudo systemct…
通过cgroup将ceph-osd进程与某一个 CPU core 绑定脚本: mkdir -p /sys/fs/cgroup/cpuset/ceph # cup number : ,,, = - echo , > /sys/fs/cgroup/cpuset/ceph/cpuset.cpus # NUMA node echo > /sys/fs/cgroup/cpuset/ceph/cpuset.mems osd-pid-list=$(ps aux | grep osd | grep -v gr…
  案例说明 Centos7 VG:vg LV:vg-lvRedhat 7.5VG:vgtest LV:lvtest 目的:模拟硬盘 /dev/sdb损坏.在线添加新硬盘/dev/sdc,lv镜像数据同步 Last login: Thu Nov 15 07:10:20 2018 from 192.168.31.220 [root@web02 ~]# df -h ###查看文件系统 Filesystem Size Used Avail Use% Mounted on /dev/sda2 47G 1…
ceph 寻址过程 1. file --- object映射, 把file分割成N个相同的对象 2. object - PG 映射, 利用静态hash得到objectID的伪随机值,在 "位与" mask 上使得object获取属于自己的PG 3. pg -- osd 映射, 将pg映射到实际的存储单元osd, RADOS 利用 crush 算法, 由pgid得到一组n个osd,再由osd daemon 执行映射到本地的object在本地系统中存储,访问,数据维护, 此次映射功能直接受…
一.ceph概念 Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展. 什么是块存储/对象存储/文件系统存储? 1)对象存储: 也就是通常意义的键值存储,其接口就是简单的GET.PUT.DEL 和其他扩展,代表主要有 Swift .S3 以及 Gluster 等: 2)块存储: 这种接口通常以 QEMU Driver 或者 Kernel Module 的方式存在,这种接口需要实现 Linu…
磁盘阵列RAID是服务器维护的必备知识,以前不太关心服务器维护方面的知识.目前要负责维护机房里的几台服务器,所以要关注这方面的内容. 磁盘阵列是用多块独立磁盘组成,提供两个方面的作用:数据安全冗余 和提高性能. 1.安全冗余:通过冗余数据存储,当阵列中一块磁盘故障时,更换后可恢复数据到完整状态. 2.提高性能:把数据分块储存到不同的磁盘上,可以实现并行的读写,从而提高了存储设备的读写性能. RAID 磁盘阵列有多种结构,各有偏重. RAID0:数据储存在多块磁盘上,没有冗余存储.特点,速度快.只…
示例演示环境:PowerEdge R620 + H710p Raid控制卡  + 9 x 300G 10k SAS 硬盘 H310.H710.H810的配置方法与H710P大致相同,在此不再累述. 特别说明,本文相关RAID的操作,仅供网友在测试环境里学习和理解戴尔PowerEdge服务器RAID控制卡的功能和使用方法.切勿直接在生产服务器上做相关实验,这可能有误操作并造成数据丢失的风险! 一.PERC卡RAID配置信息的初始化: 戴尔PowerEdge服务器RAID控制卡的配置,可以使用戴尔提…
一.Raid需要的硬盘数量 1.raid 0:     最少1块硬盘(但是1块盘没有意义,至少2块才有实际意义) 2.raid 1:     最少2块硬盘 3.raid 5:     最少3块硬盘 4.raid 10:   最少4块硬盘 二.Raid的容量 1.raid 0:     容量为--不变 2.raid 1:     容量为--原来的一半 3.raid 5:     容量为--总容量减去其中一块的容量 4.raid 10:   容量为--原来的一半 三.Raid存储机制 1.raid…
目录 简介 更换OSD操作步骤 1. 故障磁盘定位 2. 摘除故障磁盘 3. 重建raid0 4. 重建osd 控制数据恢复及回填速度 简介 首先需要说明的是,ceph的osd是不建议做成raid10或者raid5的,一般建议单盘跑.在我们的环境中,为了充分利用raid卡的缓存,即使是单盘,我们还是将其挂在raid卡下做成raid0. 这样不可避免的问题就是磁盘的损坏,需要在ceph当中做一些摘除动作,同时还需要重建raid. 在更换完磁盘重建raid之后,需要重新添加osd.新的osd加入到集…