
ceph
yysalad
熟悉28181,sip,ps流,h264,h265,rtp,rtsp,hls,目前从事分布式系统开发存储开发,ceph开发
展开
-
ceph调整权重
1 调整命令ceph osd reweight-by-utilization {avr_num} {float} {osd_num} [–no-increasing]ceph osd reweight-by-pg {avr_num} {float} {osd_num} [[pool1] … [poolN]]2 预估变化ceph osd test-reweight-by-utilization {avr_num} {float} {osd_num} [–no-increasing]ceph osd原创 2021-10-19 20:00:56 · 1113 阅读 · 0 评论 -
ceph---记录一次ceph节点重做系统,ceph恢复精简版
第一步:重做系统第二步:恢复ip、机器名第三步:安装ceph软件,如果有mon,设置mon,重启机器即可恢复,过程中无需备份原创 2021-09-11 18:37:54 · 381 阅读 · 0 评论 -
ceph---记录一次ceph节点重做系统,ceph恢复过程
问题描述:在ceph维护过程中,误把/dev、/boot等目录删除,导致系统无法启动。基于这样一个问题,我们进行ceph恢复。恢复过程如下:第一步:ceph数据备份,备份 /var/lib/ceph 整个目录疑问目前启动无法启动,如何进行备份呢?采用CentOS通过光盘启动救援数据1)我们以Centos 6.7 为例,用U盘制作系统盘2)通过Bios设置U盘启动3)进入rescue模式4)进入下面的页面,选择English5)选完语言后会出现选择键盘的界面,选原创 2021-07-05 10:09:04 · 1543 阅读 · 3 评论 -
ceph---ceph osd DNE状态对集群的影响
删除一块磁盘,由于没有从crushmap中删除,导致一块磁盘的状态变为DNE(does not exist)。集群删除过一些状态错误的pg,重启整个集群,重新创建pg,这些pg一直处于creating状态原创 2021-05-28 23:25:16 · 350 阅读 · 0 评论 -
ceph---一次维护记录
一套ceph集群状态显示警告,看集群状态,有100个block集中在一个osd上,但是查找这个osd,osd已经不再集群内,后来在查找这个问题的过程中,发现是有3个osd添加存在问题,这三个osd对应存在两台机器上,删除错误osd后,警告消失,集群状态恢复...原创 2021-05-15 15:11:17 · 286 阅读 · 0 评论 -
ceph---ceph问题处理心得
必须看懂PG状态!必须看懂PG状态!必须看懂PG状态!重要的事情说三遍ceph 本身的恢复机制是很强的,无论损坏到什么程度,最终都可以恢复。恢复过程要注意pg的每一个状态,明白了PG的状态,就知道了集群现在做什么,那个地方有问题。附件:PG状态状态 描述 Activating Peering已经完成,PG正在等待所有PG实例同步并固化Peering的结果(Info、Log等) Active 活跃态。PG可以正常处理来自客户端的读写请求 Backfil原创 2021-04-30 15:54:26 · 227 阅读 · 1 评论 -
ceph---stale状态pg处理方法
pg出现stale状态,也就是pg处于僵死状态,该状态是无法处理新的请求了的,新的请求过来只会block。处理方法:第一步,找到stale状态pgceph pg dump |grep stale第二步:重新创建pgceph force_create_pg $pg_id...原创 2021-04-30 15:12:14 · 1206 阅读 · 2 评论 -
ceph---处理creating状态pg脚本
#!/bin/shcreating_pgs=`cat creating_pg`for pgid in $creating_pgsdo map=`ceph pg map $pgid | awk '{print $8}'` map1="${map#*[}" map2="${map1%]}" echo "ceph osd pg-temp $pgid {$map2}"done原创 2021-04-28 20:09:15 · 230 阅读 · 0 评论 -
ceph---ceph命令强行标记osd为down
[root@node1 ~]# ceph -vceph version 0.94.10 (b1e0532418e4631af01acbc0cedd426f1905f4af)问题描述:在使用批量删除osd的shell脚本删除所有的osd时,提示:Error EBUSY: osd.0 is still up; must be down before removal.查看集群架构:[root@node1]# ceph osd tree92 3.62999 osd.92 ...原创 2021-01-13 21:12:13 · 966 阅读 · 1 评论 -
ceph---添加osd失败问题
在ceph集群使用过程中遇到一个问题,剔除一块磁盘需要更换新磁盘,使用下面两个添加命令反复操作了多次,osd都没有加到集群里面,不知道是什么原因,无奈之下重启了服务器,服务器启动后,osd设置到了集群中。添加命令应该是生效了,可能是机器处于某种状态到时添加异常,遇到类似问题可以考虑重启要添加osd的主机。添加命令:ceph-deploy disk zap node23:/dev/sdalceph-deploy --overwrite-conf osd prepare node23:...原创 2020-08-13 20:52:43 · 2352 阅读 · 0 评论 -
ceph---ceph wrongly marked me down
问题描述:由7台服务器组成的集群,有一台服务器的只要osd一启动,整个集群就能无法写,出现osd频繁down的问题,查看osd日志,报ceph wrongly marked me down解决方法:通过排查,最终确定是由于这台服务器开启了防火墙导致,关掉防火墙后,集群恢复正常读写。...原创 2020-07-29 19:28:27 · 414 阅读 · 0 评论 -
ceph---Error EBUSY: osd.93 is still up; must be down before removal.
在删除编号为93的osd是,提示Error EBUSY: osd.93 is still up; must be down before removal.解决方法:1.使用ceph命令标记osd为down,然后在删除 [root@node ~]# ceph osd down osd.93 marked down osd.93.2.然后再使用删除命令删除osd service ceph stop osd.93 ceph osd out osd.93 su...原创 2020-07-28 12:57:24 · 634 阅读 · 0 评论 -
ceph---集群不能设置OSD
设置osd时,prepare.log出现下列错误ceph_deploy.conf][DEBUG ] found configuration file at: /home/admin/.cephdeploy.conf[ceph_deploy.cli][INFO ] Invoked (1.5.31): /bin/ceph-deploy --overwrite-conf osd prepare node55:/dev/sdb[ceph_deploy.cli][INFO ] ceph-deploy op..原创 2020-07-08 19:15:27 · 402 阅读 · 0 评论 -
Ceph---ceph 12.2.12 full ratio(s) out of order
实际使用ceph 12.2.12的过程中遇到full ratio(s) out of order原因:osd_failsafe_full_ratio 小于 full_ratio解决方法:设置full_ratio小于等于osd_failsafe_full_ratioceph osd set-full-ratio 0.97原创 2020-05-16 09:29:24 · 2578 阅读 · 0 评论 -
Ceph学习之路---集群报错 too many PGs per OSD
ceph -s查看集群状态出现下面的错误too many PGs pre OSD (512 > max 500)解决方法:在/etc/ceph/ceph.conf中有个调整此项警告的阈值$ vi /etc/ceph/ceph.conf[global].......mon_pg_warn_max_per_osd = 500修改mon_pg_warn_max_per_osd的值大于警告的值,重启mon即可...原创 2020-05-11 20:25:31 · 983 阅读 · 1 评论 -
Ceph学习之路---pg peered状态处理方法
pg出现peered状态pool上的pg对应的osd被剔除后,pg状态变为peered,此时访问该对象毫无反应,因为pg peered是不能够响应io请求的。但是此时该pg仍有一个副本,却不能够访问了,这是因为pool的min_size=2,也就是只能允许有一个osd out,如果超过就无法响应io。ceph osd pool set pool min_size 1...原创 2020-02-29 15:55:37 · 754 阅读 · 0 评论 -
Ceph学习之路---ceph 查看每个osd的pg个数脚本
ceph pg dump | awk ' /^pg_stat/ { col=1; while($col!="up") {col++}; col++ } /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0; up=$col; i=0; RSTART=0...原创 2020-02-26 16:22:19 · 1018 阅读 · 0 评论 -
ceph学习之路---修改Ceph集群IP监听地址
环境centos 6.7ceph 版本 0.94.10主机名 原IP 新IP node214 155.8.3.214 155.8.15.214 node215 155.8.3.215 155.8.15.215 node216 155.8.3.216 155.8.15.216 修改方法:1.导出...原创 2019-11-13 20:43:47 · 494 阅读 · 0 评论 -
Ceph学习之路---ceph scrub error解决方法
原因: 数据的不一致性(inconsistent)指对象的大小不正确、恢复结束后某副本出现了对象丢失的情况。数据的不一致性会导致清理失败(scrub error)。 ceph在存储的过程中,由于特殊原因,可能遇到对象信息大小和物理磁盘上实际大小数据不一致的情况,这也会导致清理失败。解决方法:查找pg_id:1.ceph health detail | gr...原创 2019-11-02 16:16:05 · 797 阅读 · 0 评论 -
Ceph学习之路---Ceph检查和设置运行时nearfull和full的阀值
检查运行时nearfull和full的阈值:ceph pg dump | grep full设置运行时nearfull和full的阈值:1)、通知pg修改nearfull及full的阈值ceph pg set_backfillfull_ratio 0.95ceph pg set_nearfull_ratio 0.95ceph pg set_full_ratio 0.97...原创 2019-11-02 16:10:58 · 3644 阅读 · 0 评论 -
ceph学习之路---pg unclean 状态处理
在处理一个osd写数据不均匀的问题时,同时调整了3个osd的权重,最后出行10 个pg处于unclean的状态,集群的状态一致不能恢复,最后到网上查了一个方法,设置之后,集群经过短时间,大量的数据调整之后,恢复了ok状态。使用下面的命令:ceph osd crush tunables optimal...原创 2019-08-31 16:04:44 · 648 阅读 · 0 评论 -
ceph学习之路---ceph 0.94.10编译方法(centos 7.3)
1.下载ceph 0.94.10的源码http://download.ceph.com/tarballs/2.切换阿里源Centos 7.3的默认yum源下载速度慢,改源为阿里云的,修改方法如下:1)备份你的原镜像文件,以免出错后可以恢复。mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo...原创 2019-09-11 17:57:33 · 257 阅读 · 0 评论 -
ceph学习之路---动态修改日志等级
Example:修改osd.55的日志等级为10ceph tell osd.55 injectargs --debug-osd 10/10或者修改ceph.conf,在global设置日志的设置有debug_osd,debug_mon等。原创 2019-05-15 20:32:00 · 1304 阅读 · 0 评论 -
ceph学习之路----PG unfound状态处理
ceph集群如果出现坏盘,在更换磁盘的过程中,pg可能会出现unfound的状态,pg unfound状态处理方法:1)尝试让失败的osd起来,如果起来后集群恢复正常,则结束2)尝试将改PG的unfound对象回滚到上一个版本,ceph pg $pgid mark_unfound_lost revert,如果恢复,则正常3)如果还是不行,那只有将该object删除掉,注意这会导致丢失数...原创 2019-05-03 11:48:21 · 1861 阅读 · 0 评论 -
ceph学习之路---ceph建块方法
本文主要介绍建立一个副本池,建块的方法,这种方法建立的块设备实际使用过程中速度快,快格式快(大概10分钟左右),本文举例为在云存中加一个副本池(pool),建一个15T的块设备,块名是foo_1第一步:在已经装好的ceph环境中,通过命令创建一个副本池ceph osd pool create $pool_name $rep_pg_num $rep_pg_num$pool_name:副本...原创 2019-08-31 11:48:24 · 224 阅读 · 0 评论 -
ceph学习之路---Recovery和Backfill
Ceph基于PG级别的日志保证副本之间的数据一致性。Recovery指对应副本能够通过日志进行恢复(即只需要修复改副本上与权威日志不同步的那部分对象)。Backfill指副本已经无法通过日志进行恢复,需要以PG位目标进行数据迁移的过程。因此,Backfill比Recovery时间要长。Recovery恢复的两种方式:1)Pull:指Primary自身存在降级的对象,由Pri...原创 2019-08-22 20:24:47 · 4464 阅读 · 1 评论 -
ceph学习之路---ceph集群掉盘问题处理
重新mount命令mount -t xfs /dev/{盘符} /var/lib/ceph/osd/ceph-{osd_id}盘符带1例如盘符路径:/dev/sdfmount –t xfs /dev/sdf1 /var/lib/ceph/osd/ceph-72原创 2019-08-21 14:52:03 · 742 阅读 · 0 评论 -
ceph学习之路----云存换盘,新加磁盘添加失败处理方法
执行下列命令:dd if=/dev/zero of=$disk_path bs=1M count=51200例如磁盘关在路径是/dev/sdaadd if=/dev/zero of=/dev/sdaa bs=1M count=51200执行完,上面的命令后,在进行磁盘添加操作,可参考https://blog.youkuaiyun.com/yysalad/article/deta...原创 2019-05-03 11:53:26 · 578 阅读 · 0 评论 -
ceph学习之路----手动调整reweight
ceph osd reweight {osd_numeric_id} {reweight}原创 2019-05-03 11:50:43 · 1310 阅读 · 0 评论 -
ceph学习之路----PG Creating状态处理
ceph -s 发现有pg一直处于creating状态时有两种处理方法:方法一:重启全部osd(如果不起作用,采用第二种)方法二:通过pg-temp处理pg creating状态,具体方法:1)过滤处于creating状态的pg ceph pg dump | grep creating2)查看pg对应的osd列表 ceph pg map $pgid3...原创 2019-05-03 11:50:05 · 1044 阅读 · 1 评论 -
ceph学习之路----OSD DNE状态处理
删除osd的时候,如果没有在crush中删除,osd可能会出现DNE的状态,具体解决方法:1)过滤处于DNE状态的osd: ceph osd tree | grep DNE2)osd DNE状态清楚方法: ceph osd crush remove osd.id...原创 2019-05-03 11:49:05 · 1657 阅读 · 0 评论 -
ceph学习之路----删除和创建MON
创建MONceph-deploy mon create 主机名ceph-deploy mon create HOST12删除MONceph-deploy mon destroy 主机名ceph-deploy mon destroy HOST12特殊情况如果失败,看提示可以用下列命令ceph-deploy –overwrite-conf mon create ...原创 2019-05-03 11:47:37 · 433 阅读 · 0 评论 -
ceph学习之路----释放ceph占用内存
ceph tell osd.* heap release原创 2019-05-03 11:46:43 · 2229 阅读 · 4 评论 -
ceph学习之路----动态修改日志等级
Example:修改osd.55的日志等级为10ceph tell osd.55 injectargs --debug-osd 10/10原创 2019-05-03 11:46:07 · 908 阅读 · 0 评论 -
ceph学习之路----集群替换磁盘流程
1.先踢盘ceph osd out $needRemoveOsdsudo /etc/init.d/ceph stop $needRemoveOsdsudo /etc/init.d/ceph remove $needRemoveOsdceph osd crush remove $needRemoveOsdceph auth del $needRemoveOsdceph osd...原创 2019-05-03 11:44:52 · 634 阅读 · 0 评论 -
ceph 0.94.10编译方法(centos 6.7)
1.下载ceph 0.94.10的源码http://download.ceph.com/tarballs/2.升级gcc,gcc下载地址http://ftp.gnu.org/gnu/gcc/3.安装ceph依赖包sudo yum install make automake autoconf boost-devel fuse-devel gcc-c++ libtool libuu...原创 2019-04-09 18:44:55 · 394 阅读 · 0 评论 -
ceph学习之路----磁盘损坏修复方法
ceph云存储磁盘损坏,出现坏道导致osd重启,可以使用磁盘修复工具对损坏的扇区进行处理,加快集群的恢复速度,不会影响集群的正常运行。例如希捷就有类似的修复工具。...原创 2019-05-03 11:58:03 · 1211 阅读 · 0 评论 -
ceph学习之路----mon 状态 synchronizing
synchronizing 状态意味着该 monitor 正在和集群中的其他 monitor 进行同步,以便加入法定人数。Monitor 的数据库越小,同步过程的耗时就越短。 然而,如果你注意到 monitor 的状态从 synchronizing 变为 electing 后又变回 synchronizing ,那么就有问题了:集群的状态更新的太快(即产生新的 maps ),同步过程已经无法追赶上...转载 2019-05-08 11:38:55 · 533 阅读 · 0 评论 -
ceph学习之路----ceph12.2.12编译方法
以Centos 7.3为例:1.完成Centos 7.3系统安装2.下载ceph12.2.12源码,http://download.ceph.com/tarballs/3.Centos 7.3的默认yum源下载速度慢,改源为阿里云的,修改方法如下:1)备份你的原镜像文件,以免出错后可以恢复。mv /etc/yum.repos.d/CentOS-Base.repo /etc/yu...原创 2019-05-19 10:57:34 · 962 阅读 · 0 评论 -
ceph学习之路---pg inconsistent 状态处理
集群出现pg状态变为 inconsistent 状态,inconsistent状态是pg通过scrub检测到某个或者某些对象在副本之间出现了不一致解决方法:1.找到pgidceph pg dump | grep inconsistent2.通过repair修复对应的pgceph pg repair pgid完成...原创 2019-08-13 20:13:34 · 2615 阅读 · 1 评论