第5章 ストレージクラス
5.1. ストレージクラス リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスは、Ceph Object Gateway (RGW) 内でオブジェクトデータがどのように配置され、管理されるかを定義します。これらはオブジェクトを特定の配置ターゲットにマッピングし、特に S3 バケットのライフサイクル遷移と併用する場合に、コストとパフォーマンスを最適化した階層化をサポートします。
すべての配置対象には STANDARD ストレージクラスが含まれており、これはデフォルトで新しいオブジェクトに適用されます。ユーザーは、default_storage_class の 値を設定することで、このデフォルト設定を上書きできます。オブジェクトをデフォルト以外のストレージクラスに保存するには、リクエストヘッダーにストレージクラス名を指定します。
-
S3 プロトコル:
X-Amz-Storage-Class -
Swift プロトコル:
X-Object-Storage-Class
S3 オブジェクトライフサイクル管理は、移行 アクションを使用してストレージクラス間の移行を自動化できます。
AWS S3 SDK(たとえば boto3) を使用する場合、ストレージクラス名は AWS の命名規則に一致させる必要があります。そうでない場合、SDK はリクエストを破棄するか、例外を発生させる可能性があります。一部の SDK は、GLACIER などの名前が使用される場合に AWS 固有の動作を想定しているため、Ceph RGW へのアクセス時にエラーが発生する可能性があります。
これらの問題を回避するために、Ceph では次のような代替ストレージクラス名を使用することを推奨しています。
-
INTELLIGENT-TIERING -
STANDARD_IA -
REDUCED_REDUNDANCY -
ONEZONE_IA
CHEAPNDEEP などのカスタムストレージクラスは Ceph では受け入れられますが、一部の S3 クライアントやライブラリーでは認識されない場合があります。
5.1.1. ユースケース リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスは、データの配置、コスト、パフォーマンスを最適化するために、一般的に次のようなシナリオで使用されます。
- アクセス頻度の低いオブジェクトを、自動化されたライフサイクル遷移を使用して低コストのプールに移動する。
- レイテンシーに敏感なワークロードや頻繁にアクセスされるワークロードを、NVMe 対応プールなどの高速プールに割り当てる。
-
コンプライアンス、分離、またはアプリケーション固有のデータ配置のためのカスタムストレージクラスを作成します (例:
APP_LOGS、ML_DATA)。 -
オブジェクトの経過時間やアクセスパターンに基づいて、
STANDARDSTANDARD_IAアーカイブプールなどの複数階層の移行を自動化します。 - ストレージクラスを、異なるレプリケーション設定または消去符号化設定を持つプールにマッピングすることにより、異なる耐久性または回復力プロファイルを適用します。
- ワークロード (分析、ログ記録、バックアップなど) を、圧縮、耐久性、コストモデルに合わせて最適化されたプールに分割する。
IBM Storage Ceph Object Gateway の配置ターゲットに新しいストレージクラスを追加し、それをデータプールと圧縮設定にマッピングします。
5.1.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
始める前に、以下の要件を満たしていることを確認してください。
-
管理者特権には、
radosgw-adminコマンドを実行する権限があります。 - ゾーングループとゾーンは、すでに Ceph Object Gateway に設定済みです。
-
必要なデータプール (たとえば、
default.rgw.glacier.data) は Ceph クラスター内に存在します。 -
radosgw-adminツールは、コマンドを実行するシステムにインストールされ、利用可能です。
5.1.1.2. 手順 リンクのコピーリンクがクリップボードにコピーされました!
ゾーングループの配置対象に新しいストレージクラスを追加します。
構文
radosgw-admin zonegroup placement add \ --rgw-zonegroup default \ --placement-id default-placement \ --storage-class STANDARD_IA例
radosgw-admin zonegroup placement add \ --rgw-zonegroup prod-zonegroup \ --placement-id app-placement \ --storage-class APP_LOGSこのコマンドは、ゾーングループの配置設定を更新して、新しいストレージクラスを含めるようにします。
ストレージクラスごとに、ゾーン固有の配置設定を定義します。
構文
radosgw-admin zone placement add \ --rgw-zone default \ --placement-id default-placement \ --storage-class STANDARD_IA \ --data-pool default.rgw.glacier.data \ --compression lz4例
radosgw-admin zone placement add \ --rgw-zone prod-zone \ --placement-id app-placement \ --storage-class APP_LOGS \ --data-pool prod.rgw.logs.data \ --compression lz4このコマンドは、ストレージクラスを、選択された圧縮アルゴリズムを使用して、指定されたデータプールにマッピングします。
5.1.1.3. 結果 リンクのコピーリンクがクリップボードにコピーされました!
新しいストレージクラスが、指定された配置ターゲットで使用できるようになりました。S3 ヘッダーを使用してオブジェクトをアップロードする際に指定するか、S3 バケットのライフサイクル遷移ルールで参照することができます。