吊带公主裙 Ceph分布式存储日常运维管理手册


配置文件设置阈值"mon_osd_full_ratio":"0.95","mon_osd_nearfull_ratio":"0.85"处理方式#自动处理cephosdreweight-by-utilizationcephosdreweight-by-pg105cephfs_data(pool_name)#手动处理cephosdreweightosd.20.8#全局处理cephmgrmodulelscephmgrmoduleenablebalancercephbalanceroncephbalancermodecrush-compatcephconfig-keyset"mgr/balancer/max_misplaced":"0.01"PG故障状态PG状态概述一个PG在它的生命周期的不同时刻可能会处于以下几种状态中:Creating(创建中)在创建POOL时,需要指定PG的数量,此时PG的状态便处于creating,意思是Ceph正在创建PG 。 Peering(互联中)peering的作用主要是在PG及其副本所在的OSD之间建立互联,并使得OSD之间就这些PG中的object及其元数据达成一致 。 Active(活跃的)处于该状态意味着数据已经完好的保存到了主PG及副本PG中,并且Ceph已经完成了peering工作 。 Clean(整洁的)当某个PG处于clean状态时,则说明对应的主OSD及副本OSD已经成功互联,并且没有偏离的PG 。 也意味着Ceph已经将该PG中的对象按照规定的副本数进行了复制操作 。 Degraded(降级的)当某个PG的副本数未达到规定个数时,该PG便处于degraded状态,例如:在客户端向主OSD写入object的过程,object的副本是由主OSD负责向副本OSD写入的,直到副本OSD在创建object副本完成,并向主OSD发出完成信息前,该PG的状态都会一直处于degraded状态 。 又或者是某个OSD的状态变成了down,那么该OSD上的所有PG都会被标记为degraded 。 当Ceph因为某些原因无法找到某个PG内的一个或多个object时,该PG也会被标记为degraded状态 。 此时客户端不能读写找不到的对象,但是仍然能访问位于该PG内的其他object 。 Recovering(恢复中)当某个OSD因为某些原因down了,该OSD内PG的object会落后于它所对应的PG副本 。 而在该OSD重新up之后,该OSD中的内容必须更新到当前状态,处于此过程中的PG状态便是recovering 。 Backfilling(回填)当有新的OSD加入集群时,CRUSH会把现有集群内的部分PG分配给它 。 这些被重新分配到新OSD的PG状态便处于backfilling 。 Remapped(重映射)当负责维护某个PG的actingset变更时,PG需要从原来的actingset迁移至新的actingset 。 这个过程需要一段时间,所以在此期间,相关PG的状态便会标记为remapped 。 Stale(陈旧的)默认情况下,OSD守护进程每半秒钟便会向Monitor报告其PG等相关状态,如果某个PG的主OSD所在actingset没能向Monitor发送报告,或者其他的Monitor已经报告该OSD为down时,该PG便会被标记为stale 。 OSD状态单个OSD有两组状态需要关注,其中一组使用in/out标记该OSD是否在集群内,另一组使用up/down标记该OSD是否处于运行中状态 。 两组状态之间并不互斥,换句话说,当一个OSD处于“in”状态时,它仍然可以处于up或down的状态 。
OSD状态为in且up这是一个OSD正常的状态,说明该OSD处于集群内,并且运行正常 。 OSD状态为in且down此时该OSD尚处于集群中,但是守护进程状态已经不正常,默认在300秒后会被踢出集群,状态进而变为out且down,之后处于该OSD上的PG会迁移至其它OSD 。 OSD状态为out且up这种状态一般会出现在新增OSD时,意味着该OSD守护进程正常,但是尚未加入集群 。 OSD状态为out且down在该状态下的OSD不在集群内,并且守护进程运行不正常,CRUSH不会再分配PG到该OSD上 。 集群监控管理集群整体运行状态#ceph-scluster:id:8230a918-a0de-4784-9ab8-cd2a2b8671d0health:HEALTH_WARNapplicationnotenabledon1pool(s)services:mon:3daemons,quorumcephnode01,cephnode02,cephnode03(age27h)mgr:cephnode01(active,since53m),standbys:cephnode03,cephnode02osd:4osds:4up(since27h),4in(since19h)rgw:1daemonactive(cephnode01)data:pools:6pools,96pgsobjects:235objects,3.6KiBusage:4.0GiBused,56GiB/60GiBavailpgs:96active+cleanid:集群IDhealth:集群运行状态 , 这里有一个警告 , 说明是有问题 , 意思是pg数大于pgp数 , 通常此数值相等 。 mon:Monitors运行状态 。 osd:OSDs运行状态 。 mgr:Managers运行状态 。 mds:Metadatas运行状态 。 pools:存储池与PGs的数量 。 objects:存储对象的数量 。 usage:存储的理论用量 。 pgs:PGs的运行状态~]$ceph-w~]$cephhealthdetail#pg状态~]$cephpgdump~]$cephpgstat#pool状态~]$cephosdpoolstats~]$cephosdpoolstats#osd状态~]$cephosdstat~]$cephosddump~]$cephosdtree~]$cephosddf#Monitor状态和查看仲裁状态~]$cephmonstat~]$cephmondump~]$cephquorum_status#集群空间用量~]$cephdf~]$cephdfdetail集群配置管理(临时和全局 , 服务平滑重启)【吊带公主裙 Ceph分布式存储日常运维管理手册】有时候需要更改服务的配置 , 但不想重启服务 , 或者是临时修改 。 这时候就可以使用tell和daemon子命令来完成此需求 。


推荐阅读