3.6. イレイジャーコーディングを使用した Ceph ファイルシステムの作成
デフォルトでは、Ceph はデータプールにレプリケートされたプールを使用します。必要に応じて、イレイジャーコーディングのデータプールを追加することもできます。イレイジャーコーディングプールが対応する Ceph File Systems (CephFS) は、複製されたプールでサポートされる Ceph File Systems と比較して、全体的なストレージの使用量を使用します。イレイジャーコーディングされたプールは、全体的なストレージを使用しますが、レプリケートされたプールよりも多くのメモリーおよびプロセッサーリソースを使用します。
イレイジャーコーディングされたプールの Ceph ファイルシステムはテクノロジープレビュー機能です。詳細は、「 Erasure Coding with Overwrites(テクノロジープレビュー) 」を参照してください。
イレイジャーコーディングされたプールの Ceph ファイルシステムには、BlueStore オブジェクトストアを使用するプールが必要です。詳細は、「 Erasure Coding with Overwrites(テクノロジープレビュー) 」を参照してください。
Red Hat は、レプリケートされたプールをデフォルトのデータプールとして使用することを推奨します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスター
- BlueStore OSD を使用するプール。
手順
Ceph File System 用のイレイジャーコーディングされたデータプールを作成します。
ceph osd pool create $DATA_POOL $PG_NUM erasureたとえば、64 個の配置グループを持つ
cephfs-data-ecという名前のイレイジャーコーディングされたプールを作成するには、以下を実行します。[root@monitor ~]# ceph osd pool create cephfs-data-ec 64 erasureCeph File System 用に複製されたメタデータプールを作成します。
ceph osd pool create $METADATA_POOL $PG_NUMたとえば、64 個の配置グループを持つ
cephfs-metadataという名前のプールを作成するには、次のコマンドを実行します。[root@monitor ~]# ceph osd pool create cephfs-metadata 64消去コード化されたプールでのオーバーライトを有効にします。
ceph osd pool set $DATA_POOL allow_ec_overwrites trueたとえば、
cephfs-data-ecという名前のイレイジャーコーディングされたプールで上書きを有効にするには、以下を実行します。[root@monitor ~]# ceph osd pool set cephfs-data-ec allow_ec_overwrites trueCeph File System を作成します。
ceph fs new $FS_EC $METADATA_POOL $DATA_POOL注記デフォルトのデータプールにイレイジャーコーディングされたプールを使用することは推奨されませんが、
--forceを使用してこのデフォルトを上書きできます。Ceph File System の名前と、メタデータとデータプールの名前を指定します。以下に例を示します。[root@monitor ~]# ceph fs new cephfs-ec cephfs-metadata cephfs-data-ec --force設定に応じて、1 つ以上の MDS が active 状態にあることを確認します。
ceph fs status $FS_ECCeph File System の名前を指定します。以下に例を示します。
[root@monitor ~]# ceph fs status cephfs-ec cephfs-ec - 0 clients ====== +------+--------+-------+---------------+-------+-------+ | Rank | State | MDS | Activity | dns | inos | +------+--------+-------+---------------+-------+-------+ | 0 | active | node1 | Reqs: 0 /s | 10 | 12 | +------+--------+-------+---------------+-------+-------+ +-----------------+----------+-------+-------+ | Pool | type | used | avail | +-----------------+----------+-------+-------+ | cephfs-metadata | metadata | 4638 | 26.7G | | cephfs-data-ec | data | 0 | 26.7G | +-----------------+----------+-------+-------+ +-------------+ | Standby MDS | +-------------+ | node3 | | node2 | +-------------+イレイジャーコーディングされたプールをデータプールとして既存のファイルシステムに追加する場合は、以下を行います。
Ceph File System 用のイレイジャーコーディングされたデータプールを作成します。
ceph osd pool create $DATA_POOL $PG_NUM erasureたとえば、64 個の配置グループを持つ
cephfs-data-ec1という名前のイレイジャーコーディングされたプールを作成するには、以下を実行します。[root@monitor ~]# ceph osd pool create cephfs-data-ec1 64 erasure消去コード化されたプールでのオーバーライトを有効にします。
ceph osd pool set $DATA_POOL allow_ec_overwrites trueたとえば、
cephfs-data-ec1という名前のイレイジャーコーディングされたプールで上書きを有効にするには、以下を実行します。[root@monitor ~]# ceph osd pool set cephfs-data-ec1 allow_ec_overwrites true新規作成されたプールを既存の Ceph File System に追加します。
ceph fs add_data_pool $FS_EC $DATA_POOLたとえば、
cephfs-data-ec1という名前のイレイジャーコーディングされたプールを追加するには、以下を実行します。[root@monitor ~]# ceph fs add_data_pool cephfs-ec cephfs-data-ec1設定に応じて、1 つ以上の MDS が active 状態にあることを確認します。
ceph fs status $FS_ECCeph File System の名前を指定します。以下に例を示します。
[root@monitor ~]# ceph fs status cephfs-ec cephfs-ec - 0 clients ====== +------+--------+-------+---------------+-------+-------+ | Rank | State | MDS | Activity | dns | inos | +------+--------+-------+---------------+-------+-------+ | 0 | active | node1 | Reqs: 0 /s | 10 | 12 | +------+--------+-------+---------------+-------+-------+ +-----------------+----------+-------+-------+ | Pool | type | used | avail | +-----------------+----------+-------+-------+ | cephfs-metadata | metadata | 4638 | 26.7G | | cephfs-data-ec | data | 0 | 26.7G | | cephfs-data-ec1| data | 0 | 26.7G | +-----------------+----------+-------+-------+ +-------------+ | Standby MDS | +-------------+ | node3 | | node2 | +-------------+
その他のリソース
- 詳細は、『Red Hat Ceph Storage ストレージ戦略ガイド』 の「 イレイジャーコードプール 」セクションを参照してください。
- 詳細は、『Red Hat Ceph Storage ストレージ戦略ガイド』 の「 上書きによるイレイジャーコード 」セクションを参照してください。