29 Ceph Managerモジュール #
Ceph Managerのアーキテクチャ(概要については、1.2.3項 「Cephのノードとデーモン」を参照)では、「ダッシュボード」(パートI「Cephダッシュボード」を参照)、「prometheus」(第16章 「監視とアラート」を参照)、「バランサ」などの「モジュール」によって機能を拡張できます。
使用可能なすべてのモジュールを一覧にするには、次のコマンドを実行します。
cephuser@adm >
ceph mgr module ls
{
"enabled_modules": [
"restful",
"status"
],
"disabled_modules": [
"dashboard"
]
}
特定のモジュールを有効または無効にするには、次のコマンドを実行します。
cephuser@adm >
ceph mgr module enable MODULE-NAME
以下に例を示します。
cephuser@adm >
ceph mgr module disable dashboard
有効なモジュールが提供するサービスを一覧にするには、次のコマンドを実行します。
cephuser@adm >
ceph mgr services
{
"dashboard": "http://myserver.com:7789/",
"restful": "https://myserver.com:8789/"
}
29.1 バランサ #
バランサモジュールは、OSD間でのPG (配置グループ)の分散を最適化して展開のバランスを確保します。このモジュールはデフォルトで有効になっていますが、非アクティブです。サポートされているモードは、crush-compat
とupmap
の2つです。
バランサの現在のステータスと設定に関する情報を表示するには、次のコマンドを実行します。
cephuser@adm >
ceph balancer status
29.1.1 「crush-compat」モード #
「crush-compat」モードでは、バランサは、OSDのreweight-setsを調整して、データが適切に分散されるようにします。これは、OSDの間でPGを移動するので、PGの配置が正しくなくなり、一時的にクラスタ状態がHEALTH_WARN
になります。
「crush-compat」はデフォルトのモードですが、SUSEでは、これを明示的に有効にすることをお勧めします。
cephuser@adm >
ceph balancer mode crush-compat
29.1.2 データバランシングの計画と実行 #
バランサモジュールを使用して、データバランシングの計画を作成できます。その後、計画を手動で実行することも、バランサでPGのバランスを継続的に調整することもできます。
バランサを手動モードまたは自動モードのどちらで実行するかの判断は、現在のデータの不均衡、クラスタサイズ、PG数、I/Oアクティビティなど、さまざまな要因に依存します。初期計画を作成し、クラスタのI/O負荷が低いときに実行することをお勧めします。この理由は、初期の不均衡はかなり大きくなる可能性があるためで、クライアントへの影響を低く抑えることをお勧めします。初期の手動実行後、自動モードを有効にして、通常のI/O負荷でリバランストラフィックを監視することを検討します。PG分散の向上は、バランサが原因で発生するリバランストラフィックに対して比較検討する必要があります。
バランスプロセス中に、バランサモジュールは、PGの設定可能な部分のみが移動されるようPGの動きを制限します。デフォルトは5%ですが、次のコマンドを実行することで、この割合をたとえば9%に調整できます。
cephuser@adm >
ceph config set mgr target_max_misplaced_ratio .09
バランス計画を作成および実行するには、次の手順に従います。
クラスタの現在のスコアを確認します。
cephuser@adm >
ceph balancer eval計画を作成します。たとえば、「great_plan」などです。
cephuser@adm >
ceph balancer optimize great_plan「great_plan」がどのような変化をもたらすかを確認します。
cephuser@adm >
ceph balancer show great_plan「great_plan」を適用することを決定した場合は、クラスタの潜在的なスコアを確認します。
cephuser@adm >
ceph balancer eval great_plan「great_plan」を1回だけ実行します。
cephuser@adm >
ceph balancer execute great_planceph -s
コマンドを使用して、クラスタのバランスを確認します。結果に問題がなければ、自動バランスを有効にします。cephuser@adm >
ceph balancer on後で自動バランスを無効にする場合は、次のコマンドを実行します。
cephuser@adm >
ceph balancer off
初期計画を実行しないで自動バランスを有効にすることができます。このような場合、配置グループのリバランスが長時間実行される可能性があることを予期してください。
29.2 テレメトリモジュールの有効化 #
テレメトリプラグインは、プラグインが実行されているクラスタに関するCephプロジェクトの匿名データを送信します。
この(オプトイン)コンポーネントには、クラスタの展開方法、Cephのバージョン、ホストの分散、およびプロジェクトでCephの使用方法についての理解を深めるのに役立つ他のパラメータに関するカウンタと統計情報が含まれています。プール名、オブジェクト名、オブジェクトの内容、ホスト名などの機密データは含まれません。
テレメトリモジュールの目的は、開発者に自動フィードバックループを提供し、これによって、導入率の定量化や追跡を行ったり、望ましくない結果を避けるために設定時により適切に説明または検証する必要がある事項を指摘したりできるようにすることです。
テレメトリモジュールを使用するには、Ceph Managerノードに、HTTPSでアップストリームサーバにデータをプッシュする機能が必要です。企業のファイアウォールでこのアクションが許可されるようにします。
テレメトリモジュールを有効にするには、次のコマンドを実行します。
cephuser@adm >
ceph mgr module enable telemetry注記このコマンドでは、ローカルでのみデータを表示できます。Cephコミュニティとデータを共有することはできません。
テレメトリモジュールがデータの共有を開始できるようにするには、次のコマンドを実行します。
cephuser@adm >
ceph telemetry onテレメトリデータ共有を無効にするには、次のコマンドを実行します。
cephuser@adm >
ceph telemetry off印刷可能なJSONレポートを生成するには、次のコマンドを実行します。
cephuser@adm >
ceph telemetry show連絡先と説明をレポートに追加するには、次のコマンドを実行します。
cephuser@adm >
ceph config set mgr mgr/telemetry/contact John Doe john.doe@example.comcephuser@adm >
ceph config set mgr mgr/telemetry/description 'My first Ceph cluster'このモジュールは、デフォルトでは24時間ごとに新しいレポートを作成して送信します。この間隔を調整するには、次のコマンドを実行します。
cephuser@adm >
ceph config set mgr mgr/telemetry/interval HOURS