名前

pveceph - Proxmox VEノードでCephサービスを管理

SYNOPSIS

pveceph <COMMAND> [ARGS] [OPTIONS] です

pveceph createmgr

pveceph mgr create のエイリアス。

ヴェーセフ・クリエイトモン

pveceph mon create のエイリアス。

プベケフ・クリエイト・オスド

pveceph osd create のエイリアス。

pvecephはプールを作成します。

pveceph pool create のエイリアス。

ヴェーセフ・デストロイムグ

pveceph mgr destroy のエイリアス。

プヴェセフ・デストロイモン

pveceph mon destroy のエイリアス。

ヴェセフ・デストロエスディー

pveceph osd destroy のエイリアス。

プベセフ・デストロイプール

pveceph pool destroy のエイリアス。

pveceph fs create [OPTIONS](pveceph fs create [OPTIONS])

Cephファイルシステムの作成

--add-storage <boolean>(デフォルト = 0)

作成されたCephFSをこのクラスタのストレージとして構成します。

--name <文字列>(デフォルト = cephfs)

cephファイルシステム名。

--pg_num <整数> (8 - 32768)(デフォルト = 128)

バッキング・データ・プールの配置グループ数。メタデータ・プールはこの4分の1を使用します。

pveceph fs destroy <name> [OPTIONS].

Cephファイルシステムの破棄

<名前>: <文字列

cephファイルシステム名。

--remove-pools <boolean>(デフォルト = 0)

この fs に設定されているデータとメタデータのプールを削除します。

--remove-storages <boolean>(デフォルト = 0)

この fs 用に構成された pveceph 管理ストレージをすべて削除します。

pveceph help [OPTIONS] (オプション)

指定したコマンドに関するヘルプを表示します。

--extra-args <array> です

特定のコマンドのヘルプを表示します。

--verbose <ブール値

冗長出力フォーマット。

pveceph init [OPTIONS] です

cephの初期デフォルト構成を作成し、シンボリックリンクを設定します。

--cluster-network <文字列

独立したクラスタネットワークを宣言し、OSDはハートビート、オブジェクトレプリケーション、リカバリのトラフィックをルーティングします。

Note 必要なオプション:ネットワーク
--disable_cephx <boolean>(デフォルト = 0)

cephx認証を無効にします。

Warning cephxは中間者攻撃から保護するセキュリティ機能です。ネットワークがプライベートな場合にのみ、cephxの無効化を検討してください!
--min_size <整数> (1 - 7)(デフォルト = 2)

I/Oを許可するために、オブジェクトごとに利用可能なレプリカの最小数

--ネットワーク <文字列

すべてのceph関連トラフィックに特定のネットワークを使用します。

--pg_bits <整数> (6 - 14)(デフォルト = 6)

配置グループのデフォルト数を指定するために使用します。

非推奨。この設定は、最近のCephバージョンで非推奨になりました。

--サイズ <整数> (1 - 7)(デフォルト = 3)

オブジェクトあたりの目標レプリカ数

pveceph install [OPTIONS] (オプション)

ceph関連パッケージをインストールします。

--allow-experimental <boolean>(デフォルト = 0)

実験的なバージョンを許可します。注意して使用してください!

--リポジトリ <enterprise | no-subscription | test>(デフォルト = enterprise)

使用するCephリポジトリ。

--バージョン <quincy | reef | squid>(デフォルト = quincy)

インストールするCephのバージョン。

鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち

pveceph pool ls のエイリアス。

pveceph mds create [OPTIONS] [オプション]

Cephメタデータサーバ(MDS)の作成

--hotstandby <boolean>(デフォルト = 0)

ceph-mdsデーモンがアクティブなデータシートのログをポーリングして再生するかどうかを決定します。データシートの障害時の切り替えが高速化されますが、アイドルリソースがより多く必要になります。

--name [a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(default = nodename)

省略時はノード名と同じ。

pveceph mds destroy <名前>。

Cephメタデータサーバの破棄

<name>: [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?

mdsの名前(ID)

pveceph mgr create [OPTIONS] [オプション]

Ceph Managerの作成

--id [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?

省略時はノード名と同じ。

pveceph mgr destroy <id>

Ceph Managerを破棄します。

<id>: [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?

マネージャーのID

pveceph mon create [OPTIONS]を作成します。

Cephモニタとマネージャの作成

--モン・アドレス <文字列

自動検出されたモニタIPアドレスを上書きします。Cephのパブリックネットワーク内にある必要があります。

--monid [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?

省略時はノード名と同じ。

pveceph モンを破壊する <monid

Ceph MonitorとManagerを破棄します。

<monid>: [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?

モニターID

pveceph osd create <dev> [OPTIONS].

OSDの作成

<dev>: <文字列

ブロックデバイス名。

-crush-device-class <文字列>。

OSDのデバイスクラスをクラッシュで設定します。

--db_dev <文字列

block.db のブロックデバイス名。

--db_dev_size <number> (1 - N)(デフォルト = bluestore_block_db_size または OSD サイズの 10%)

block.dbのGiB単位のサイズ。

Note 必要なオプション:db_dev
--暗号化 <ブール値>(デフォルト = 0)

OSDの暗号化を有効にします。

--osds-per-device <整数> (1 - N)

物理デバイスごとのOSDサービス。高速な NVMe デバイスにのみ有効です。

--wal_dev <文字列

block.walのブロックデバイス名。

--wal_dev_size <number> (0.5 - N)(デフォルト = bluestore_block_wal_size または OSD サイズの 1%)

block.walのGiBサイズ。

Note 必要なオプション:wal_dev

pveceph osd destroy <osdid> [OPTIONS].

OSDの破棄

<osdid>: <整数

OSD ID

--クリーンアップ <ブール値>(デフォルト = 0)

もしセットされていれば、パーティションテーブルのエントリーを削除します。

pveceph osd details <osdid> [OPTIONS] [FORMAT_OPTIONS].

OSDの詳細を取得します。

<osdid>: <文字列

OSDのID

--verbose <boolean>(デフォルト = 0)

json-pretty 出力形式と同じです。

pveceph pool create <name> [OPTIONS] [オプション]

Cephプールの作成

<名前>: <文字列

プールの名前。一意でなければなりません。

--add_storages <boolean>(デフォルト = 0; データ消去プールの場合: 1)

新しいプールを使用してVMとCTストレージを構成します。

--アプリケーション <cephfs | rbd | rgw>(デフォルト = rbd)

プールの応用。

-crush_rule(クラッシュルール) <文字列

クラスタ内のオブジェクト配置のマッピングに使用するルール。

--erasure-coding k=<integer> ,m=<integer> [,device-class=<class>] [,failure-domain=<domain>] [,profile=<profile>]。

RBD用の消去コード化プールと、それに付随するメタデータストレージ用の複製プールを作成します。ECでは、共通のcephオプションsizemin_sizecrush_ruleパラメータがメタデータプールに適用されます。

--min_size <整数> (1 - 7)(デフォルト = 2)

オブジェクトあたりの最小レプリカ数

--pg_autoscale_mode <off | on | warn>(デフォルト = warn)

プールの自動PGスケーリングモード。

--pg_num <整数> (1 - 32768)(デフォルト = 128)

配置グループの数。

--pg_num_min <整数> (-N - 32768)

配置グループの最小数。

--サイズ <整数> (1 - 7)(デフォルト = 3)

オブジェクトごとのレプリカ数

--target_size ^(¬d+(¬d+)?)([KMGT])?$?

PGオートスケーラのプールの推定目標サイズ。

--target_size_ratio <数値> を指定します。

PGオートスケーラのプールの推定目標比率。

pveceph pool destroy <name> [OPTIONS] [オプション].

プールを破壊

<名前>: <文字列

プールの名前。一意でなければなりません。

--force <ブール値>(デフォルト = 0)

trueの場合、使用中であってもプールを破棄します。

--remove_ecprofile <boolean>(デフォルト = 1)

消去コード・プロファイルを削除します。該当する場合、デフォルトは true です。

--remove_storages <boolean>(デフォルト = 0)

このプールに設定されているすべての pveceph 管理ストレージを削除します。

pveceph pool get <name> [OPTIONS] [FORMAT_OPTIONS] です

現在のプールの状態を表示します。

<名前>: <文字列

プールの名前。一意でなければなりません。

--verbose <boolean>(デフォルト = 0)

有効にすると、追加データ(統計など)が表示されます。

pveceph pool ls [FORMAT_OPTIONS] です

すべてのプールとその設定 (POST/PUT エンドポイントで設定可能) を一覧表示します。

pveceph pool set <name> [OPTIONS].

POOL設定の変更

<名前>: <文字列

プールの名前。一意でなければなりません。

--application <cephfs | rbd | rgw>.

プールの応用。

-crush_rule(クラッシュルール) <文字列

クラスタ内のオブジェクト配置のマッピングに使用するルール。

--最小サイズ <整数> (1 - 7)

オブジェクトあたりの最小レプリカ数

--pg_autoscale_mode <off | on | warn> です

プールの自動PGスケーリングモード。

--pg_num <整数> (1 - 32768)

配置グループの数。

--pg_num_min <整数> (-N - 32768)

配置グループの最小数。

--サイズ <整数> (1 - 7)

オブジェクトごとのレプリカ数

--target_size ^(¬d+(¬d+)?)([KMGT])?$?

PGオートスケーラのプールの推定目標サイズ。

--target_size_ratio <数値> を指定します。

PGオートスケーラのプールの推定目標比率。

pveceph purge [OPTIONS] (パージ・ オプション)

ceph関連のデータと構成ファイルを破棄します。

--クラッシュ <ブール値

さらに、/var/lib/ceph/crashのCephクラッシュログをパージします。

--ログ <ブール値

さらに、/var/log/cephのCephログをパージします。

pveceph start [OPTIONS] です

cephサービスを開始します。

--service (ceph|mon|mds|osd|mgr)(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)(default = ceph.target )?

Cephサービス名。

pvecephステータス

Cephのステータスを取得します。

pveceph stop [OPTIONS] [オプション].

cephサービスを停止します。

--service (ceph|mon|mds|osd|mgr)(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)(default = ceph.target )?

Cephサービス名。

説明

screenshot/gui-ceph-status-dashboard.png

Proxmox VEは、コンピュートシステムとストレージシステムを統合します。つまり、クラスタ内の同じ物理ノードをコンピューティング(VMやコンテナの処理)とレプリケートされたストレージの両方に使用できます。コンピュートリソースとストレージリソースの従来のサイロを単一のハイパーコンバージドアプライアンスにまとめることができ、個別のストレージネットワーク(SAN)やネットワークアタッチドストレージ(NAS)を介した接続がなくなります。オープンソースのSoftware-Defined StorageプラットフォームであるCephの統合により、Proxmox VEはハイパーバイザーノード上でCephストレージを直接実行・管理する機能を備えています。

Cephは、優れたパフォーマンス、信頼性、スケーラビリティを提供するように設計された分散オブジェクトストアおよびファイルシステムです。

Proxmox VE上のCephの利点は以下のとおりです:
  • CLIとGUIによる簡単なセットアップと管理

  • シン・プロビジョニング

  • スナップショットのサポート

  • セルフヒーリング

  • エクサバイト・レベルまで拡張可能

  • ブロック、ファイルシステム、オブジェクトストレージを提供

  • パフォーマンスと冗長性の特性が異なるプールの設定

  • データは複製されるため、フォールトトレラントです。

  • コモディティハードウェアで動作

  • ハードウェアRAIDコントローラは不要

  • オープンソース

小規模から中規模の導入の場合、RADOS Block Devices (RBD)またはCephFSを使用するCephサーバをProxmox VEクラスタノードに直接インストールできます(Ceph RADOS Block Devices (RBD)を参照)。 最近のハードウェアはCPUパワーとRAMが大きいため、ストレージサービスと仮想ゲストを同じノードで実行できます。

管理を簡素化するために、Proxmox VEは、組み込みのWebインタフェース、またはpvecephコマンドラインツールを使用して、Proxmox VEノードにCephサービスをインストールおよび管理するためのネイティブ統合を提供します。

用語

Cephは複数のデーモンで構成され、RBDストレージとして使用します:
  • Cephモニタ(ceph-mon、またはMON)

  • Ceph Manager(ceph-mgr、またはMGS)

  • Cephメタデータサービス(ceph-mds、またはMDS)

  • Ceph Object Storage Daemon (ceph-osd、またはOSD)

Tip Ceph
[Ceph introhttps://docs.ceph.com/en/quincy/start/]
、そのアーキテクチャ
[Ceph architecturehttps://docs.ceph.com/en/quincy/architecture/]
および語彙
[Ceph glossaryhttps://docs.ceph.com/en/quincy/glossary]
に精通することを強くお勧めします。

健全なCephクラスタのための推奨事項

ハイパーコンバージドProxmox + Ceph Clusterを構築するには、セットアップに少なくとも3台の(できれば)同一のサーバを使用する必要があります。

Cephのウェブサイトの推奨事項も確認してください。

Note 以下の推奨事項は、ハードウェアを選択する際のおおまかな指針とお考えください。セットアップをテストし、ヘルスとパフォーマンスを継続的に監視する必要があります。
中央演算処理装置

Cephサービスは2つのカテゴリに分類できます:

  • CPUを集中的に使用し、高いCPU基本周波数とマルチコアの恩恵を受けています。このカテゴリのメンバーは以下の通り:

    • オブジェクト・ストレージ・デーモン(OSD)サービス

    • CephFSで使用されるメタデータサービス(MDS)

  • 複数のCPUコアを必要としない、適度なCPU使用率。これらは

    • モニター(MON)サービス

    • マネージャー(MGR)サービス

単純な経験則として、安定した耐久性のあるCephパフォーマンスに必要な最小限のリソースを提供するために、各Cephサービスに少なくとも1つのCPUコア(またはスレッド)を割り当てる必要があります。

たとえば、1つのノードでCephモニタ、Cephマネージャ、および6つのCeph OSDサービスを実行する予定であれば、基本的で安定したパフォーマンスを目標とする場合、8つのCPUコアをCeph専用に確保する必要があります。

OSD の CPU 使用率は、主にディスクの性能に依存することに注意してください。ディスクの IOPS(IO OperationsperSecond) が高ければ高いほど、OSD サービスで使用できる CPU は増えます。 NVMe のような最新のエンタープライズ SSD ディスクでは、100,000 を超える高い IOPS 負荷をサブミリ秒のレイテンシで永続的に維持できるため、各 OSD は複数の CPU スレッドを使用できます。

メモリー

特にハイパーコンバージドセットアップでは、メモリ消費を注意深く計画し、監視する必要があります。仮想マシンとコンテナのメモリ使用量の予測に加えて、Cephが優れた安定したパフォーマンスを提供するために十分なメモリを利用できることも考慮する必要があります。

経験則として、およそ1TiBのデータに対して、1GiBのメモリがOSDによって使用されます。通常の状態では使用量は少ないかもしれませんが、リカバリー、再バランス、バックフィルなどの重要な操作の際には、最も多く使用されます。 つまり、通常の操作ですでに使用可能なメモリを最大にするのは避けるべきで、むしろ障害に対処するための余裕を残しておく必要があります。

OSDサービス自体にはさらにメモリが必要です。デーモンのCeph BlueStoreバックエンドには、デフォルトで3~5GiBのメモリが必要です(調整可能)。

ネットワーク

Cephトラフィック専用に、少なくとも10Gbps以上のネットワーク帯域幅を使用することを推奨します。10Gbps以上のスイッチがない場合、3~5ノードのクラスタにはメッシュ型ネットワークセットアップ
[Full Mesh Network for Cephhttps://pve.proxmox.com/wiki/Full_Mesh_Network_for_Ceph_Server]
もオプションとして使用できます。

Important 特にリカバリ中のトラフィック量は、同じネットワーク上の他のサービスに干渉し、特にレイテンシに敏感なProxmox VEのcorosyncクラスタスタックが影響を受け、クラスタクォーラムが失われる可能性があります。 Cephトラフィックを専用の物理的に分離されたネットワークに移動すると、corosyncだけでなく、仮想ゲストによって提供されるネットワークサービスでも、このような干渉が回避されます。

必要な帯域幅を見積もるには、ディスクの性能を考慮する必要があります。1台のHDDが1Gbのリンクを飽和させることはないかもしれませんが、ノードあたり複数のHDD OSDが10Gbpsを飽和させることもあります。 最新のNVMeアタッチドSSDが使用されている場合、1台で10Gbps以上の帯域幅を飽和させることができます。このような高性能セットアップには、少なくとも25Gpbsを推奨します。また、基盤となるディスクの潜在性能をフルに活用するには、40Gbpsまたは100Gbps以上が必要な場合もあります。

不安な場合は、高性能なセットアップのために3つの(物理的な)独立したネットワークを使用することをお勧めします:

  • Ceph(内部)クラスタトラフィック用の超高帯域幅(25Gbps以上)ネットワーク1つ。

  • cephサーバとcephクライアントのストレージトラフィック間のCeph(パブリック)トラフィック用の高帯域幅(10Gpbs以上)ネットワーク1つ。ニーズによっては、仮想ゲストラフィックとVMライブマイグレーショントラフィックのホストにも使用できます。

  • 遅延の影響を受けやすいcorosyncクラスタ通信のために、1つの中帯域幅(1 Gbps)専用。

ディスク

Cephクラスタのサイズを計画する際は、リカバリ時間を考慮することが重要です。特に小規模なクラスタでは、リカバリに時間がかかる場合があります。リカバリ時間を短縮し、リカバリ中に後続の障害イベントが発生する可能性を最小限に抑えるため、小規模なセットアップではHDDの代わりにSSDを使用することをお勧めします。

一般的に、SSD は回転ディスクよりも多くの IOPS を提供します。この点を考慮すると、コストが高くなることに加えて、クラスベースのプール分離を実装することが理にかなっている場合があります。OSDを高速化するもう1つの方法は、より高速なディスクをジャーナルまたはDB/Write-Ahead-Logデバイスとして使用することです。 より高速なディスクを複数のOSDに使用する場合、OSDとWAL/DB(またはジャーナル)ディスクの適切なバランスを選択する必要があります。

ディスクの種類は別として、Cephはノードごとに均等なサイズで均等な量のディスクを使用するのが最適です。たとえば、1 TBディスク1台と250 GBディスク3台の混在セットアップよりも、各ノード内に500 GBディスク4台の方が優れています。

OSD数とシングルOSD容量のバランスも取る必要があります。容量を増やすと、ストレージ密度を高めることができますが、OSDが1つ故障すると、Cephは一度に多くのデータを回復しなければならなくなります。

RAIDを避ける

Cephはデータオブジェクトの冗長性とディスクへの複数の並列書き込み(OSD)を独自に処理するため、通常、RAIDコントローラを使用してもパフォーマンスや可用性は向上しません。それどころか、Cephはディスク全体を単独で処理するように設計されています。RAIDコントローラはCephのワークロード用に設計されておらず、書き込みやキャッシュのアルゴリズムがCephのものと干渉する可能性があるため、状況が複雑になり、場合によってはパフォーマンスが低下することもあります。

Warning RAIDコントローラは避けてください。代わりにホストバスアダプタ(HBA)を使用してください。

Cephの初期インストールと構成

ウェブベースのウィザードの使用

screenshot/gui-node-ceph-install.png

Proxmox VEには、Ceph用の使いやすいインストールウィザードが用意されています。クラスタノードの1つをクリックし、メニューツリーのCephセクションに移動します。Cephがまだインストールされていない場合は、インストールを促すプロンプトが表示されます。

ウィザードは複数のセクションに分かれており、Cephを使用するには、各セクションを正常に終了する必要があります。

まず、インストールするCephのバージョンを選択する必要があります。他のノードのものを選ぶか、Cephをインストールする最初のノードであれば最新のものを選びます。

インストールを開始すると、ウィザードがProxmox VEのCephリポジトリから必要なパッケージをすべてダウンロードしてインストールします。

screenshot/gui-node-ceph-install-wizard-step0.png

この設定はProxmox VEのクラスタ構成ファイルシステム(pmxcfs)を通じて残りのすべてのクラスタメンバに自動的に配布されるため、このステップはクラスタごとに1回だけ必要です。

コンフィギュレーション・ステップには以下の設定が含まれます:

  • パブリックネットワーク:このネットワークは、パブリックストレージ通信(Ceph RBDバックアップディスクやCephFSマウントを使用する仮想マシンなど)、およびさまざまなCephサービス間の通信に使用されます。この設定は必須です。
    CephのトラフィックをProxmox VEクラスタ通信(corosync)、および仮想ゲストの前面(パブリック)ネットワークから分離することを強くお勧めします。そうしないと、Cephの広帯域幅IOトラフィックが他の低レイテンシ依存サービスに干渉する可能性があります。

  • クラスタ・ネットワーク: OSDレプリケーションとハートビートトラフィックも分離するように指定します。この設定はオプションです。
    物理的に分離されたネットワークを使用すると、Cephパブリックと仮想ゲストのネットワークが緩和され、Cephのパフォーマンスも大幅に向上するため、推奨されます。
    Cephクラスタネットワークを構成し、後で別の物理的に分離されたネットワークに移動できます。

screenshot/gui-node-ceph-install-wizard-step2.png

さらに2つのオプションがありますが、これは上級者向けなので、自分が何をしているかわかっている場合のみ変更してください。

  • レプリカの数:オブジェクトが複製される頻度を定義します。

  • 最小レプリカ数:I/Oを完了としてマークするために必要なレプリカの最小数を定義します。

さらに、最初のモニターノードを選択する必要があります。このステップは必須です。

これで完了です。最後のステップとして成功ページが表示され、さらに進む方法が表示されます。これで、システムはCephの使用を開始する準備ができました。 開始するには、追加のモニタOSD、および少なくとも1つのプールを作成する必要があります。

この章の残りの部分では、Proxmox VEベースのCephセットアップを最大限に活用する方法を説明します。これには、前述のヒントのほか、新しいCephクラスタに追加すると便利なCephFSなどが含まれます。

CephパッケージのCLIインストール

Webインタフェースで利用可能な推奨のProxmox VE Cephインストールウィザードの代わりに、各ノードで次のCLIコマンドを使用できます:

pvecephインストール

これにより、/etc/apt/sources.list.d/ceph.listaptパッケージリポジトリが設定され、必要なソフトウェアがインストールされます。

CLIによるCephの初期構成

Proxmox VE Cephインストールウィザードを使用するか(推奨)、1つのノードで以下のコマンドを実行します:

pveceph init --network10.10.10.0/24

これにより、/etc/pve/ceph.confにCeph専用のネットワークを持つ初期構成が作成されます。このファイルは、pmxcfsを使用して、すべてのProxmox VEノードに自動的に配布されます。このコマンドはまた、/etc/ceph/ceph.confにシンボリックリンクを作成し、このファイルを指すようにします。 このため、構成ファイルを指定しなくても、Cephコマンドを単純に実行できます。

Ceph Monitor

screenshot/gui-ceph-monitor.png

Ceph Monitor (MON)
[Ceph Monitorhttps://docs.ceph.com/en/quincy/rados/configuration/mon-config-ref/]
クラスタマップのマスターコピーを維持します。高可用性を実現するには、少なくとも3つのモニタが必要です。インストールウィザードを使用した場合、1つのモニタがすでにインストールされています。クラスタが小規模から中規模であれば、3つ以上のモニタは必要ありません。これ以上必要になるのは、本当に大規模なクラスタだけです。

モニターの作成

モニタを配置する各ノードで(3つのモニタを推奨)、GUIのCeph → Monitorタブを使用するか、runしてモニタを作成します:

プベケフ・モン・クリエイト

モニターを破壊する

GUIでCephモニタを削除するには、まずツリービューでノードを選択し、Ceph → Monitorパネルに移動します。MONを選択して、Destroyボタンをクリックします。

CLIでCephモニタを削除するには、まずMONが実行されているノードに接続します。次に、次のコマンドを実行します:

ヴェセフ・モン討伐
Note 定足数には少なくとも3名のモニターが必要です。

Ceph Manager

Managerデーモンはモニタと並行して実行されます。クラスタを監視するためのインタフェースを提供します。Ceph luminousのリリース以降、少なくとも1つのceph-mgr
[Ceph Managerhttps://docs.ceph.com/en/quincy/mgr/]
デーモンが必要です。

マネージャーの作成

複数のManagerをインストールできますが、常にアクティブなManagerは1つだけです。

を作成します。
Note Ceph Managerはモニタノードにインストールすることをお勧めします。高可用性を実現するには、複数のマネージャをインストールします。

デストロイ・マネージャー

GUIでCeph Managerを削除するには、まずツリービューでノードを選択し、Ceph → Monitorパネルに移動します。マネージャを選択し、[Destroy]ボタンをクリックします。

CLIでCephモニタを削除するには、まずManagerが実行されているノードに接続します。次に、次のコマンドを実行します:

コンベック破壊
Note マネージャはハード依存ではありませんが、PG自動スケーリング、デバイスのヘルスモニタリング、テレメトリなどの重要な機能を処理するため、Cephクラスタにとって重要です。

Ceph OSD

screenshot/gui-ceph-osd-status.png

CephObject Storage Daemonは、ネットワーク経由でCephのオブジェクトを格納します。物理ディスクごとに1つのOSDを使用することをお勧めします。

OSDの作成

OSD は Proxmox VE の Web インターフェイスまたはpveceph を使用して CLI で作成できます。例えば

pveceph osd create /dev/sd[X].
Tip 少なくとも3台のノードと、ノード間で均等に分散された少なくとも12台のOSDを備えたCephクラスタを推奨します。

ディスクが以前(例えばZFSやOSDとして)使用されていた場合は、まずその使用痕跡をすべて消す必要があります。パーティションテーブル、ブートセクタ、その他のOSDの残りを削除するには、以下のコマンドを使用します:

ceph-volume lvm zap /dev/sd[X]--destroy
Warning 上記のコマンドはディスク上のすべてのデータを破壊します!
Ceph Bluestore

Ceph Krakenリリースから、Bluestore
[Ceph Bluestorehttps://ceph.com/community/new-luminous-bluestore/]
という新しいCeph OSDストレージタイプが導入されました。 Ceph Luminous以降、OSD作成時のデフォルトはこれです。

pveceph osd create /dev/sd[X].
block.dbとblock.wal

OSDに別のDB/WALデバイスを使いたい場合は、-db_devと -wal_devオプションで指定できます。別々に指定しない場合、WALはDBと一緒に配置されます。

pveceph osd create /dev/sd[X]-db_dev /dev/sd[Y]-wal_dev /dev/sd[Z].

それぞれ-db_size-wal_sizeパラメータで直接サイズを指定できます。それらが与えられない場合は、以下の値(順番に)が使われます:

  • Ceph設定からのbluestore_block_{db,wal}_size...

    • ... データベース、セクションosd

    • ... データベース、セクショングローバル

    • ...ファイル、セクションosd

    • ... ファイル、セクショングローバル

  • OSDサイズの10%(DB)/1%(WAL)

Note DBはBlueStoreの内部メタデータを格納し、WALはBlueStoreの内部ジャーナルまたはライトアヘッド・ログです。パフォーマンスを向上させるために、高速なSSDまたはNVRAMを使用することをお勧めします。
Cephファイルストア

Ceph Luminous以前は、Ceph OSDのデフォルトのストレージタイプとしてファイルストアが使用されていました。 Ceph Nautilus以降、Proxmox VEではpvecephを使用したOSDの作成がサポートされなくなりました。ファイルストアOSDを作成する場合は、ceph-volumeを直接使用してください。

ceph-volume lvm create --filestore --data /dev/sd[X]--journal /dev/sd[Y]

OSDの破棄

GUIでOSDを削除するには、まずツリービューでProxmox VEノードを選択し、Ceph → OSDパネルに進みます。次に、破棄するOSDを選択し、OUTボタンをクリックします。OSDのステータスがinから outに変わったら、STOPボタンをクリックします。最後に、ステータスがupから downに変わったら、Moreドロップダウン・メニューからDestroyを選択します。

CLIでOSDを削除するには、次のコマンドを実行します。

ceph osd out<ID> systemctlstop ceph-osd@<ID>.service
Note 最初のコマンドは、データ配布にOSDを含めないようにCephに指示します。2番目のコマンドは、OSDサービスを停止します。この時点まで、データは失われません。

次のコマンドはOSDを破棄します。さらにパーティションテーブルを破棄するには、-cleanupオプションを指定します。

pveceph osd destroy<ID>です。
Warning 上記のコマンドはディスク上のすべてのデータを破壊します!

Cephプール

screenshot/gui-ceph-pools.png

プールはオブジェクトを格納するための論理グループです。これは、配置 グループ(PGpg_num)として知られるオブジェクトのコレクションを保持します。

プールの作成と編集

Proxmox VEホストのコマンドラインまたはWebインタフェースから、Ceph → Poolsでプールを作成および編集できます。

オプションが指定されていない場合、デフォルトで128個のPG3個のレプリカ2個のレプリカのmin_sizeを設定します。

Warning min_sizeを1に設定しないでください。min_sizeが1のレプリケート・プールでは、レプリカが1つしかないときにオブジェクトに対するI/Oが許可されるため、データ損失、不完全なPG、または未発見のオブジェクトが発生する可能性があります。

PG-Autoscalerを有効にするか、セットアップに基づいてPG数を計算することをお勧めします。計算式とPG計算機
[PG計算機https://web.archive.org/web/20210301111112/http://ceph.com/pgcalc/]
はオンラインで参照できます。Ceph Nautilus以降では、セットアップ後にPG数
[配置グループhttps://docs.ceph.com/en/quincy/rados/operations/placement-groups/]
を変更できます。

PG autoscaler
[Automated Scalinghttps://docs.ceph.com/en/quincy/rados/operations/placement-groups/#automated-scaling]
は、バックグラウンドでプールの PG カウントを自動的にスケールできます。ターゲット サイズまたはターゲット比率の詳細パラメータを設定すると、PG オートスケーラがより良い決定を下すのに役立ちます。

CLIでプールを作成する例
pveceph pool create< プール名>--add_storages
Tip プールにストレージを自動的に定義したい場合は、Webインタフェースで「Add as Storage」チェックボックスをチェックしたままにするか、プール作成時にコマンドラインオプション--add_storagesを使用します。

プールオプション

screenshot/gui-ceph-pool-create.png

以下のオプションは、プールの作成時に使用でき、プールの編集時にも一部使用できます。

名称

プールの名前。これは一意でなければならず、後から変更することはできません。

サイズ

オブジェクトあたりのレプリカ数。Cephは常にオブジェクトのコピーをこの数にしようとします。デフォルト:3

PGオートスケールモード

自動 PG スケーリングモード
[autoscaler]
プールの。warn に設定すると、プールの PG 数が最適でない場合に警告メッセージを生成します。デフォルト:warn

ストレージとして追加

新しいプールを使用して、VM またはコンテナ・ストレージを構成します。 デフォルト:true(作成時にのみ表示されます)。

高度なオプション
最小サイズ

オブジェクトあたりの最小レプリカ数。PGのレプリカ数がこの数未満の場合、Cephはプール上のI/Oを拒否します。デフォルト:2

クラッシュルール

クラスタ内のオブジェクト配置のマッピングに使用するルール。これらのルールは、クラスタ内でのデータの配置方法を定義します。デバイスベースのルールについては、Ceph CRUSH & デバイスクラスを参照してください。

# PG数


[placement_groups]
プールが最初に持つべき配置グループの数。デフォルト:128

目標比率

プールで予想されるデータの比率。PG オートスケーラは、他の比率セットに対する比率を使用します。両方が設定されている場合は、ターゲットサイズよりも優先されます。

対象サイズ

プールに予想されるデータ量。PGオートスケーラーは、このサイズを使用して最適なPG数を推定します。

最低# PG数

配置グループの最小数。この設定は、そのプールの PG カウントの下限を微調整するために使用されます。PG オートスケーラーは、この閾値未満の PG をマージしません。

Cephプールの処理の詳細については、Cephプール操作
[Cephプール操作https://docs.ceph.com/en/quincy/rados/operations/pools/]
マニュアルを参照してください。

消去符号化プール

消去符号化(EC)は「順方向エラー訂正」符号の一形態で、ある程度のデータ損失から回復することができます。消去符号化されたプールは、複製されたプールと比較してより多くの使用可能領域を提供できますが、その分パフォーマンスが低下します。

一方、消去コード化プールでは、データはk個のデータチャンクに分割され、さらにm個のコーディング(チェック)チャンクが追加されます。これらのコーディング・チャンクは、データ・チャンクが欠落した場合にデータを再作成するために使用されます。

符号化チャンクの数mは、データを失うことなくOSDを失うことができる数を定義します。保存されるオブジェクトの総量はk + mです。

ECプールの作成

消去符号化(EC)プールはpvecephCLIツールで作成できます。 ECプールを計画するには、レプリケートされたプールとは動作が異なるという事実を考慮する必要があります。

ECプールのデフォルトのmin_sizeは mパラメータによって異なります。m = 1の場合、ECプールのmin_sizeは kになります。m > 1の場合、min_sizeは k + 1になります。Cephのドキュメントでは、保守的なmin_sizeとして k + 2
[Ceph Erasure Coded Pool Recoveryhttps://docs.ceph.com/en/quincy/rados/operations/erasure-code/#erasure-coded-pool-recovery]
を推奨しています。

利用可能なOSDがmin_size未満である場合、プールへのIOは、再び十分なOSDが利用可能になるまでブロックされます。

Note 消去コード化されたプールを計画するときは、min_sizeに注意してください。そうしないと、IOがブロックされてしまいます。

たとえば、k = 2m = 1のECプールは、size = 3min_size = 2となり、1つのOSDが故障しても運用を継続します。プールがk = 2m = 2で構成されている場合、サイズ = 4min_size = 3となり、1つのOSDが失われた場合でも運用を継続します。

新しいECプールを作成するには、以下のコマンドを実行します:

pveceph pool create<pool-name>--erasure-codingk=2,m=1

オプションのパラメータはfailure-domainと device-classです。プールで使用されるECプロファイル設定を変更する必要がある場合は、新しいプロファイルで新しいプールを作成する必要があります。

これにより、新しいECプールと、RBDオマップとその他のメタデータを格納するために必要な複製プールが作成されます。最終的に、<プール名>-データと<プール名>-メタデータ・プールが作成されます。デフォルトの動作では、一致するストレージ構成も作成されます。この動作が不要な場合は、--add_storages 0パラメータを指定することで無効にすることができます。 ストレージ構成を手動で構成する場合、data-poolパラメータを設定する必要があることに注意してください。その場合のみ、ECプールがデータ・オブジェクトの格納に使用されます。例えば

Note オプションのパラメータ-size-min_size、および-crush_ruleは、複製されたメタデータ・プールには使用されますが、消去コード化されたデータ・プールには使用されません。 データ・プールでmin_sizeを変更する必要がある場合は、後で変更できます。sizeおよびcrush_ruleパラメータは、消去コード化されたプールでは変更できません。

ECプロファイルをさらにカスタマイズする必要がある場合は、Cephツールで直接作成します
[Ceph Erasure Code Profilehttps://docs.ceph.com/en/quincy/rados/operations/erasure-code/#erasure-code-profiles]
profileパラメータで使用するプロファイルを指定します。

例えば

pveceph pool create<pool-name>--erasure-codingprofile=<profile-name >。

ストレージとしてのECプールの追加

既存のECプールをストレージとしてProxmox VEに追加できます。RBDプールの追加と同じように動作しますが、追加のデータプールオプションが必要です。

pvesm add rbd<ストレージ 名>--pool<複製 プール>--data-pool<ec-pool
Tip ローカルのProxmox VEクラスタで管理されていない外部のCephクラスタ用に、キーリングと monhostオプションを追加することを忘れないでください。

Destroy Pools

GUIでプールを破棄するには、ツリービューでノードを選択し、Ceph → Poolsパネルに移動します。破棄するプールを選択し、破棄ボタンをクリックします。プールの破棄を確認するには、プール名を入力する必要があります。

以下のコマンドを実行してプールを破棄します。関連するストレージも削除するには、-remove_storagesを指定します。

pveceph プール破壊<名前
Note プールの削除はバックグラウンドで実行されるため、時間がかかることがあります。 このプロセスの間、クラスタのデータ使用量が減少していることがわかります。

PG オートスケーラー

PGオートスケーラを使用すると、クラスタが各プールに格納されている(予想される)データ量を考慮し、適切なpg_num値を自動的に選択できます。 Ceph Nautilusから使用できます。

調整が有効になる前に、PGオートスケーラー・モジュールをアクティブにする必要がある場合があります。

ceph mgr moduleenablepg_autoscaler

オートスケーラーはプールごとに構成され、以下のモードがあります:

言い聞かす

pg_numの推奨値が現在の値と大きく異なる場合、健全性の警告が発行されます。

オン

pg_numは自動的に調整され、手動で操作する必要はありません。

オフ

自動的なpg_numの調整は行われず、PG数が最適でない場合に警告は発行されません。

スケーリング係数は、target_sizetarget_size_ratiopg_num_minオプションで将来のデータ保存を容易にするように調整することができます。

Warning デフォルトでは、オートスケーラは、プールのPGカウントが3倍ずれている場合にチューニングを検討します。これは、データ配置のかなりのシフトにつながり、クラスタに高負荷をもたらす可能性があります。

PGオートスケーラの詳細については、Cephのブログ -Nautilusの新機能を参照してください:PGマージとオートチューニング

Ceph CRUSH & デバイスクラス

screenshot/gui-ceph-config.png


[https://ceph.com/assets/pdfs/weil-crush-sc06.pdf]
(ControlledReplication Under Scalable Hashing)アルゴリズムはCephの基盤です。

CRUSHはどこにデータを保存し、どこから取得するかを計算します。これには、中央のインデックス作成サービスが必要ないという利点があります。CRUSHはプールのOSD、バケット(デバイスの位置)、ルールセット(データの複製)のマップを使用して動作します。

Note 詳細については、CephドキュメントのCRUSH map
[CRUSH maphttps://docs.ceph.com/en/quincy/rados/operations/crush-map/]
のセクションを参照してください。

このマップは、異なるレプリケーション階層を反映するように変更できます。オブジェクトのレプリカは、望ましい分散を維持したまま、(障害ドメインなど)分離することができます。

一般的な構成は、異なるCephプールに異なるクラスのディスクを使用することです。 このため、Cephはルミナスでデバイスクラスを導入し、ルールセットを簡単に生成できるようにしました。

デバイスクラスは、ceph osdツリー出力で確認できます。これらのクラスは独自のルートバケットを表し、以下のコマンドで確認できます。

ceph osd crush tree --show-shadow

上記コマンドの出力例:

ID CLASS WEIGHT TYPE NAME-16nvme2.18307root default~nvme-13nvme0.72769host sumi1~nvme 12nvme0.72769osd.12-14nvme0.72769host sumi2~nvme 13nvme0.72769osd.13-15nvme0.72769host sumi3~nvme 14nvme0.72769osd.14
 -17.70544root default-32.56848host sumi112nvme0.72769osd.12-5 2.56848host sumi213nvme0.72769osd.13-7 2.56848host sumi314nvme0.72769osd.14

特定のデバイスクラス上のオブジェクトのみを配布するようにプールに指示するには、まず、デバイスクラス用のルールセットを作成する必要があります:

ceph osd crush rule create-replicated< ルール名><ルート ><障害 ドメイン><クラス

<ルール名

プールと接続するためのルール名 (GUI および CLI)

<ルート

どのクラッシュルートに属するか(デフォルトのCephルート「default」)

<失敗ドメイン

どの障害ドメインにオブジェクトを配布するか (通常はホスト)

<クラス

使用する OSD バックアップ ストアのタイプ (例: nvme、sd、hdd)

ルールがCRUSHマップにあれば、そのルールセットを使用するようにプールに指示することができます。

ceph osdプールセット < プール名>crush_rule<rule-name >。
Tip プールにすでにオブジェクトが含まれている場合は、それに応じてこれらを移動する必要があります。 セットアップによっては、クラスタに大きなパフォーマンスの影響が生じる可能性があります。別の方法として、新しいプールを作成し、ディスクを個別に移動することができます。

Ceph クライアント

screenshot/gui-ceph-log.png

前のセクションのセットアップに続いて、Proxmox VEを設定して、このようなプールを使用してVMおよびコンテナイメージを保存できます。GUIを使用して新しいRBDストレージを追加するだけです(Ceph RADOS Block Devices (RBD)の項を参照)。

また、外部Cephクラスタ用の定義済みの場所にキーリングをコピーする必要があります。CephがProxmoxノード自体にインストールされている場合、これは自動的に実行されます。

Note ファイル名は<storage_id> + `.keyring で、<storage_id>/etc/pve/storage.cfgrbd: の後に記述します。以下の例では、my-ceph-storage<storage_id> です
mkdir /etc/pve/priv/ceph cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph/my-ceph-storage.keyring

CephFS

Cephはファイルシステムも提供し、RADOSブロックデバイスと同じオブジェクトストレージ上で動作します。メタデータ サーバ(MDS)を使用して、RADOSでバックアップされたオブジェクトをファイルとディレクトリにマッピングするため、CephはPOSIX準拠の複製ファイルシステムを提供できます。これにより、クラスタ化された可用性の高い共有ファイルシステムを簡単に構成できます。Cephのメタデータサーバは、ファイルがCephクラスタ全体に均等に分散されることを保証します。その結果、負荷が高い場合でも、NFSなどの従来の共有ファイルシステムアプローチで問題となる、単一のホストを圧倒することはありません。

screenshot/gui-node-ceph-cephfs-panel.png

Proxmox VEは、ハイパーコンバージドCephFSの作成と、バックアップ、ISOファイル、コンテナテンプレートを保存するストレージとしての既存のCephFSの使用の両方をサポートしています。

メタデータサーバー (MDS)

CephFSを機能させるには、少なくとも1つのメタデータサーバを構成して実行する必要があります。データシートは、Proxmox VE Web GUIのNode -> CephFSパネルまたはコマンドラインから作成できます:

プベケフ・マッズ・クリエイト

クラスタには複数のメタデータサーバーを作成できますが、デフォルト設定では一度にアクティブにできるのは1つのみです。データシートまたはそのノードが応答しなくなった(またはクラッシュした)場合、別のスタンバイデータシートがアクティブに昇格します。 作成時にhotstandbyパラメータオプションを使用するか、すでに作成済みの場合は設定/追加することで、アクティブとスタンバイのデータシート間のハンドオーバーを高速化できます:

mdsスタンバイ再生 = true

/etc/pve/ceph.confの各データシートセクションに追加します。この設定を有効にすると、指定されたデータシートはウォーム状態を維持し、アクティブなデータシートにポーリングします。

Note このアクティブなポーリングは、システムおよびアクティブなデータシートにさらなるパフォーマンスの影響を与えます。
複数のアクティブMDS

Luminous (12.2.x)以降、複数のアクティブなメタデータサーバーを同時に実行することができますが、これは通常、大量のクライアントが並行して実行されている場合にのみ有用です。そうでない場合、データシートがシステムのボトルネックになることはほとんどありません。この設定を行う場合は、Cephのドキュメントを参照してください。
[複数のアクティブなデータシートデーモンの設定https://docs.ceph.com/en/quincy/cephfs/multimds/]

CephFS を作成します

Proxmox VEのCephFSの統合により、Webインタフェース、CLI、または外部APIインタフェースを使用して簡単にCephFSを作成できます。これを動作させるには、いくつかの前提条件が必要です:

CephFSのセットアップを成功させるための前提条件:

これが完了したら、Web GUIのNode -> CephFSパネルまたはコマンドラインツールのpvecephなどを使用して、CephFSを作成できます:

pveceph fs create --pg_num 128 --add-storage

これにより、cephfsという名前のCephFSが作成され、128の配置グループを持つcephfs_dataという名前のデータ用プールと、データプールの配置グループの4分の1(32)を持つcephfs_metadataという名前のメタデータ用プールが使用されます。 セットアップに適した配置グループ番号(pg_num)の詳細については、Proxmox VE managed Ceph poolの章を参照するか、Cephのドキュメントを参照してください
[placement_groups]
. さらに、--add-storageパラメータを使用すると、CephFSが正常に作成された後、Proxmox VEストレージ構成に追加されます。

CephFS を破棄します

Warning CephFSを破棄すると、そのデータはすべて使用できなくなります。これは元に戻せません!

CephFSを完全かつ優雅に削除するには、次の手順が必要です:

  • すべての非Proxmox VEクライアントを切断します(たとえば、ゲストのCephFSをアンマウントします)。

  • 関連するすべてのCephFS Proxmox VEストレージエントリを無効にします(自動的にマウントされないようにします)。

  • 破棄するCephFS上のゲスト(ISOなど)から、使用済みのリソースをすべて削除します。

  • を使用して、すべてのクラスタノードのCephFSストレージを手動でアンマウントします。

    umount /mnt/pve/<STORAGE-NAME>。

    ここで、<STORAGE-NAME>はProxmox VE内のCephFSストレージの名前です。

  • メタデータサーバ(MDS)を停止するか破棄して、そのCephFSでメタデータサーバ(MDS)が実行されていないことを確認します。これは、Webインタフェースまたはコマンドラインインタフェースで実行できます。後者の場合は、次のコマンドを実行します:

    pveceph stop --service mds.NAME

    を止めるか

    pveceph mds destroy NAME

    破壊するために。

    アクティブなデータシートが停止または削除されると、スタンバイサーバーは自動的にアクティブに昇格することに注意してください。

  • これで、CephFSを次のように破壊できます。

    pveceph fs destroy NAME --remove-storages --remove-pools

    これにより、基盤となるCephプールが自動的に破棄され、pve設定からストレージが削除されます。

これらの手順の後、CephFSを完全に削除し、他のCephFSインスタンスがある場合は、停止したメタデータサーバを再度起動してスタンバイとして動作させることができます。

Ceph メンテナンス

OSDの交換

Cephで最も一般的なメンテナンスタスクの1つは、OSDのディスクを交換することです。ディスクがすでに故障状態になっている場合は、Destroy OSDの手順を実行します。Cephは、可能であれば残りのOSDにそれらのコピーを再作成します。このリバランシングは、OSD障害が検出されるか、OSDがアクティブに停止されるとすぐに開始されます。

Note プールのデフォルトのsize/min_size (3/2)では、「size + 1」ノードが利用可能な場合にのみ復旧が開始されます。この理由は、CephオブジェクトバランサCRUSHのデフォルトがフルノードを`障害ドメイン'としているためです。

GUIから機能しているディスクを交換するには、Destroy OSDの手順を実行します。唯一の追加は、OSDを停止して破壊する前に、クラスタがHEALTH_OKを表示するまで待つことです。

コマンドラインでは、以下のコマンドを使用します:

ceph osd out osd.<id>

OSDを安全に削除できるかどうかは、以下のコマンドで確認できます。

ceph osdのsafe-to-destroy osd.<id>。

上記のチェックでOSDを取り外しても安全であることがわかったら、次のコマンドを実行してください:

systemctl stop ceph-osd@<id>.service pveceph osd destroy <id>

古いディスクを新しいディスクと交換し、OSDの作成で説明したのと同じ手順を使用します。

トリム/廃棄

VMやコンテナでfstrim(discard)を定期的に実行するのは良い習慣です。 これにより、ファイルシステムが使用しなくなったデータ・ブロックが解放されます。これにより、データ使用量とリソース負荷が軽減されます。最近のオペレーティング・システムでは、このようなdiscardコマンドを定期的にディスクに発行しています。仮想マシンがディスク廃棄オプションを有効にしていることを確認するだけです。

スクラブ&ディープスクラブ

Cephは配置グループをスクラブすることで、データの整合性を確保します。CephはPG内のすべてのオブジェクトの健全性をチェックします。スクラブには、毎日の安価なメタデータチェックと毎週のディープデータチェックの2つの形式があります。毎週のディープスクラブはオブジェクトを読み取り、チェックサムを使用してデータの整合性を確保します。実行中のスクラブがビジネス(パフォーマンス)ニーズに干渉する場合、スクラブ
[Ceph scrubbing https://docs.ceph.com/en/quincy/rados/configuration/osd-config-ref/#scrubbing]
が実行される時間を調整できます。

Proxmox VE + Ceph HCIクラスタのシャットダウン

Proxmox VE + Cephクラスタ全体をシャットダウンするには、まずすべてのCephクライアントを停止します。これらは主にVMとコンテナになります。Ceph FSまたはインストールされているRADOS GWにアクセスする可能性がある追加のクライアントがある場合は、これらも停止します。 Proxmox VEツールを使用してパワーダウンすると、可用性の高いゲストは状態を停止に切り替えます。

すべてのクライアント、VM、およびコンテナがオフになるか、Cephクラスタにアクセスしなくなったら、Cephクラスタが健全な状態であることを確認します。Web UIまたはCLIのいずれかを使用します:

ceph -s

すべての自己回復アクションを無効にし、CephクラスタのクライアントIOを一時停止するには、Ceph → OSDパネルまたはCLIで次のOSDフラグを有効にします:

ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause

モニター(MON)のないノードのパワーダウンを開始します。これらのノードのパワーダウンが完了したら、モニターのあるノードのパワーダウンを続けます。

クラスタの電源を入れるときは、モニタ(MON)があるノードを最初に起動します。すべてのノードが稼働したら、すべてのCephサービスが稼働していることを確認してから、OSDフラグを再度設定解除します:

ceph osd unset pause ceph osd unset nodown ceph osd unset nobackfill ceph osd unset norebalance ceph osd unset norecover ceph osd unset noout

これでゲストを起動できます。高可用性ゲストは、電源が入ると状態が開始状態に変わります。

Cephの監視とトラブルシューティング

Cephツールを使用するか、Proxmox VEAPIを介してステータスにアクセスするかして、Cephデプロイの健全性を最初から継続的に監視することが重要です。

以下のCephコマンドを使用して、クラスタが健全かどうか(HEALTH_OK)、警告があるかどうか(HEALTH_WARN)、またはエラーかどうか(HEALTH_ERR)を確認できます。クラスタが不健全な状態の場合、以下のステータスコマンドを使用すると、現在のイベントと取るべきアクションの概要もわかります。

# 単発出力 pve# ceph -s # ステータス変更を継続的に出力 (CTRL+C で停止) pve# ceph -w

より詳細に表示するには、すべてのCephサービスに/var/log/ceph/下のログファイルがあります。詳細が必要な場合は、ログレベルを調整できます
[Ceph log and debugginghttps://docs.ceph.com/en/quincy/rados/troubleshooting/log-and-debug/]

Ceph troubleshooting
[Ceph troubleshootinghttps://docs.ceph.com/en/quincy/rados/troubleshooting/]
Cephクラスタの詳細については、公式Webサイトを参照してください。

著作権 © 2007-2022 Proxmox Server Solutions GmbH

このプログラムはフリー・ソフトウェアです。あなたは、Free Software Foundationによって発行されたGNU Affero General Public Licenseのバージョン3、またはそれ以降のバージョンのいずれかに従って、このプログラムを再配布したり、変更したりすることができます。

このプログラムは有用であることを期待して配布されていますが、商品性や特定の目的への適合性についての暗黙の保証もなく、いかなる保証もありません。詳細はGNU Affero General Public Licenseをご覧ください。

あなたはこのプログラムとともにGNU Affero General Public Licenseのコピーを受け取っているはずです。 そうでない場合は、https://www.gnu.org/licenses/をご覧ください。