4.3. Ceph File System サブボリューム
ストレージ管理者は、Ceph File System (CephFS) サブボリュームの作成、リスト表示、取得、メタデータの取得、削除が可能です。また、これらのサブボリュームのスナップショットの作成、リスト表示、および削除も可能です。CephFS サブボリュームは、独立した Ceph File Systems ディレクトリーツリーの抽象化です。
このセクションでは、以下を行う方法を説明します。
4.3.1. ファイルシステムのサブボリュームの作成
このセクションでは、Ceph File System (CephFS) サブボリュームを作成する方法を説明します。
サブボリュームを作成する場合、そのサブボリュームグループ、データプールレイアウト、uid、gid、ファイルモード (8 進数)、およびサイズ (バイト単位) を指定できます。サブボリュームは、--namespace-isolated
オプションを指定することで、別の RADOS namespace に作成できます。デフォルトでは、サブボリュームはデフォルトの subvolume グループ内に作成され、サブボリュームグループの 8 進数ファイルモード '755'、サブボリュームグループの gid、親ディレクトリーのデータプールレイアウトとサイズ制限がありません。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
手順
CephFS サブボリュームを作成します。
構文
ceph fs subvolume create VOLUME_NAME SUBVOLUME_NAME [--size SIZE_IN_BYTES --group_name SUBVOLUME_GROUP_NAME --pool_layout DATA_POOL_NAME --uid _UID --gid GID --mode OCTAL_MODE] [--namespace-isolated]
例
[root@mon ~]# ceph fs subvolume create cephfs sub0 --group_name subgroup0 --namespace-isolated
subvolume がすでに存在している場合でも、コマンドは成功します。
4.3.2. ファイルシステムのサブボリュームのリスト表示
このセクションでは、Ceph File System (CephFS) サブボリュームをリスト表示する手順について説明します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
手順
CephFS サブボリュームをリスト表示します。
構文
ceph fs subvolume ls VOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume ls cephfs --group_name subgroup0
4.3.3. ファイルシステムのサブボリュームのサイズ変更
このセクションでは、Ceph File System (CephFS) サブボリュームのサイズを変更する方法を説明します。
ceph fs subvolume resize
コマンドは、new_size
で指定されたサイズでサブボリュームのクォータのサイズを変更します。--no_shrink
フラグは、サブボリュームが現在使用されているサブボリュームのサイズを下回って縮小するのを防ぎます。サブボリュームは、f
または infinite
を new_size
として渡すと、無限にリサイズできます。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
手順
CephFS サブボリュームのサイズを変更します。
構文
ceph fs subvolume resize VOLUME_NAME SUBVOLUME_NAME NEW_SIZE [--group_name SUBVOLUME_GROUP_NAME] [--no_shrink]
例
[root@mon ~]# ceph fs subvolume resize cephfs sub0 1024000000 --group_name subgroup0 --no_shrink
4.3.4. ファイルシステムのサブボリュームの絶対パスを取得中
このセクションでは、Ceph File System (CephFS) サブボリュームの絶対パスを取得する方法を説明します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
手順
CephFS サブボリュームの絶対パスを取得します。
構文
ceph fs subvolume getpath VOLUME_NAME SUBVOLUME_NAME [--group_name _SUBVOLUME_GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume getpath cephfs sub0 --group_name subgroup0
4.3.5. ファイルシステムのサブボリュームのメタデータの取得
このセクションでは、Ceph File System (CephFS) サブボリュームのメタデータを取得する方法について説明します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
手順
CephFS サブボリュームのメタデータを取得します。
構文
ceph fs subvolume info VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume info cephfs sub0 --group_name subgroup0
出力例
# ceph fs subvolume info cephfs sub0 { "atime": "2023-07-14 08:52:46", "bytes_pcent": "0.00", "bytes_quota": 1024000000, "bytes_used": 0, "created_at": "2023-07-14 08:52:46", "ctime": "2023-07-14 08:53:54", "data_pool": "cephfs.cephfs.data", "features": [ "snapshot-clone", "snapshot-autoprotect", "snapshot-retention" ], "flavor": "2", "gid": 0, "mode": 16877, "mon_addrs": [ "10.0.208.172:6789", "10.0.211.197:6789", "10.0.209.212:6789" ], "mtime": "2023-07-14 08:52:46", "path": "/volumes/_nogroup/sub0/834c5cbc-f5db-4481-80a3-aca92ff0e7f3", "pool_namespace": "", "state": "complete", "type": "subvolume", "uid": 0 }
出力形式は JSON で、以下のフィールドが含まれます。
- atime: "YYYY-MM-DD HH:MM:SS" 形式のサブボリュームパスのアクセス時間。
- bytes_pcent: クォータが設定されている場合に使用するクォータ。それ以外の場合は "undefined" を表示します。
- bytes_quota: クォータが設定されている場合のクォータサイズ (バイト単位)。それ以外の場合は "infinite" を表示します。
- bytes_used: サブボリュームの現在の使用サイズ (バイト単位)。
- created_at: サブボリュームを作成する時間 ("YYYY-MM-DD HH:MM:SS" 形式)。
- ctime: サブボリュームの時間を "YYYY-MM-DD HH:MM:SS" 形式で変更します。
- data_pool: サブボリュームが属するデータプール。
- features: snapshot-clone"、"snapshot-autoprotect"、"snapshot-retention" などのサブボリュームでサポートされる機能。
-
flavor: サブボリュームのバージョン。バージョン 1 の場合は
1
、バージョン 2 の場合は2
です。 - gid: サブボリュームパスのグループ ID。
- モード: サブボリュームパスのモード。
- mon_addrs: モニターアドレスのリスト。
- mtime: サブボリュームパスの変更時間 ("YYYY-MM-DD HH:MM:SS" 形式)。
- path: サブボリュームの絶対パス。
- pool_namespace: サブボリュームの RADOS 名前空間。
- state: サブボリュームの現在の状態 (例: "complete" または "snapshot-retained"d)
- type: クローンかサブボリュームかを示すサブボリュームタイプ。
- uid : サブボリュームパスのユーザー ID。
4.3.6. ファイルシステムのサブボリュームのスナップショットの作成
このセクションでは、Ceph File System (CephFS) サブボリュームのスナップショットを作成する方法を説明します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
-
クライアントの読み取り (
r
) および書き込み (w
) 機能のほかに、クライアントはファイルシステム内のディレクトリーパスにs
フラグも必要になります。
手順
s
フラグがディレクトリーに設定されていることを確認します。構文
ceph auth get CLIENT_NAME
例
[root@mon ~]# ceph auth get client.0 [client.0] key = AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== caps mds = "allow rw, allow rws path=/bar" 1 caps mon = "allow r" caps osd = "allow rw tag cephfs data=cephfs_a" 2
Ceph File System サブボリュームのスナップショットを作成します。
構文
ceph fs subvolume snapshot create VOLUME_NAME SUBVOLUME_NAME SNAP_NAME [--group_name GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume snapshot create cephfs sub0 snap0 --group_name subgroup0
4.3.7. スナップショットからのサブボリュームのクローン作成
サブボリュームスナップショットのクローン作成により、サブボリュームを作成できます。これは、スナップショットからサブボリュームにデータをコピーする非同期操作です。
非常に大規模なデータセットの場合、クローン作成は非効率的です。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
スナップショットの作成や書き込み機能の削除に加えて、クライアントはファイルシステム内のディレクトリーパスに
s
フラグが必要です。構文
CLIENT_NAME key = AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== caps mds = allow rw, allow rws path=DIRECTORY_PATH caps mon = allow r caps osd = allow rw tag cephfs data=DIRECTORY_NAME
以下の例では、
client.0
はファイルシステムcephfs_a
のbar
ディレクトリーにスナップショットを作成または削除することができます。例
[client.0] key = AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== caps mds = "allow rw, allow rws path=/bar" caps mon = "allow r" caps osd = "allow rw tag cephfs data=cephfs_a"
手順
Ceph File System (CephFS) ボリュームを作成します。
構文
ceph fs volume create VOLUME_NAME
例
[root@mon ~]# ceph fs volume create cephfs
これにより、CephFS ファイルシステム、そのデータおよびメタデータプールが作成されます。
サブボリュームグループを作成します。デフォルトでは、サブボリュームグループは、モード '755' および、親ディレクトリーのデータプールレイアウトで作成されます。
構文
ceph fs subvolumegroup create VOLUME_NAME GROUP_NAME [--pool_layout DATA_POOL_NAME --uid UID --gid GID --mode OCTAL_MODE]
例
[root@mon ~]# ceph fs subvolumegroup create cephfs subgroup0
サブボリュームを作成します。デフォルトでは、サブボリュームはデフォルトの subvolume グループ内に作成され、サブボリュームグループの 8 進数ファイルモード '755'、サブボリュームグループの gid、親ディレクトリーのデータプールレイアウトとサイズ制限がありません。
構文
ceph fs subvolume create VOLUME_NAME SUBVOLUME_NAME [--size SIZE_IN_BYTES --group_name SUBVOLUME_GROUP_NAME --pool_layout DATA_POOL_NAME --uid _UID --gid GID --mode OCTAL_MODE]
例
[root@mon ~]# ceph fs subvolume create cephfs sub0 --group_name subgroup0
サブボリュームのスナップショットを作成します。
構文
ceph fs subvolume snapshot create VOLUME_NAME _SUBVOLUME_NAME SNAP_NAME [--group_name SUBVOLUME_GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume snapshot create cephfs sub0 snap0 --group_name subgroup0
クローン操作を開始します。
注記デフォルトでは、クローン作成されたサブボリュームがデフォルトのグループに作成されます。
ソースサブボリュームとターゲットのクローンがデフォルトのグループにある場合は、以下のコマンドを実行します。
構文
ceph fs subvolume snapshot clone VOLUME_NAME SUBVOLUME_NAME SNAP_NAME TARGET_CLONE_NAME
例
[root@mon ~]# ceph fs subvolume snapshot clone cephfs sub0 snap0 clone0
ソースサブボリュームがデフォルト以外のグループにある場合は、以下のコマンドでソース subvolume グループを指定します。
構文
ceph fs subvolume snapshot clone VOLUME_NAME SUBVOLUME_NAME SNAP_NAME TARGET_CLONE_NAME --group_name SUBVOLUME_GROUP_NAME
例
[root@mon ~]# ceph fs subvolume snapshot clone cephfs sub0 snap0 clone0 --group_name subgroup0
ターゲットのクローンがデフォルト以外のグループにある場合は、以下のコマンドでターゲットグループを指定します。
構文
ceph fs subvolume snapshot clone VOLUME_NAME SUBVOLUME_NAME SNAP_NAME TARGET_CLONE_NAME --target_group_name SUBVOLUME_GROUP_NAME
例
[root@mon ~]# ceph fs subvolume snapshot clone cephfs sub0 snap0 clone0 --target_group_name subgroup1
clone 操作のステータスを確認します。
構文
ceph fs clone status VOLUME_NAME CLONE_NAME [--group_name TARGET_GROUP_NAME]
例
[root@mon ~]# ceph fs clone status cephfs clone0 --group_name subgroup1 { "status": { "state": "complete" } }
関連情報
- Red Hat Ceph Storage 管理ガイド の Ceph ユーザーの管理 セクションを参照してください。
4.3.8. ファイルシステムのサブボリュームのスナップショットのリスト表示
このセクションでは、Ceph File システム (CephFS) サブボリュームのスナップショットをリスト表示する手順について説明します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
- サブボリュームのスナップショット。
手順
CephFS サブボリュームのスナップショットをリスト表示します。
構文
ceph fs subvolume snapshot ls VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume snapshot ls cephfs sub0 --group_name subgroup0
4.3.9. ファイルシステムサブボリュームのスナップショットのメタデータの取得。
このセクションでは、Ceph File System (CephFS) サブボリュームのスナップショットのメタデータを取得する手順について説明します。
前提条件
- CephFS がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
- サブボリュームのスナップショット。
手順
CephFS サブボリュームのスナップショットのメタデータを取得します。
構文
ceph fs subvolume snapshot info VOLUME_NAME SUBVOLUME_NAME SNAP_NAME [--group_name SUBVOLUME_GROUP_NAME]
例
[root@mon ~]# ceph fs subvolume snapshot info cephfs sub0 snap0 --group_name subgroup0
出力例
{ "created_at": "2022-05-09 06:18:47.330682", "data_pool": "cephfs_data", "has_pending_clones": "no", "size": 0 }
出力形式は JSON で、以下のフィールドが含まれます。
- created_at: スナップショットの作成時間 ("YYYY-MM-DD HH:MM:SS:ffffff" 形式)。
- data_pool: スナップショットが属するデータプール。
- has_pending_clones: スナップショットの選択が進行中の場合は "yes" そうでなければ "no"。
- サイズ: スナップショットサイズ (バイト単位)。
4.3.10. ファイルシステムのサブボリュームの削除
このセクションでは、Ceph File System (CephFS) サブボリュームを削除する方法を説明します。
ceph fs subvolume rm
コマンドは、2 つのステップでサブボリュームとその内容を削除します。まず、サブボリュームをゴミ箱フォルダーに移動し、そのコンテンツを非同期的にパージします。
サブボリュームは、--retain-snapshots
オプションを使用してサブボリュームの既存のスナップショットを保持できます。スナップショットが保持されると、そのサブボリュームは、保持済みスナップショットが関係するすべての操作に対して空であると見なされます。保持されるスナップショットは、サブボリュームを再作成するクローンソースとして使用するか、新しいサブボリュームにクローンを作成します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- CephFS サブボリューム。
手順
CephFS サブボリュームを削除します。
構文
ceph fs subvolume rm VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME] [--force] [--retain-snapshots]
例
[root@mon ~]# ceph fs subvolume rm cephfs sub0 --group_name subgroup0 --retain-snapshots
保持されるスナップショットからサブボリュームを再作成するには、以下を実行します。
構文
ceph fs subvolume snapshot clone VOLUME_NAME DELETED_SUBVOLUME RETAINED_SNAPSHOT NEW_SUBVOLUME --group_name SUBVOLUME_GROUP_NAME --target_group_name SUBVOLUME_TARGET_GROUP_NAME
- NEW_SUBVOLUMEは、以前に削除された同じサブボリュームにするか、新しいサブボリュームにクローンを作成します。
例
[root@mon ~]# ceph fs subvolume snapshot clone cephfs sub0 snap0 sub1 --group_name subgroup0 --target_group_name subgroup0
4.3.11. ファイルシステムのサブボリュームのスナップショットの削除
このセクションでは、Ceph File System (CephFS) サブボリュームグループのスナップショットを削除する手順について説明します。
--force
フラグを使用すると、コマンドを正常に実行でき、スナップショットが存在しない場合には失敗します。
前提条件
- Ceph File System がデプロイされている稼働中の Red Hat Ceph Storage クラスター。
- Ceph Monitor での少なくとも読み取りアクセス。
- Ceph Manager ノードの読み取りおよび書き込み機能。
- Ceph File System ボリューム。
- サブボリュームグループのスナップショット。
手順
CephFS サブボリュームのスナップショットを削除します。
構文
ceph fs subvolume snapshot rm VOLUME_NAME SUBVOLUME_NAME SNAP_NAME [--group_name GROUP_NAME --force]
例
[root@mon ~]# ceph fs subvolume snapshot rm cephfs sub0 snap0 --group_name subgroup0 --force
関連情報
- Red Hat Ceph Storage 管理ガイド の Ceph ユーザーの管理 セクションを参照してください。