はじめに
Cisco VIM (CVIM) では専用のストレージノードを導入することで、Openstack の Glance イメージサービス及び Cinder の Volume を利用することができます。
これらのストレージサービスバックエンドとして、Ceph Rados Block Device (RDB) が使用されております。
本ドキュメントでは、Ceph のトラブルシュート方法について解説します。
CVIMにおけるCephの構成
コントローラーノード:
CVIMのコントローラー3台でそれぞれ Ceph-Mon が動作しており、Ceph-Monクラスターを組んでいます。
ストレージノード:
複数のHDDもしくはSSDが搭載されているノードで Ceph に対してOSDのストレージデバイスを提供するノード。
OSD (Object Storage Device):
各ストレージノード上で動作しており、Cephにストレージデバイスを提供します。
Ceph-Mon:
Ceph分散ファイルシステム用のクラスタ監視デーモンCeph-mon は、クラスターメンバーシップ、構成、状態を監視します。
CVIMの3つのコントローラーノード上で動作しており、3つのCeph-monでクラスターを構築してます。
Cephの用語解説
Pool:
論理的なストレージ領域で、複数のPlacement Group から成り立ちます。
CVIMではデフォルトで、Glance Image サービス用の images プールと、Cinder Volume サービス用の volumes プールの2つが存在します。
Placement Group (PG):
保存対象オブジェクトのレプリカを配置する論理的な単位で、PGには複数のOSDが登録されており、レプリカとして冗長性を確保しています。
CVIMではレプリカ数はデフォルトで3ですので、一つのPGには3つのOSDが登録されています。
Primary OSD:
PGに登録されている3つのOSDのうち、読み書きを行う代表のOSDです。オブジェクトはこのPrimary OSDに対して読み書きを行います。
Secondary/Tertiary OSD:
レプリカとして存在するOSDです。Primary OSD が何らかの理由でいなくなった場合は、このOSDがPrimaryに昇格します。
基本のトラブルシュート方法
Ceph-mon ログイン方法
コントローラー上では docker コンテナ上で動作しており、各コントローラーにログインして cephmon コマンドで Ceph-mon にアクセスします。
[root@bglCSsv-mgt01 ~]# ssh bglCSsv-cnt01
[root@bglCSsv-cnt01 ~]# cephmon
cephmon_20784 [ceph@bglCSsv-cnt01 /]$
Cephのトラブルシュートは主にCeph-monから実施します。
Cephの状態の確認
'ceph -s' コマンドもしくは 'ceph status' コマンドでCeph全体のステータスを確認します。
cephmon_20784 [ceph@bglCSsv-cnt01 /]$ ceph -s
cluster:
id: 0579f633-160d-44d5-abc1-d295869cb212
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph-bglCSsv-cnt01,ceph-bglCSsv-cnt02,ceph-bglCSsv-cnt03
mgr: bglCSsv-cnt01(active), standbys: bglCSsv-cnt03, bglCSsv-cnt02
osd: 12 osds: 12 up, 12 in
data:
pools: 2 pools, 768 pgs
objects: 59.04k objects, 236GiB
usage: 718GiB used, 8.03TiB / 8.73TiB avail
pgs: 768 active+clean
io:
client: 9.24KiB/s wr, 0op/s rd, 3op/s wr
この表示の確認点は以下となります。
HEALTH_OK は正常な状態です。HEALTH_WARN もしくは HEALTH_ERR の場合には何らかの問題が発生しています。
osd: 12 osds: 12 up, 12 in
OSDの状態を確認します。この例では12個のOSDが登録されており、全てが使用可能です。
data: の解釈は以下となります。
data:
pools: 2 pools, 768 pgs
objects: 59.04k objects, 236GiB
usage: 718GiB used, 8.03TiB / 8.73TiB avail
pgs: 768 active+clean
pools: 2 pools, 768 pgs # 2つのpoolに、768個のPGが存在する
usage: Ceph 全体で 8.73TB の領域を提供しており、そのうち718GBを使用している
pgs: 768個のPGのうち、すべてが active+clean で正常な状態
トラブルシュート手法
詳しいトラブルシュート手法については以下の参照してください。
[CVIM] Ceph OSD down 問題のトラブルシュート手法
[CVIM] Ceph ディスク使用率のトラブルシュート方法