ceph常用命令详解_ceph osd

ceph常用命令详解_ceph osd1.OSD概念OSD:ObjectStorageDevice,主要负责响应客户端请求返回具体数据的守护进程,一般一个集群会有多个OSD,每一块盘都会对应一个OSD。2.OSD状态[root@data1~]#cephosdstat4osds:3up(since23m),3in(since13m);epoch:e345OSD状态说明:a.集群内(in)b.集群外(out)c.活着且在运行(up)d.挂了且不再运行(down).

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

OSD进程的启动停止:https://blog.csdn.net/bandaoyu/article/details/119894927

1. OSD概念

OSD:Object Storage Device,主要负责响应客户端请求返回具体数据的守护进程,一般一个集群会有多个OSD,每一块盘都会对应一个OSD。

2. OSD 状态

[root@data1 ~]# ceph osd stat
4 osds: 3 up (since 23m), 3 in (since 13m); epoch: e345

Jetbrains全家桶1年46,售后保障稳定

 OSD状态说明:

a. 集群内(in)

b. 集群外(out)

c. 活着且在运行(up)

d. 挂了且不再运行(down)

正常情况下OSD的状态是up in状态,如果down掉OSD,它的状态会变为down in,等待数据均衡完成后osd变为down out状态,Ceph 会把其归置组迁移到其他OSD, CRUSH 就不会再分配归置组给它。

3. 查看OSD的状态

# 查看集群的osd状态
# 查看指定osd的状态:ceph osd dump 3

[root@node1 ~]# ceph osd dump
epoch 242
fsid a1001d7b-e11e-48b5-9d18-759aeb238b21
created 2020-05-25 15:25:44.802972
modified 2020-05-26 13:22:00.626733
flags sortbitwise,recovery_deletes,purged_snapdirs,pglog_hardlimit
crush_version 23
full_ratio 0.95
backfillfull_ratio 0.9
nearfull_ratio 0.85
require_min_compat_client luminous
min_compat_client luminous
require_osd_release nautilus
pool 8 'pool' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 128 pgp_num 128 autoscale_mode warn last_change 60 flags hashpspool,selfmanaged_snaps max_bytes 214748364800 stripe_width 0 application rbd
	removed_snaps [1~3]
max_osd 4
osd.0 up   in  weight 1 up_from 231 up_thru 235 down_at 230 last_clean_interval [13,228) [v2:192.168.102.21:6800/1518,v1:192.168.102.21:6801/1518] [v2:192.168.102.21:6802/1518,v1:192.168.102.21:6803/1518] exists,up 23438b52-b147-456e-8368-7fcb71daf267
osd.1 up   in  weight 1 up_from 229 up_thru 235 down_at 227 last_clean_interval [13,226) [v2:192.168.102.19:6800/1517,v1:192.168.102.19:6801/1517] [v2:192.168.102.19:6802/1517,v1:192.168.102.19:6803/1517] exists,up f66ea32b-bc4a-4806-92bd-958b6f291676
osd.2 up   in  weight 1 up_from 235 up_thru 235 down_at 228 last_clean_interval [13,227) [v2:192.168.102.20:6800/1501,v1:192.168.102.20:6801/1501] [v2:192.168.102.20:6802/1501,v1:192.168.102.20:6803/1501] exists,up 76ca3ce8-5f01-4272-835b-796881f27f8a
osd.3 down out weight 0 up_from 0 up_thru 0 down_at 0 last_clean_interval [0,0)   exists,new

4. 查看OSD目录树

[root@node1 ~]# ceph osd tree
ID  CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF 
 -1       0.78119 root default                                  
 -2       0.78119     rack rack                                 
-11       0.19530         host node1                         
  3   ssd 0.19530             osd.3       down        0 1.00000 
 -3       0.19530         host node2                         
  1   ssd 0.19530             osd.1         up  1.00000 1.00000 
 -4       0.19530         host node3                         
  2   ssd 0.19530             osd.2         up  1.00000 1.00000 
 -5       0.19530         host node4                         
  0   ssd 0.19530             osd.0         up  1.00000 1.00000 

5. 下线OSD (down in)

#让ID为3的osd down 掉,此时该 osd 不接受读写请求,但 osd 还是存活的,即对应down in状态
 
[root@node1 ~]# ceph osd down 0

[root@node1 ~]# ceph osd tree
ID  CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF 
 -1       0.78119 root default                                  
 -2       0.78119     rack rack                                 
-11       0.19530         host node1                         
  3   ssd 0.19530             osd.3       down  1.00000 1.00000 
 -3       0.19530         host node2                         
  1   ssd 0.19530             osd.1         up  1.00000 1.00000 
 -4       0.19530         host node3                         
  2   ssd 0.19530             osd.2         up  1.00000 1.00000 
 -5       0.19530         host node4                         
  0   ssd 0.19530             osd.0         up  1.00000 1.00000 

5. 上线OSD (up in)

#让ID为3的osd up起来,此时该 osd 接受读写请求,对应up in状态
 
[root@node1 ~]# ceph osd up 3

[root@node1 ~]# ceph osd tree
ID  CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF 
 -1       0.78119 root default                                  
 -2       0.78119     rack rack                                 
-11       0.19530         host node1                         
  3   ssd 0.19530             osd.3       up  1.00000 1.00000 
 -3       0.19530         host node2                         
  1   ssd 0.19530             osd.1         up  1.00000 1.00000 
 -4       0.19530         host node3                         
  2   ssd 0.19530             osd.2         up  1.00000 1.00000 
 -5       0.19530         host node4                         
  0   ssd 0.19530             osd.0         up  1.00000 1.00000 

 6. OSD踢出集群 (down out)

#让ID为3的osd踢出集群,对应down out状态
 
[root@node1 ~]# ceph osd out 3

7. OSD加入集群 (up in)

#让ID为3的osd加入集群,对应up in状态,即上线一个OSD
 
[root@node1 ~]# ceph osd in  3

8. 删除OSD (stop osd)

#在集群中删除一个OSD,需要先停止OSD,即stop osd
 
[root@node1 ~]# ceph osd rm osd.3

9. 从crush map中删除OSD

#在crush map中删除一个OSD
 
[root@node1 ~]# ceph osd crush rm osd.3

10. 删除host节点

#从集群中删除一个host节点
 
[root@node1 ~]# ceph osd crush rm node1

11. 查看最大OSD个数

#查看最大osd个数,默认最大是4osd节点
 
[root@node1 ~]# ceph osd getmaxosd

12. 设置最大OSD个数

#设置最大osd个数,默认最大是4osd节点
 
[root@node1 ~]# ceph osd setmaxosd 60

 13. 设置OSD的crush权重

[root@node1 ~]# ceph osd crush reweight osd.3 3.0

14. 暂停OSD

#暂停后整个集群不再接受数据

[root@node1 ~]# ceph osd pause

15. 开启OSD

#开启后再次接收数据

[root@node1 ~]# ceph osd unpause

16. 查看OSD参数

[root@node1 ~]# ceph --admin-daemon /var/run/ceph/ceph-osd.1.asok config show

17. 查看延迟

# 主要解决单块磁盘问题,如果有问题及时剔除OSD。统计的是平均值
# commit_latency 表示从接收请求到设置commit状态的时间间隔
# apply_latency 表示从接收请求到设置apply状态的时间间隔

[root@node1 ~]# ceph osd perf
osd commit_latency(ms) apply_latency(ms) 
  3                  0                 0 
  2                  3                 3 
  1                  4                 4 
  0                  3                 3 

18. 主亲和性

# Ceph 客户端读写数据时,总是连接 acting set 里的主 OSD (如 [2, 3, 4] 中, osd.2 是主的)。
# 有时候某个 OSD 与其它的相比并不适合做主 OSD (比如其硬盘慢、或控制器慢),最大化硬件利用率时为防止性能瓶颈(特别是读操作),
# 你可以调整 OSD 的主亲和性,这样 CRUSH 就尽量不把它用作 acting set 里的主 OSD 了。
 
#ceph osd primary-affinity <osd-id> <weight>   
 
[root@node1 ~]#  ceph osd primary-affinity 2 1.0

#主亲和性默认为 1 (就是说此 OSD 可作为主 OSD )。此值合法范围为 0-1 ,其中 0 意为此 OSD 不能用作主的,#1 意为 OSD 可用作主的;此权重小于 1 时, CRUSH 选择主 OSD 时选中它的可能性低

19. 查看osd对应盘的利用率

[root@node1 ~]# ceph osd df
ID CLASS WEIGHT  REWEIGHT SIZE    RAW USE DATA    OMAP    META     AVAIL   %USE  VAR  PGS STATUS 
 3   ssd 0.19530        0     0 B     0 B     0 B     0 B      0 B     0 B     0    0   0   down 
 1   ssd 0.19530  1.00000 198 GiB  43 GiB  39 GiB  39 KiB 1024 MiB 155 GiB 21.88 1.01 189     up 
 2   ssd 0.19530  1.00000 198 GiB  43 GiB  39 GiB  48 KiB 1024 MiB 155 GiB 21.60 1.00 191     up 
 0   ssd 0.19530  1.00000 198 GiB  42 GiB  38 GiB  41 KiB 1024 MiB 156 GiB 21.20 0.98 188     up 
                    TOTAL 594 GiB 128 GiB 116 GiB 130 KiB  3.0 GiB 466 GiB 21.56                 
MIN/MAX VAR: 0.98/1.01  STDDEV: 0.28

20. 提取crush图

# 提取最新crush图
# ceph osd getcrushmap -o {compiled-crushmap-filename}
 
[root@node1 ~]# ceph osd getcrushmap -o /tmp/crush
 
# 反编译crush图
# crushtool -d {compiled-crushmap-filename} -o {decompiled-crushmap-filename}
[root@node1 ~]# crushtool -d /tmp/crush -o /tmp/decompiled_crush

21. 注入crush图

#例如修改故障域host为osd,需要提取crush图,修改故障域,然后注入crush图

# 编译crush图
# crushtool -c {decompiled-crush-map-filename} -o {compiled-crush-map-filename}
 
[root@node1 ~]# crushtool -c /tmp/decompiled_crush -o /tmp/crush_new

#注入crush图
# ceph osd setcrushmap -i {compiled-crushmap-filename}
[root@node1 ~]# ceph osd setcrushmap -i /tmp/crush_new

22. 停止自动均衡

# 在集群维护过程中,如果某一个机架或者主机故障,而此时不想在停机维护osd过程中让crush自动均衡,提前设置为noout
 
[root@node1 ~]# ceph osd set noout

23. 取消停止自动均衡

# 取消停止自动均衡
 
[root@node1 ~]# ceph osd set noout

24. 删除OSD的痕迹

# 删除OSD的所有痕迹,包括其cephx加密秘钥,OSD ID 和crush map entry


ceph osd purge <osdname (id|osd.id)> {--yes-i-really-mean-it}
 
[root@node1 ~]# ceph osd purge 1 --yes-i-really-mean-it

此时osd已经不在集群中

[root@node1 ~]# ceph osd tree
 -1 0.04799 root default
 -2 0.00999     host luminous0
  5 0.00999         osd.5               up  1.00000          1.00000
 -3 0.01900     host luminous2
  0 0.00999         osd.0               up  1.00000          1.00000
  4 0.00999         osd.4               up  1.00000          1.00000
 -4 0.01900     host luminous1
  2 0.00999         osd.2               up  1.00000          1.00000
  3 0.00999         osd.3               up  1.00000          1.00000

原文:https://www.csdn.net/tags/NtzaAgysODk4MjYtYmxvZwO0O0OO0O0O.html 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/223071.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android 平台的Python——基础篇(一)

    Android 平台的Python——基础篇(一)前言(本文以Python3为例,Python3是未来,大家都懂的)Python作为一个功能强大又语法简洁的语言,其应用已无需多言。要想在Android平台运行起Python,也有方案实现,其实质就是在Android系统上搭建Python环境。对此Google已经提供了SL4A(ScriptingLayerforAndroid)方案,支持多种脚本语言,除此之外,还可以使用一个

  • zookeeper启动报错 ,无法加载主类_security与safe

    zookeeper启动报错 ,无法加载主类_security与safe最近在本机电脑上zookeeper集群,但是报错如下,哪位大佬知道怎么解决2020-07-1314:43:15,283[myid:]-INFO[main:QuorumPeerConfig@173]-Readingconfigurationfrom:/home/yangaoyu/software/zookeeper-3.6.1/bin/…/conf/zoo.cfg2020-07-1314:43:15,316[myid:]-INFO[main:QuorumPeerConfi

  • Unity 3D 游戏引擎

    Unity 3D 游戏引擎简介Unity3D也称Unity,是由UnityTechnologies公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。Unity3D可以运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、WindowsPhone8和Android平台。也可以利用UnityWebPlayer插件发布网页游戏,支持Mac和Windo…

  • SpringBoot的序列化和反序列化

    SpringBoot的序列化和反序列化序列化与反序列化1、认识序列化与反序列化Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程。2、为什么要实现对象的序列化和反序列化?(1)我们创建的Java对象被存储在Java堆中,当程序运行结束后,这些对象会被JVM回收。但在现实的应用中,可能会要求在程序运行结束之后还能读取这些对象,并在以后检索数据,这时就需要用到序列化。(2)当Java对象通过网络进行传输的时候。因为数据只能够以二进制的形式在网络中进行传输,因此当把对象通过网络发送

  • mysql截取数字_mysql 截取字符串中的数字

    mysql截取数字_mysql 截取字符串中的数字展开全部selectREVERSE(right(REVERSE(filename),length(filename)-LEAST(if(Locate(‘0’,REVERSE(filename))>0,Locate(‘0’,REVERSE(filename)),999),if(Locate(‘1’,REVERSE(filename))>0,Locate(‘1’,REVERSE(f…

  • linux下的C语言开发

    在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。当然,linux操作系统本身对C语言的支持也是相当到位的。作为一个真正

    2021年12月27日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号