Ceph分散型ストレージ-クラスタの健康状態の確認
15399 ワード
1.クラスタのチェック
1.1クラスタの状態の確認
出力情報には次のものが含まれます.クラスタのID クラスタの健康状況 monitor mapバージョンとmon法定人数状態 OSD mapバージョンとOSDステータスサマリー PG mapバージョン PGとPoolの数 クラスタに格納データ量、オブジェクトの総量、およびクラスタの使用済み容量/総容量/利用可能な .容量 クライアントのiops情報 1.2クラスタの容量状況を検査する
出力されるGLOBALセグメントは、データが占有するクラスタ記憶領域の概要を示す. SIZE:クラスタの総容量. AVAIL:クラスタの空き容量の合計. RAW USED:使用済みストレージ容量の合計. %RAW USED:使用済みストレージ容量比率.この値をfull ratioとnear full ratioと比較して、クラスタ空間が尽きないことを確認します.出力されたPOOLSセグメントは,ストレージプールリストおよび各ストレージプールの概略使用率を示す.このセクションでは、コピー、クローン、スナップショットの使用状況は反映されません.たとえば、1 MBのデータをオブジェクトとして保存すると、理論使用率は1 MBになりますが、コピー数、クローン数、スナップショット数を考慮すると、実際の使用量は2 MB以上になる可能性があります. NAME:ストレージプール名. ID:ストレージプール固有識別子. USED:大体のデータ量、単位はKB、MBあるいはGBです; %USED:各ストレージプールのおおよその使用率. Objects:各ストレージプール内のおおよそのオブジェクト数.
2.osdチェック
2.1 osd状態の確認
2.2 osd crushmapが一致しているかどうかを確認する
2.3 osd容量のバランスをチェックする
2.4 osd 3コピーがラックに分散しているかどうかを確認する
2.5リカバリ速度制限構成の確認
2.6検査データ洗浄期間
3.monチェック
3.1 mon状態の点検
3.2 monラックの分布を確認する
3.3 mon法定人数状態
モニターの定足数ステータスを確認するには、次のコマンドを実行します.
4.MDSチェック
4.1 MDSステータスの確認
メタデータサーバはCephファイルシステムにメタデータサービスを提供していますが、現在の本番環境ではMDSは導入されていません.
メタデータ・サーバには、up|downとactive|inactiveの2つのステータスがあります.次のコマンドを実行して、メタデータ・サーバのステータスがupでactiveであることを確認します.
メタデータ・クラスタの詳細なステータスを表示するには、次のコマンドを実行します.
5.PGチェック
5.1 PG状態を検査する
PGはオブジェクトをOSDにマッピングする.PGを監視する場合、それらの状態がactiveでcleanであることを望んでいます.
6.管理ソケットの使用
Ceph管理ソケットを使用すると、デフォルトでは/var/run/cephの下に存在するソケットインタフェースを使用してデーモンプロセスを問い合わせることができます.管理ソケットを使用してデーモン・プロセスにアクセスするには、ホストにログインしてから、次のコマンドを実行します.
たとえば、これは次の2つの使い方が等価です.
次のコマンドを使用して、使用可能な管理ソケットコマンドを表示します.
ソケットの管理コマンドを使用すると、実行時に構成を表示および変更できます.
また、実行時に構成オプションを直接変更できます(つまり、管理ソケットはMonを迂回し、ceph{daemon-type}tell{id}injectargsがモニタに依存しないようにホストホストに直接ログインする必要はありません).
1.1クラスタの状態の確認
# HEALTH_OK
ceph -s
cluster aa7e0345-87a9-4860-a6b5-3158fd00b5a9
health HEALTH_WARN
nodeep-scrub,sortbitwise flag(s) set
monmap e3: 3 mons at {op-xxx-ceph00=10.69.1.1:6789/0,op-xxx-ceph01=10.69.1.2:6789/0,op-xxx-ceph02=10.69.1.3:6789/0}
election epoch 264, quorum 0,1,2 op-xxx-ceph02,op-xxx-ceph00,op-xxx-ceph01
fsmap e12557: 1/1/1 up {0=op-xxx-ceph05=up:active}, 1 up:standby
osdmap e24858: 59 osds: 59 up, 59 in
flags nodeep-scrub,sortbitwise
pgmap v50468419: 28832 pgs, 14 pools, 34479 GB data, 41212 kobjects
101 TB used, 112 TB / 214 TB avail
28822 active+clean
10 active+clean+scrubbing
client io 329 kB/s wr, 0 op/s rd, 51 op/s wr
出力情報には次のものが含まれます.
# %RAW USED
ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
214T 112T 101T 47.45
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 115 0 31508G 4
cephfs_data 1 31252G 42.67 31508G 13821502
cephfs_metadata 2 46967k 0 31508G 31385
.rgw.root 5 1636 0 31508G 4
default.rgw.control 6 0 0 31508G 8
default.rgw.data.root 7 6892 0 31508G 22
default.rgw.gc 8 0 0 31508G 32
default.rgw.log 9 0 0 31508G 127
default.rgw.users.uid 10 1492 0 31508G 6
default.rgw.users.swift 11 12 0 31508G 1
default.rgw.users.keys 12 51 0 31508G 4
default.rgw.meta 13 28985 0 31508G 87
default.rgw.buckets.index 14 0 0 31508G 26
default.rgw.buckets.data 15 3226G 4.41 31508G 28351099
出力されるGLOBALセグメントは、データが占有するクラスタ記憶領域の概要を示す.
2.osdチェック
2.1 osd状態の確認
# OSD up in
ceph osd stat
osdmap e24858: 59 osds: 59 up, 59 in
2.2 osd crushmapが一致しているかどうかを確認する
# WEIGHT , REWEIGHT
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 218.21495 root default
-2 43.64299 host op-xxx-ceph00
0 3.63699 osd.0 up 1.00000 1.00000
1 3.63699 osd.1 up 1.00000 1.00000
2 3.63699 osd.2 up 1.00000 1.00000
3 3.63699 osd.3 up 1.00000 1.00000
4 3.63699 osd.4 up 1.00000 1.00000
5 3.63699 osd.5 up 1.00000 1.00000
6 3.63699 osd.6 up 1.00000 1.00000
7 3.63699 osd.7 up 1.00000 1.00000
8 3.63699 osd.8 up 1.00000 1.00000
9 3.63699 osd.9 up 1.00000 1.00000
10 3.63699 osd.10 up 1.00000 1.00000
11 3.63699 osd.11 up 1.00000 1.00000
-3 43.64299 host op-xxx-ceph01
13 3.63699 osd.13 up 1.00000 1.00000
14 3.63699 osd.14 up 1.00000 1.00000
15 3.63699 osd.15 up 1.00000 1.00000
16 3.63699 osd.16 up 1.00000 1.00000
17 3.63699 osd.17 up 1.00000 1.00000
18 3.63699 osd.18 up 1.00000 1.00000
19 3.63699 osd.19 up 1.00000 1.00000
20 3.63699 osd.20 up 1.00000 1.00000
21 3.63699 osd.21 up 1.00000 1.00000
22 3.63699 osd.22 up 1.00000 1.00000
23 3.63699 osd.23 up 1.00000 1.00000
24 3.63699 osd.24 up 1.00000 1.00000
2.3 osd容量のバランスをチェックする
#1. %USE osd
#2. rack host
ceph osd df tree
ID CLASS WEIGHT REWEIGHT SIZE USE AVAIL %USE VAR PGS TYPE NAME
-1 1394.89197 - 1394T 45797G 1350T 3.21 1.00 - root default
-118 348.72299 - 348T 11544G 337T 3.23 1.01 - rack xxx-18
-3 87.18100 - 89274G 2888G 86385G 3.24 1.01 - host ceph-xxx-hdd00
0 hdd 7.26500 1.00000 7439G 252G 7186G 3.40 1.06 81 osd.0
1 hdd 7.26500 1.00000 7439G 235G 7203G 3.17 0.99 78 osd.1
2 hdd 7.26500 1.00000 7439G 262G 7177G 3.52 1.10 94 osd.2
3 hdd 7.26500 1.00000 7439G 284G 7155G 3.82 1.19 107 osd.3
4 hdd 7.26500 1.00000 7439G 236G 7203G 3.18 0.99 85 osd.4
5 hdd 7.26500 1.00000 7439G 245G 7193G 3.30 1.03 83 osd.5
6 hdd 7.26500 1.00000 7439G 231G 7207G 3.11 0.97 91 osd.6
7 hdd 7.26500 1.00000 7439G 257G 7181G 3.46 1.08 100 osd.7
8 hdd 7.26500 1.00000 7439G 190G 7249G 2.56 0.80 75 osd.8
9 hdd 7.26500 1.00000 7439G 212G 7227G 2.85 0.89 79 osd.9
10 hdd 7.26500 1.00000 7439G 248G 7190G 3.34 1.04 88 osd.10
11 hdd 7.26500 1.00000 7439G 231G 7207G 3.11 0.97 102 osd.11
-119 348.72299 - 348T 11196G 337T 3.14 0.98 - rack xxx-19
-11 87.18100 - 89274G 2830G 86443G 3.17 0.99 - host ceph-xxx-hdd04
48 hdd 7.26500 1.00000 7439G 223G 7215G 3.01 0.94 78 osd.48
49 hdd 7.26500 1.00000 7439G 279G 7160G 3.75 1.17 99 osd.49
50 hdd 7.26500 1.00000 7439G 198G 7241G 2.66 0.83 76 osd.50
51 hdd 7.26500 1.00000 7439G 230G 7209G 3.09 0.97 87 osd.51
52 hdd 7.26500 1.00000 7439G 257G 7181G 3.46 1.08 89 osd.52
53 hdd 7.26500 1.00000 7439G 193G 7246G 2.60 0.81 76 osd.53
54 hdd 7.26500 1.00000 7439G 222G 7216G 2.99 0.93 81 osd.54
55 hdd 7.26500 1.00000 7439G 237G 7201G 3.20 1.00 90 osd.55
56 hdd 7.26500 1.00000 7439G 234G 7205G 3.15 0.98 85 osd.56
57 hdd 7.26500 1.00000 7439G 251G 7187G 3.38 1.05 104 osd.57
58 hdd 7.26500 1.00000 7439G 244G 7195G 3.28 1.02 88 osd.58
59 hdd 7.26500 1.00000 7439G 257G 7182G 3.46 1.08 98 osd.59
-120 348.72299 - 348T 11582G 337T 3.24 1.01 - rack xxx-20
-5 87.18100 - 89274G 3066G 86207G 3.43 1.07 - host ceph-xxx-hdd01
12 hdd 7.26500 1.00000 7439G 302G 7137G 4.07 1.27 104 osd.12
13 hdd 7.26500 1.00000 7439G 241G 7197G 3.25 1.01 105 osd.13
14 hdd 7.26500 1.00000 7439G 318G 7120G 4.29 1.34 123 osd.14
15 hdd 7.26500 1.00000 7439G 229G 7210G 3.08 0.96 74 osd.15
16 hdd 7.26500 1.00000 7439G 272G 7167G 3.66 1.14 101 osd.16
17 hdd 7.26500 1.00000 7439G 264G 7174G 3.56 1.11 94 osd.17
18 hdd 7.26500 1.00000 7439G 241G 7197G 3.25 1.01 93 osd.18
19 hdd 7.26500 1.00000 7439G 245G 7193G 3.30 1.03 98 osd.19
20 hdd 7.26500 1.00000 7439G 211G 7227G 2.84 0.89 74 osd.20
21 hdd 7.26500 1.00000 7439G 264G 7174G 3.56 1.11 92 osd.21
22 hdd 7.26500 1.00000 7439G 264G 7175G 3.55 1.11 93 osd.22
23 hdd 7.26500 1.00000 7439G 208G 7230G 2.81 0.88 83 osd.23
-121 348.72299 - 348T 11474G 337T 3.21 1.00 - rack xxx-21
-7 87.18100 - 89274G 2844G 86429G 3.19 0.99 - host ceph-xxx-hdd02
24 hdd 7.26500 1.00000 7439G 212G 7226G 2.86 0.89 77 osd.24
25 hdd 7.26500 1.00000 7439G 258G 7180G 3.48 1.08 85 osd.25
26 hdd 7.26500 1.00000 7439G 223G 7216G 3.00 0.94 83 osd.26
27 hdd 7.26500 1.00000 7439G 216G 7222G 2.91 0.91 86 osd.27
28 hdd 7.26500 1.00000 7439G 252G 7187G 3.39 1.06 85 osd.28
29 hdd 7.26500 1.00000 7439G 190G 7249G 2.56 0.80 82 osd.29
30 hdd 7.26500 1.00000 7439G 255G 7183G 3.44 1.07 92 osd.30
31 hdd 7.26500 1.00000 7439G 260G 7178G 3.51 1.09 90 osd.31
32 hdd 7.26500 1.00000 7439G 241G 7198G 3.24 1.01 95 osd.32
33 hdd 7.26500 1.00000 7439G 252G 7187G 3.39 1.06 102 osd.33
34 hdd 7.26500 1.00000 7439G 279G 7160G 3.75 1.17 92 osd.34
35 hdd 7.26500 1.00000 7439G 201G 7237G 2.71 0.85 79 osd.35
2.4 osd 3コピーがラックに分散しているかどうかを確認する
# osd[31,38,1] 31,38,1 rack, host
ceph pg dump pgs|grep ^1|awk 'BEGIN {print "PG \t\t OBJECTS \t\t BYTES \t\tosd"} {print $1 "\t\t" $2 "\t\t" $7 "\t\t" $15}' | head
dumped pgs in format plain
PG OBJECTS BYTES osd
1.f9f 3339 8198351373 [31,38,1]
1.f9e 3352 8060814080 [48,7,52]
1.f9d 3484 8460769474 [32,3,18]
1.f9c 3283 8113961689 [0,60,26]
1.f9b 3408 7863461676 [60,14,42]
1.f9a 3454 8449437644 [42,7,19]
1.f99 3326 8301474267 [8,18,39]
1.f98 3414 8259614607 [52,30,14]
1.f97 3373 8180890502 [2,19,52]
#
master=""
slave1=""
slave2=""
ceph pg dump pgs|grep ^1|awk ' {print $15}' > pgs.log
sed -i "s/\[//g" pgs.log
sed -i "s/\]//g" pgs.log
for line in `cat pgs.log`
do
master_num=`echo $line | cut -d "," -f 1`
slave1_num=`echo $line | cut -d "," -f 2`
slave2_num=`echo $line | cut -d "," -f 3`
master=`ceph osd tree | grep "osd.$master_num" -B 12 | grep host | tail -1 | awk -F ' ' '{print $4}'`
slave1=`ceph osd tree | grep "osd.$slave1_num" -B 12 | grep host | tail -1 | awk -F ' ' '{print $4}'`
slave2=`ceph osd tree | grep "osd.$slave2_num" -B 12 | grep host | tail -1 | awk -F ' ' '{print $4}'`
echo " master:" $master " slave1 " $slave1 " slave2 " $slave2
master_ip=`host $master | awk -F ' ' '{print $4}' | cut -d "." -f 1,2`
slave1_ip=`host $slave1 | awk -F ' ' '{print $4}' | cut -d "." -f 1,2`
slave2_ip=`host $slave2 | awk -F ' ' '{print $4}' | cut -d "." -f 1,2`
echo " master:" $master_ip " slave1 " $slave1_ip " slave2 " $slave2_ip
if [[ "$master_ip" = "$slave1_ip" ]] || [[ "$slave1_ip" = "$slave2_ip" ]] || [[ "$master_ip" = "$slave2_ip" ]]; then
echo "failed"
break
else
echo "ok"
fi
done
2.5リカバリ速度制限構成の確認
#
#osd recovery max active = 3 (default : 15)
#osd recovery op priority = 3 (default : 10)
#osd max backfills = 1 (default : 10)
ceph daemon osd.6 config show | grep -E 'osd_recovery_max_active|osd_recovery_op_priority|osd_max_backfills'
"osd_max_backfills": "1",
"osd_recovery_max_active": "1",
"osd_recovery_op_priority": "1",
2.6検査データ洗浄期間
# , 0 -5
#osd_scrub_begin_hour = 0
#osd_scrub_end_hour = 5
ceph daemon osd.6 config show | grep -E 'osd_scrub_begin_hour|osd_scrub_end_hour'
"osd_scrub_begin_hour": "0",
"osd_scrub_end_hour": "5",
3.monチェック
3.1 mon状態の点検
# mon
ceph mon stat
e3: 3 mons at {op-xxx-ceph00=10.9.1.1:6789/0,op-xxx-ceph01=10.9.1.2:6789/0,op-xxx-ceph02=10.9.1.3:6789/0}, election epoch 264, quorum 0,1,2 op-xxx-ceph02,op-xxx-ceph00,op-xxx-ceph01
3.2 monラックの分布を確認する
# mon
ceph mon dump
dumped monmap epoch 3
epoch 3
fsid aa7e0345-87a9-4860-a6b5-3158fd00b5a9
last_changed 2016-07-27 16:51:39.275244
created 2016-07-27 02:42:27.838682
0: 10.9.1.1:6789/0 mon.op-xxx-ceph02
1: 10.9.1.2:6789/0 mon.op-xxx-ceph00
2: 10.9.1.3:6789/0 mon.op-xxx-ceph01
3.3 mon法定人数状態
モニターの定足数ステータスを確認するには、次のコマンドを実行します.
ceph quorum_status -f json-pretty
4.MDSチェック
4.1 MDSステータスの確認
メタデータサーバはCephファイルシステムにメタデータサービスを提供していますが、現在の本番環境ではMDSは導入されていません.
メタデータ・サーバには、up|downとactive|inactiveの2つのステータスがあります.次のコマンドを実行して、メタデータ・サーバのステータスがupでactiveであることを確認します.
ceph mds stat
e12557: 1/1/1 up {0=op-xxx-ceph05=up:active}, 1 up:standby
メタデータ・クラスタの詳細なステータスを表示するには、次のコマンドを実行します.
ceph mds dump
5.PGチェック
5.1 PG状態を検査する
PGはオブジェクトをOSDにマッピングする.PGを監視する場合、それらの状態がactiveでcleanであることを望んでいます.
ceph pg stat
v50681978: 28832 pgs: 9 active+clean+scrubbing, 28823 active+clean; 34497 GB data, 101 TB used, 112 TB / 214 TB avail; 198 kB/s rd, 182 kB/s wr, 55 op/s
6.管理ソケットの使用
Ceph管理ソケットを使用すると、デフォルトでは/var/run/cephの下に存在するソケットインタフェースを使用してデーモンプロセスを問い合わせることができます.管理ソケットを使用してデーモン・プロセスにアクセスするには、ホストにログインしてから、次のコマンドを実行します.
ceph daemon {daemon-name}
ceph daemon {path-to-socket-file}
たとえば、これは次の2つの使い方が等価です.
ceph daemon osd.0 foo
ceph daemon /var/run/ceph/ceph-osd.0.asok foo
次のコマンドを使用して、使用可能な管理ソケットコマンドを表示します.
ceph daemon {daemon-name} help
ソケットの管理コマンドを使用すると、実行時に構成を表示および変更できます.
また、実行時に構成オプションを直接変更できます(つまり、管理ソケットはMonを迂回し、ceph{daemon-type}tell{id}injectargsがモニタに依存しないようにホストホストに直接ログインする必要はありません).