第3章 Ceph Storage クラスターのモニタリング
ストレージ管理者は、Ceph の個々のコンポーネントの正常性を監視すると共に、Red Hat Ceph Storage クラスターの全体的な健全性を監視することができます。
Red Hat Ceph Storage クラスターを稼働したら、ストレージクラスターの監視を開始して、Ceph Monitor デーモンおよび Ceph OSD デーモンが高レベルで実行されていることを確認することができます。Ceph Storage クラスタークライアントは Ceph Monitor に接続して、最新バージョンのストレージクラスターマップを受け取ってから、ストレージクラスター内の Ceph プールへのデータの読み取りおよび書き込みを実施することができます。そのため、モニタークラスターには、Ceph クライアントがデータの読み取りおよび書き込みが可能になる前に、クラスターの状態に関する合意が必要です。
Ceph OSD は、セカンダリー OSD の配置グループのコピーと、プライマリー OSD 上の配置グループをピアにする必要があります。障害が発生した場合、ピアリングは active + clean
状態以外のものを反映します。
3.1. Ceph Storage クラスターのハイレベル監視
ストレージ管理者は、Ceph デーモンの正常性を監視し、それらが稼働していることを確認します。また、高レベルのモニタリングには、ストレージクラスター容量を確認して、ストレージクラスターが 完全な比率
を超えないようにします。Red Hat Ceph Storage ダッシュボード は、高レベルのモニタリングを実行する最も一般的な方法です。ただし、コマンドラインインターフェイス、Ceph 管理ソケットまたは Ceph API を使用してストレージクラスターを監視することもできます。
3.1.1. ストレージクラスターの正常性の確認
Ceph Storage クラスターを起動してからデータの読み取りまたは書き込みを開始する前に、ストレージクラスターの正常性を確認します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
Cephadm シェルにログインします。
例
root@host01 ~]# cephadm shell
Ceph Storage クラスターの正常性を確認するには、以下のコマンドを使用します。
例
[ceph: root@host01 /]# ceph health HEALTH_OK
ceph status
コマンドを実行すると、Ceph ストレージクラスターのステータスを確認できます。例
[ceph: root@host01 /]# ceph status
出力には、次の情報が表示されます。
- Cluster ID
- クラスターの正常性ステータス
- モニターマップエポックおよびモニタークォーラムのステータス
- OSD マップエポックおよび OSD のステータス
- Ceph Manager のステータス
- Object Gateway のステータス
- 配置グループマップのバージョン
- 配置グループとプールの数
- 保存されるデータの想定量および保存されるオブジェクト数
- 保存されるデータの合計量
- IO クライアントの操作。
クラスターがアップグレード中の場合は、アップグレードプロセスに関する最新情報。
Ceph クラスターの起動時に、
HEALTH_WARN XXX num placement groups stale
などの正常性警告が生じる可能性があります。しばらく待ってから再度確認します。ストレージクラスターの準備が整ったら、ceph health
はHEALTH_OK
などのメッセージを返すはずです。この時点で、クラスターの使用を開始するのは問題ありません。
3.1.2. ストレージクラスターイベントの監視
コマンドラインインターフェイスを使用して、Ceph Storage クラスターで発生しているイベントを監視することができます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
Cephadm シェルにログインします。
例
root@host01 ~]# cephadm shell
クラスターの進行中のイベントを監視するには、次のコマンドを実行します。
例
[ceph: root@host01 /]# ceph -w cluster: id: 8c9b0072-67ca-11eb-af06-001a4a0002a0 health: HEALTH_OK services: mon: 2 daemons, quorum Ceph5-2,Ceph5-adm (age 3d) mgr: Ceph5-1.nqikfh(active, since 3w), standbys: Ceph5-adm.meckej osd: 5 osds: 5 up (since 2d), 5 in (since 8w) rgw: 2 daemons active (test_realm.test_zone.Ceph5-2.bfdwcn, test_realm.test_zone.Ceph5-adm.acndrh) data: pools: 11 pools, 273 pgs objects: 459 objects, 32 KiB usage: 2.6 GiB used, 72 GiB / 75 GiB avail pgs: 273 active+clean io: client: 170 B/s rd, 730 KiB/s wr, 0 op/s rd, 729 op/s wr 2021-06-02 15:45:21.655871 osd.0 [INF] 17.71 deep-scrub ok 2021-06-02 15:45:47.880608 osd.1 [INF] 1.0 scrub ok 2021-06-02 15:45:48.865375 osd.1 [INF] 1.3 scrub ok 2021-06-02 15:45:50.866479 osd.1 [INF] 1.4 scrub ok 2021-06-02 15:45:01.345821 mon.0 [INF] pgmap v41339: 952 pgs: 952 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail 2021-06-02 15:45:05.718640 mon.0 [INF] pgmap v41340: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail 2021-06-02 15:45:53.997726 osd.1 [INF] 1.5 scrub ok 2021-06-02 15:45:06.734270 mon.0 [INF] pgmap v41341: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail 2021-06-02 15:45:15.722456 mon.0 [INF] pgmap v41342: 952 pgs: 952 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail 2021-06-02 15:46:06.836430 osd.0 [INF] 17.75 deep-scrub ok 2021-06-02 15:45:55.720929 mon.0 [INF] pgmap v41343: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
3.1.3. Ceph のデータ使用量の計算方法
使用される
値は、使用される生のストレージの 実際 の量を反映します。xxx GB / xxx GB
の値は、クラスターの全体的なストレージ容量のうち、2 つの数字の小さい方の利用可能な量を意味します。概念番号は、複製、クローン、またはスナップショットを作成する前に、保存したデータのサイズを反映します。したがって、Ceph はデータのレプリカを作成し、クローン作成やスナップショットのためにストレージ容量を使用することもあるため、実際に保存されるデータの量は、通常、保存された想定される量を上回ります。
3.1.4. ストレージクラスターの使用統計について
クラスターのデータ使用状況とプール間でのデータ分散を確認するには、df
オプションを使用します。これは Linux df
コマンドに似ています。
一部の OSD がクラスターから OUT として
マークされている場合、すべての OSD が IN
である場合と比べて、ceph df
および ceph status
コマンドの出力の SIZE
/AVAIL
/RAW USED
は異なります。SIZE
/AVAIL
/RAW USED
は、IN
状態にあるすべての OSD の SIZE
(OSD ディスクサイズ)、RAW USE
(ディスク上の合計使用スペース)、および AVAIL
の合計から計算されます。ceph osd df tree
コマンドの出力で、すべての OSD の SIZE
/AVAIL
/RAW USED
の合計を確認できます。
例
[ceph: root@host01 /]#ceph df --- RAW STORAGE --- CLASS SIZE AVAIL USED RAW USED %RAW USED hdd 5 TiB 2.9 TiB 2.1 TiB 2.1 TiB 42.98 TOTAL 5 TiB 2.9 TiB 2.1 TiB 2.1 TiB 42.98 --- POOLS --- POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL .mgr 1 1 5.3 MiB 3 16 MiB 0 629 GiB .rgw.root 2 32 1.3 KiB 4 48 KiB 0 629 GiB default.rgw.log 3 32 3.6 KiB 209 408 KiB 0 629 GiB default.rgw.control 4 32 0 B 8 0 B 0 629 GiB default.rgw.meta 5 32 1.7 KiB 10 96 KiB 0 629 GiB default.rgw.buckets.index 7 32 5.5 MiB 22 17 MiB 0 629 GiB default.rgw.buckets.data 8 32 807 KiB 3 2.4 MiB 0 629 GiB default.rgw.buckets.non-ec 9 32 1.0 MiB 1 3.1 MiB 0 629 GiB source-ecpool-86 11 32 1.2 TiB 391.13k 2.1 TiB 53.49 1.1 TiB
ceph df detail
コマンドは、quota objects、quota bytes、used compression、および under compression など、その他のプール統計に関する詳細情報を提供します。
出力の RAW STORAGE セクションは、ストレージクラスターがデータ用に管理するストレージ容量の概要を説明します。
- CLASS: OSD デバイスのクラス。
SIZE: ストレージクラスターが管理するストレージ容量。
上記の例では、
SIZE
が 90 GiB の場合、レプリケーション係数 (デフォルトでは 3) を考慮しない合計サイズです。レプリケーション係数を考慮した使用可能な合計容量は 90 GiB/3 = 30 GiB です。フル比率 (デフォルトでは 0.85%) に基づくと、使用可能な最大容量は 30 GiB * 0.85 = 25.5 GiB です。AVAIL: ストレージクラスターで利用可能な空き容量。
上記の例では、
SIZE
が 90 GiB、USED
容量が 6 GiB の場合、AVAIL
容量は 84 GiB になります。レプリケーション係数 (デフォルトでは 3) を考慮した使用可能な合計容量は、84 GiB/3 = 28 GiB です。USED: ユーザーデータが使用する raw ストレージの量。
上記の例では、100 MiB がレプリケーション係数を考慮した後で利用可能な合計領域です。実際に使用可能なサイズは 33 MiB です。RAW USED: ユーザーデータ、内部オーバーヘッド、または予約済み容量で消費される raw ストレージの量。
-
% RAW USED: RAW USED の割合。この数字は、
full ratio
とnear full ratio
で使用して、ストレージクラスターの容量に達しないようにします。
出力の POOLS セクションは、プールのリストと、各プールの概念的な使用目的を提供します。このセクションの出力には、レプリカ、クローン、またはスナップショットを 反映しません。たとえば、1 MB のデータでオブジェクトを保存する場合、概念的な使用量は 1 MB になりますが、実際の使用量は、size = 3
のクローンやスナップショットなどのレプリカ数によっては 3 MB 以上になる場合があります。
- POOL: プールの名前。
- ID: プール ID。
- STORED: ユーザーがプールに格納する実際のデータ量。この値は、(k+M)/K 値に基づく生の使用状況データ、オブジェクトのコピー数、プール統計計算時に劣化したオブジェクトの数に基づいて変化します。
-
OBJECTS: プールごとに保存されるオブジェクトの想定数。これは、
STORED
サイズ * レプリケーション係数です。 - USED: メガバイトの場合は M、ギガバイトの場合は G を付加しない限り、キロバイト単位で保存されたデータの想定量。
- %USED: プールごとに使用されるストレージの概念パーセンテージ。
MAX AVAIL: このプールに書き込むことができる想定データ量の推定。これは、最初の OSD がフルになる前に使用できるデータの量です。CRUSH マップからディスクにまたがるデータの予測分布を考慮し、フルにする最初の OSD をターゲットとして使用します。
上記の例では、レプリケーション係数 (デフォルトでは 3) を考慮しない
MAX AVAIL
は 153.85 MB です。MAX AVAIL
の値を計算するには、ceph df MAX AVAIL is incorrect for simple replicated pool というタイトルの Red Hat ナレッジベースの記事を参照してください。- QUOTA OBJECTS: クォータオブジェクトの数。
- QUOTA BYTES: クォータオブジェクトのバイト数。
- USED COMPR: 圧縮データに割り当てられる領域の量これには、圧縮データ、割り当て、レプリケーション、およびイレイジャーコーディングのオーバーヘッドが含まれます。
- UNDER COMPR: 圧縮に渡されるデータの量で、圧縮された形式で保存することが十分に有益です。
POOLS セクションの数字は概念的です。レプリカ、スナップショット、またはクローンの数は含まれていません。その結果、USED と %USED の量の合計は、出力の GLOBAL セクションの RAW USED と %RAW USED の量に加算されません。
MAX AVAIL の値は、使用されるレプリケーションまたはイレイジャージャーコード、ストレージをデバイスにマッピングする CRUSH ルール、それらのデバイスの使用率、および設定された mon_osd_full_ratio
の複雑な関数です。
関連情報
- 詳細は、Ceph のデータ使用量の計算方法 を参照してください。
- 詳細は、OSD の使用状況の統計について を参照してください。
3.1.5. OSD の使用状況の統計について
ceph osd df
コマンドを使用して、OSD 使用率の統計を表示します。
例
[ceph: root@host01 /]# ceph osd df ID CLASS WEIGHT REWEIGHT SIZE USE DATA OMAP META AVAIL %USE VAR PGS 3 hdd 0.90959 1.00000 931GiB 70.1GiB 69.1GiB 0B 1GiB 861GiB 7.53 2.93 66 4 hdd 0.90959 1.00000 931GiB 1.30GiB 308MiB 0B 1GiB 930GiB 0.14 0.05 59 0 hdd 0.90959 1.00000 931GiB 18.1GiB 17.1GiB 0B 1GiB 913GiB 1.94 0.76 57 MIN/MAX VAR: 0.02/2.98 STDDEV: 2.91
- ID: OSD の名前。
- CLASS: OSD が使用するデバイスのタイプ。
- WEIGHT: CRUSH マップの OSD の重み。
- REWEIGHT: デフォルトの再重み値です。
- SIZE: OSD の全体的なストレージ容量
- USE: OSD の容量
- DATA: ユーザーデータが使用する OSD 容量
-
OMAP: オブジェクトマップ (
omap
) データを保存するために使用されているbluefs
ストレージの推定値 (rocksdb
に保存されたキー/値のペア)。 -
META: 内部メタデータに割り当てられた
bluefs
の領域、またはbluestore_bluefs_min
パラメーターで設定された値のうちいずれか大きい方の値で、bluefs
に割り当てられた領域の合計から推定omap
データサイズを差し引いた値として計算されます。 - AVAIL: OSD で利用可能な空き容量
- %USE: OSD で使用されるストレージの表記率
- VAR: 平均の使用率を上回るまたは下回る変動。
- PGS: OSD 内の配置グループ数
- MIN/MAX VAR: すべての OSD における変更の最小値および最大値。
関連情報
- 詳細は、Ceph のデータ使用量の計算方法 を参照してください。
- 詳細は、OSD の使用状況の統計について を参照してください。
- 詳細は、Red Hat Ceph Storage ストレージ戦略ガイドの CRUSH の重み を参照してください。
3.1.6. ストレージクラスターのステータスの確認
コマンドラインインターフェイスから Red Hat Ceph Storage クラスターのステータスを確認できます。status
サブコマンドまたは -s
引数は、ストレージクラスターの現在のステータスを表示します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shell
ストレージクラスターのステータスを確認するには、以下を実行します。
例
[ceph: root@host01 /]# ceph status
または、以下を実行します。
例
[ceph: root@host01 /]# ceph -s
インタラクティブモードで、
ceph
と入力し、Enter を押します。例
[ceph: root@host01 /]# ceph ceph> status cluster: id: 499829b4-832f-11eb-8d6d-001a4a000635 health: HEALTH_WARN 1 stray daemon(s) not managed by cephadm 1/3 mons down, quorum host03,host02 too many PGs per OSD (261 > max 250) services: mon: 3 daemons, quorum host03,host02 (age 3d), out of quorum: host01 mgr: host01.hdhzwn(active, since 9d), standbys: host05.eobuuv, host06.wquwpj osd: 12 osds: 11 up (since 2w), 11 in (since 5w) rgw: 2 daemons active (test_realm.test_zone.host04.hgbvnq, test_realm.test_zone.host05.yqqilm) rgw-nfs: 1 daemon active (nfs.foo.host06-rgw) data: pools: 8 pools, 960 pgs objects: 414 objects, 1.0 MiB usage: 5.7 GiB used, 214 GiB / 220 GiB avail pgs: 960 active+clean io: client: 41 KiB/s rd, 0 B/s wr, 41 op/s rd, 27 op/s wr ceph> health HEALTH_WARN 1 stray daemon(s) not managed by cephadm; 1/3 mons down, quorum host03,host02; too many PGs per OSD (261 > max 250) ceph> mon stat e3: 3 mons at {host01=[v2:10.74.255.0:3300/0,v1:10.74.255.0:6789/0],host02=[v2:10.74.249.253:3300/0,v1:10.74.249.253:6789/0],host03=[v2:10.74.251.164:3300/0,v1:10.74.251.164:6789/0]}, election epoch 6688, leader 1 host03, quorum 1,2 host03,host02
3.1.7. Ceph Monitor ステータスの確認
ストレージクラスターに複数の Ceph Monitor がある場合 (実稼働環境用の Red Hat Ceph Storage クラスターに必要)、ストレージクラスターの起動後に Ceph Monitor クォーラム (定足数) のステータスを確認し、データの読み取りまたは書き込みを実施する前に、Ceph Monitor クォーラムのステータスを確認します。
Ceph Monitor を実行している場合はクォーラムが存在する必要があります。
Ceph Monitor ステータスを定期的にチェックし、実行していることを確認します。Ceph Monitor に問題があり、ストレージクラスターの状態に関する合意ができない場合は、その障害により Ceph クライアントがデータを読み書きできなくなる可能性があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shell
Ceph Monitor マップを表示するには、以下を実行します。
例
[ceph: root@host01 /]# ceph mon stat
あるいは、以下のような場合もあります。
例
[ceph: root@host01 /]# ceph mon dump
ストレージクラスターのクォーラムステータスを確認するには、以下を実行します。
[ceph: root@host01 /]# ceph quorum_status -f json-pretty
Ceph はクォーラムステータスを返します。
例
{ "election_epoch": 6686, "quorum": [ 0, 1, 2 ], "quorum_names": [ "host01", "host03", "host02" ], "quorum_leader_name": "host01", "quorum_age": 424884, "features": { "quorum_con": "4540138297136906239", "quorum_mon": [ "kraken", "luminous", "mimic", "osdmap-prune", "nautilus", "octopus", "pacific", "elector-pinging" ] }, "monmap": { "epoch": 3, "fsid": "499829b4-832f-11eb-8d6d-001a4a000635", "modified": "2021-03-15T04:51:38.621737Z", "created": "2021-03-12T12:35:16.911339Z", "min_mon_release": 16, "min_mon_release_name": "pacific", "election_strategy": 1, "disallowed_leaders: ": "", "stretch_mode": false, "features": { "persistent": [ "kraken", "luminous", "mimic", "osdmap-prune", "nautilus", "octopus", "pacific", "elector-pinging" ], "optional": [] }, "mons": [ { "rank": 0, "name": "host01", "public_addrs": { "addrvec": [ { "type": "v2", "addr": "10.74.255.0:3300", "nonce": 0 }, { "type": "v1", "addr": "10.74.255.0:6789", "nonce": 0 } ] }, "addr": "10.74.255.0:6789/0", "public_addr": "10.74.255.0:6789/0", "priority": 0, "weight": 0, "crush_location": "{}" }, { "rank": 1, "name": "host03", "public_addrs": { "addrvec": [ { "type": "v2", "addr": "10.74.251.164:3300", "nonce": 0 }, { "type": "v1", "addr": "10.74.251.164:6789", "nonce": 0 } ] }, "addr": "10.74.251.164:6789/0", "public_addr": "10.74.251.164:6789/0", "priority": 0, "weight": 0, "crush_location": "{}" }, { "rank": 2, "name": "host02", "public_addrs": { "addrvec": [ { "type": "v2", "addr": "10.74.249.253:3300", "nonce": 0 }, { "type": "v1", "addr": "10.74.249.253:6789", "nonce": 0 } ] }, "addr": "10.74.249.253:6789/0", "public_addr": "10.74.249.253:6789/0", "priority": 0, "weight": 0, "crush_location": "{}" } ] } }
3.1.8. Ceph 管理ソケットの使用
管理ソケットを使用して、UNIX ソケットファイルを使用して、指定したデーモンと直接対話します。たとえば、ソケットを使用すると以下を行うことができます。
- ランタイム時に Ceph 設定をリスト表示します。
-
Monitor に依存せずに直接ランタイムに設定値を設定します。これは、モニターが
ダウン
している場合に便利です。 - ダンプの履歴操作
- 操作優先度キューの状態をダンプします。
- 再起動しないダンプ操作
- パフォーマンスカウンターのダンプ
さらに、Ceph Monitor または OSD に関連する問題のトラブルシューティングを行う場合は、ソケットの使用に役立ちます。
デーモンが実行されていない場合でも、管理ソケットの使用を試みる際に以下のエラーが返されます。
Error 111: Connection Refused
管理ソケットは、デーモンの実行中にのみ利用できます。デーモンを正常にシャットダウンすると、管理ソケットが削除されます。ただし、デーモンが突然終了すると、管理ソケットが永続化される可能性があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shell
ソケットを使用するには、以下を実行します。
構文
ceph daemon MONITOR_ID COMMAND
以下を置き換えます。
-
デーモンの
MONITOR_ID
COMMAND
を、実行するコマンドに置き換えます。指定のデーモンで利用可能なコマンドをリスト表示するには、help
を使用します。Ceph Monitor のステータスを表示するには、以下を実行します。
例
[ceph: root@host01 /]# ceph daemon mon.host01 help { "add_bootstrap_peer_hint": "add peer address as potential bootstrap peer for cluster bringup", "add_bootstrap_peer_hintv": "add peer address vector as potential bootstrap peer for cluster bringup", "compact": "cause compaction of monitor's leveldb/rocksdb storage", "config diff": "dump diff of current config and default config", "config diff get": "dump diff get <field>: dump diff of current and default config setting <field>", "config get": "config get <field>: get the config value", "config help": "get config setting schema and descriptions", "config set": "config set <field> <val> [<val> ...]: set a config variable", "config show": "dump current config settings", "config unset": "config unset <field>: unset a config variable", "connection scores dump": "show the scores used in connectivity-based elections", "connection scores reset": "reset the scores used in connectivity-based elections", "counter dump": "dump all labeled and non-labeled counters and their values", "counter schema": "dump all labeled and non-labeled counters schemas", "dump_historic_ops": "show recent ops", "dump_historic_slow_ops": "show recent slow ops", "dump_mempools": "get mempool stats", "get_command_descriptions": "list available commands", "git_version": "get git sha1", "heap": "show heap usage info (available only if compiled with tcmalloc)", "help": "list available commands", "injectargs": "inject configuration arguments into running daemon", "log dump": "dump recent log entries to log file", "log flush": "flush log entries to log file", "log reopen": "reopen log file", "mon_status": "report status of monitors", "ops": "show the ops currently in flight", "perf dump": "dump non-labeled counters and their values", "perf histogram dump": "dump perf histogram values", "perf histogram schema": "dump perf histogram schema", "perf reset": "perf reset <name>: perf reset all or one perfcounter name", "perf schema": "dump non-labeled counters schemas", "quorum enter": "force monitor back into quorum", "quorum exit": "force monitor out of the quorum", "sessions": "list existing sessions", "smart": "Query health metrics for underlying device", "sync_force": "force sync of and clear monitor store", "version": "get ceph version" }
例
[ceph: root@host01 /]# ceph daemon mon.host01 mon_status { "name": "host01", "rank": 0, "state": "leader", "election_epoch": 120, "quorum": [ 0, 1, 2 ], "quorum_age": 206358, "features": { "required_con": "2449958747317026820", "required_mon": [ "kraken", "luminous", "mimic", "osdmap-prune", "nautilus", "octopus", "pacific", "elector-pinging" ], "quorum_con": "4540138297136906239", "quorum_mon": [ "kraken", "luminous", "mimic", "osdmap-prune", "nautilus", "octopus", "pacific", "elector-pinging" ] }, "outside_quorum": [], "extra_probe_peers": [], "sync_provider": [], "monmap": { "epoch": 3, "fsid": "81a4597a-b711-11eb-8cb8-001a4a000740", "modified": "2021-05-18T05:50:17.782128Z", "created": "2021-05-17T13:13:13.383313Z", "min_mon_release": 16, "min_mon_release_name": "pacific", "election_strategy": 1, "disallowed_leaders: ": "", "stretch_mode": false, "features": { "persistent": [ "kraken", "luminous", "mimic", "osdmap-prune", "nautilus", "octopus", "pacific", "elector-pinging" ], "optional": [] }, "mons": [ { "rank": 0, "name": "host01", "public_addrs": { "addrvec": [ { "type": "v2", "addr": "10.74.249.41:3300", "nonce": 0 }, { "type": "v1", "addr": "10.74.249.41:6789", "nonce": 0 } ] }, "addr": "10.74.249.41:6789/0", "public_addr": "10.74.249.41:6789/0", "priority": 0, "weight": 0, "crush_location": "{}" }, { "rank": 1, "name": "host02", "public_addrs": { "addrvec": [ { "type": "v2", "addr": "10.74.249.55:3300", "nonce": 0 }, { "type": "v1", "addr": "10.74.249.55:6789", "nonce": 0 } ] }, "addr": "10.74.249.55:6789/0", "public_addr": "10.74.249.55:6789/0", "priority": 0, "weight": 0, "crush_location": "{}" }, { "rank": 2, "name": "host03", "public_addrs": { "addrvec": [ { "type": "v2", "addr": "10.74.249.49:3300", "nonce": 0 }, { "type": "v1", "addr": "10.74.249.49:6789", "nonce": 0 } ] }, "addr": "10.74.249.49:6789/0", "public_addr": "10.74.249.49:6789/0", "priority": 0, "weight": 0, "crush_location": "{}" } ] }, "feature_map": { "mon": [ { "features": "0x3f01cfb9fffdffff", "release": "luminous", "num": 1 } ], "osd": [ { "features": "0x3f01cfb9fffdffff", "release": "luminous", "num": 3 } ] }, "stretch_mode": false }
-
デーモンの
または、ソケットファイルを使用して Ceph デーモンを指定します。
構文
ceph daemon /var/run/ceph/SOCKET_FILE COMMAND
特定のホスト上の
osd.0
という名前の Ceph OSD のステータスを表示するには、次の手順を実行します。例
[ceph: root@host01 /]# ceph daemon /var/run/ceph/ceph-osd.0.asok status { "cluster_fsid": "9029b252-1668-11ee-9399-001a4a000429", "osd_fsid": "1de9b064-b7a5-4c54-9395-02ccda637d21", "whoami": 0, "state": "active", "oldest_map": 1, "newest_map": 58, "num_pgs": 33 }
注記特定のデーモンで使用できるさまざまなオプションについては、
status
の代わりにhelp
を使用できます。Ceph プロセスのソケットファイルのリストを表示するには、以下のコマンドを実行します。
例
[ceph: root@host01 /]# ls /var/run/ceph
関連情報
- 詳細は、Red Hat Ceph Storage トラブルシューティングガイド を参照してください。
3.1.9. Ceph OSD のステータスについて
Ceph OSD のステータスは、ストレージクラスター in
またはストレージクラスター out
のいずれかです。これは、up
して稼働中か、down
して実行されていないかのいずれかになります。Ceph OSD が up
の場合は、データの読み取りおよび書き込みが可能なストレージクラスターにある (in
) か、ストレージクラスターの外 (out
) にあるかのいずれかになります。ストレージクラスター内 (in
) にあり、最近ストレージクラスターの外 (out
) に移動した場合、Ceph はプレースメントグループを他の Ceph OSD に移行し始めます。Ceph OSD がストレージクラスターの out
にある場合、CRUSH は配置グループを Ceph OSD に割り当てません。Ceph OSD が down
している場合は、それも out
になっているはずです。
Ceph OSD が down
していて、in
の場合は問題が発生しているため、ストレージクラスターは正常な状態になりません。
ceph health
、ceph -s
、ceph -w
などのコマンドを実行すると、ストレージクラスターが常に HEALTH OK
をエコーバックしないことが分かります。慌てないでください。Ceph OSD に関しては、いくつかの予想される状況では、ストレージクラスターが HEALTH OK
をエコー しない ことが予想されます。
- ストレージクラスターをまだ開始しておらず、応答していません。
- ストレージクラスターを起動または再起動したばかりで、配置グループが作成されつつあり、Ceph OSD がピアリング中であるため、準備はできていません。
- Ceph OSD を追加または削除しました。
- ストレージクラスターマップを変更しました。
Ceph OSD の監視の重要な要素は、ストレージクラスターの起動時および稼働時にストレージクラスター内 (in
) のすべての Ceph OSD が起動 (up
) して稼働していることを確認することです。
すべての OSD が実行中かどうかを確認するには、以下を実行します。
例
[ceph: root@host01 /]# ceph osd stat
あるいは、以下のような場合もあります。
例
[ceph: root@host01 /]# ceph osd dump
結果により、マップのエポック (eNNNN
)、OSD の総数 (x
)、いくつの y
が up
で、いくつの z
が in
であるかが分かります。
eNNNN: x osds: y up, z in
ストレージクラスターにある (in
) Ceph OSD の数が、稼働中 (up
) の Ceph OSD 数を超える場合。以下のコマンドを実行して、実行していない ceph-osd
デーモンを特定します。
例
[ceph: root@host01 /]# ceph osd tree # id weight type name up/down reweight -1 3 pool default -3 3 rack mainrack -2 3 host osd-host 0 1 osd.0 up 1 1 1 osd.1 up 1 2 1 osd.2 up 1
適切に設計された CRUSH 階層で検索する機能は、物理ロケーションをより迅速に特定してストレージクラスターをトラブルシューティングするのに役立ちます。
Ceph OSD がダウンしている (down
) 場合は、ノードに接続して開始します。Red Hat Storage Console を使用して Ceph OSD デーモンを再起動するか、コマンドラインを使用できます。
構文
systemctl start CEPH_OSD_SERVICE_ID
例
[root@host01 ~]# systemctl start ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.6.service
関連情報
- 詳細は、Red Hat Ceph Storage ダッシュボードガイド を参照してください。