5.2. イレイジャーコードプロファイル


Ceph は、プロファイル でイレイジャーコーディングされたプールを定義します。Ceph は、イレイジャーコーディングされたプールおよび関連する CRUSH ルールを作成する際にプロファイルを使用します。

Ceph は、クラスターを初期化する時にデフォルトのイレイジャーコードプロファイルを作成し、レプリケートされたプール内の 2 つのコピーと同じレベルの冗長性を提供します。ただし、25% 未満のストレージ容量を使用します。デフォルトのプロファイルは k=2m=2 を定義します。つまり、Ceph は、オブジェクトデータを 4 つの OSD (k+m=4) に分散し、データを損失せずに、これらの OSD の 1 つを損失する可能性があります。

デフォルトの元号付けコードプロファイルでは、1 つの OSD の損失を回避できます。これは 2 サイズが 2 つある複製されたプールと同等ですが、データ 1 TB を保存するには 1.5 TB ではなく 1.5 TB が必要になります。デフォルトのプロファイルを表示するには、以下のコマンドを使用します。

$ ceph osd erasure-code-profile get default
k=2
m=2
plugin=jerasure
technique=reed_sol_van
Copy to Clipboard Toggle word wrap

raw ストレージ要件を増加させずに冗長性を強化するために、新規プロファイルを作成できます。たとえば、k=8m=4 のプロファイルでは、12 個の (k+m=12) OSD オブジェクトを配布することで、4 個の (m=4) OSD が失われないようにすることができます。Ceph はオブジェクトを 8 つのチャンクに分割し、リカバリー用に 4 つのコーディングチャンクを計算します。たとえば、オブジェクトサイズが 8 MB の場合、各データチャンクが 1 MB で、各データチャンクのサイズは 1 MB であり、各データチャンクのサイズは 1 MB でも同じサイズになります。4 つの OSD が同時に失敗した場合でも、このオブジェクトは失われません。

プロファイルで最も重要なパラメーターは、ストレージのオーバーヘッドとデータの永続性を定義するため、km、および crush-failure-domain です。

重要

プールの作成後にプロファイルを変更できないため、正しいプロファイルの選択は重要です。プロファイルを変更するには、別のプロファイルで新しいプールを作成し、オブジェクトを古いプールから新しいプールに移行する必要があります。

たとえば、目的のアーキテクチャーがストレージオーバーヘッドの 40% オーバーヘッドの 2 つのラックが失われなければならない場合、以下のプロファイルを定義することができます。

$ ceph osd erasure-code-profile set myprofile \
   k=4 \
   m=2 \
   crush-failure-domain=rack
$ ceph osd pool create ecpool 12 12 erasure *myprofile*
$ echo ABCDEFGHIJKL | rados --pool ecpool put NYAN -
$ rados --pool ecpool get NYAN -
ABCDEFGHIJKL
Copy to Clipboard Toggle word wrap

プライマリー OSD は、NYAN オブジェクトを 4 つ (k=4) のデータチャンクに分割し、2 つの追加のチャンク (m=2) を作成します。m の値は、データを失うことなく同時に失われた OSD の数を定義します。crush-failure-domain=rack は、2 つのチャンクが同じラックに保存されないように CRUSH ルールを作成します。

重要

Red Hat は、k および m に以下の jerasure コーディング値をサポートしています。

  • k=8 m=3
  • k=8 m=4
  • k=4 m=2
重要

失われた OSD の数がコーディングチャンクの数 (m) と同等である場合、イレイジャーコーディングプールの一部の配置グループは不完全な状態になります。失われた OSD の数が m 未満の場合、配置グループは不完全な状態になりません。いずれの場合も、データの損失は発生しません。配置グループが不完全な状態の場合は、イレイジャーコード化されたプールの min_size を一時的に縮小することで復元が可能になります。

5.2.1. OSD の erasure-code-profile の設定

新しい元号のコードプロファイルを作成するには、以下の手順を実施します。

構文

ceph osd erasure-code-profile set NAME \
         [<directory=DIRECTORY>] \
         [<plugin=PLUGIN>] \
         [<stripe_unit=STRIPE_UNIT>] \
         [<_CRUSH_DEVICE_CLASS_>]\
         [<_CRUSH_FAILURE_DOMAIN_>]\
         [<key=value> ...] \
         [--force]
Copy to Clipboard Toggle word wrap

詳細は、以下のようになります。

directory
説明
イレイジャーコードプラグインが読み込まれた ディレクトリー 名を設定します。
String
必須
いいえ
デフォルト
/usr/lib/ceph/erasure-code
プラグイン
説明
イレイジャーコードプラグインを使用して、コーディングしたチャンクを計算して、欠落しているチャンクを回復します。詳細は、イレイジャーコードプラグイン セクションを参照してください。
String
必須
いいえ
デフォルト
jerasure
stripe_unit
説明
ストライプごとにデータチャンクのデータの量。たとえば、2 つのデータチャンクと stripe_unit=4K のプロファイルでは、範囲 0 ~ 4,000 がチャンク 0 に設定され、4,000 ~ 8,000 がチャンク 1 に、8,000 ~ 12,000 がチャンク 0 に再び設定されます。最高のパフォーマンスを得るためには、4K の倍数である必要があります。デフォルト値は、プールの作成時に監視設定オプション osd_pool_erasure_code_stripe_unit から取得されます。このプロファイルを使用するプールの stripe_width は、この stripe_unit で乗算したデータチャンクの数になります。
String
必須
いいえ
デフォルト
4K
crush-device-class
説明
hddssd などのデバイスクラス。
String
必須
いいえ
デフォルト
none (CRUSH がクラスに関係なくすべてのデバイスを使用することを意味します)。
crush-failure-domain
説明
hostrack などの障害ドメイン。
String
必須
いいえ
デフォルト
host
key
説明
残りのキーと値のペアのセマンティックは、イレイジャーコードプラグインによって定義されます。
String
必須
いいえ
--force
説明
同じ名前で既存のプロファイルを上書きします。
String
必須
いいえ

5.2.2. OSD の erasure-code-profile の削除

イレイジャーコードプロファイルを削除するには、以下のコマンドを実行します。

構文

ceph osd erasure-code-profile rm NAME
Copy to Clipboard Toggle word wrap

プロファイルがプールによって参照されている場合、削除は失敗します。

警告

osd erasure-code-profile rm コマンドを使用してイレージャーコードプロファイルを削除しても、イレージャーコードプロファイルに関連付けられている CRUSH ルールは自動的に削除されません。Red Hat では、予期しない動作を回避するために、ceph osd crush rule remove RULE_NAME コマンドを使用して、関連する CRUSH ルールを手動で削除することを推奨しています。

5.2.3. OSD の erasure-code-profile の取得

イレイジャーコードプロファイルを表示するには、以下のコマンドを実行します。

構文

ceph osd erasure-code-profile get NAME
Copy to Clipboard Toggle word wrap

5.2.4. OSD の erasure-code-profile の一覧表示

イレイジャーコードプロファイルの名前をリスト表示するには、以下のコマンドを実行します。

構文

ceph osd erasure-code-profile ls
Copy to Clipboard Toggle word wrap

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る