4.3. Ceph 파일 시스템 하위 볼륨
스토리지 관리자는 절대 경로를 생성, 나열, 가져오기, 메타데이터 가져오기, Ceph 파일 시스템(CephFS) 하위 볼륨을 제거할 수 있습니다. 또한 이러한 하위 볼륨의 스냅샷을 생성, 나열 및 제거할 수도 있습니다. CephFS 하위 볼륨은 독립 Ceph File Systems 디렉터리 트리에 대한 추상화입니다.
이 섹션에서는 다음을 수행하는 방법에 대해 설명합니다.
4.3.1. 파일 시스템 하위 볼륨 생성
이 섹션에서는 Ceph 파일 시스템(CephFS) 하위 볼륨을 생성하는 방법에 대해 설명합니다.
하위 볼륨을 생성할 때 하위 볼륨 그룹, 데이터 풀 레이아웃, uid, gid, 8진수 숫자의 파일 모드를 바이트 단위로 지정할 수 있습니다. 하위 볼륨은 --namespace-isolated
옵션을 지정하여 별도의 RADOS 네임스페이스에 생성할 수 있습니다. 기본적으로 하위 볼륨은 기본 하위 볼륨 그룹 내에 생성되며, 8진수 파일 모드 '755', subvolume 그룹의 uid, subvolume 그룹의 경우 gid, 상위 디렉터리의 데이터 풀 레이아웃, 크기 제한은 없습니다.
사전 요구 사항
- Ceph 파일 시스템이 배포된 작동 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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
이 명령은 하위 볼륨이 이미 있는 경우에도 성공합니다.
4.3.2. 파일 시스템 하위 볼륨 나열
이 섹션에서는 Ceph File System(CephFS) 하위 볼륨을 나열하는 단계에 대해 설명합니다.
사전 요구 사항
- Ceph 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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
플래그는 하위 볼륨이 현재 사용된 하위 볼륨의 크기를 축소하지 않도록 합니다. 하위 볼륨은 inf
또는 new_size로 무한대로 전달하여
.
무한
크기로 조정할 수 있습니다
사전 요구 사항
- Ceph 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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 파일 시스템(CephFS) 하위 볼륨의 절대 경로를 가져오는 방법을 설명합니다.
사전 요구 사항
- Ceph 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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".
-
플레이버: 하위 볼륨 버전, 버전 2의 경우
1
또는2
의 경우 1입니다. - GID: 하위 볼륨 경로의 그룹 ID입니다.
- mode: 하위 볼륨 경로 모드입니다.
- mon_addrs: 모니터 주소 목록.
- mtime: "YYYY-MM-DD HH:MM:SS" 형식의 하위 볼륨 경로 수정 시간.
- Path (경로): 하위 볼륨의 절대 경로입니다.
- pool_namespace: 하위 볼륨의 RADOS 네임스페이스입니다.
- state: subvolume의 현재 상태(예: "완전" 또는 "snapshot-retained").
- type: clone 또는 subvolume인지 여부를 나타내는 하위 볼륨 유형입니다.
- UID: 하위 볼륨 경로의 사용자 ID입니다.
4.3.6. 파일 시스템 하위 볼륨 스냅샷 생성
이 섹션에서는 Ceph File System(CephFS) 하위 볼륨의 스냅샷을 생성하는 방법을 보여줍니다.
사전 요구 사항
- Ceph 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- Ceph Manager 노드의 읽기 및 쓰기 기능.
스냅샷을 생성하거나 삭제하려면, 읽기 및 쓰기 기능 외에도 클라이언트에는 파일 시스템 내의 디렉터리 경로에
플래그
가 필요합니다.구문
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] key = AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== caps mds = "allow rw, allow rws path=/bar" caps mon = "allow r" caps osd = "allow rw tag cephfs data=cephfs_a"
위의 예에서
client.0
은 파일 시스템cephfs_a
의bar
디렉토리에 스냅샷을 생성하거나 삭제할 수 있습니다.
절차
Ceph 파일 시스템(CephFS) 볼륨을 생성합니다.
구문
ceph fs volume create VOLUME_NAME
예제
[root@mon ~]# ceph fs volume create cephfs
이렇게 하면 CephFS 파일 시스템, 해당 데이터 및 메타데이터 풀이 생성됩니다.
하위 볼륨 그룹을 생성합니다. 기본적으로 하위 볼륨 그룹은 8진수 파일 모드 '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
하위 볼륨을 생성합니다. 기본적으로 하위 볼륨은 기본 하위 볼륨 그룹 내에 생성되며, 8진수 파일 모드 '755', subvolume 그룹의 uid, subvolume 그룹의 경우 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
복제 작업을 시작합니다.
참고기본적으로 복제된 하위 볼륨은 default 그룹에 생성됩니다.
source 하위 볼륨과 대상 복제가 default 그룹에 있는 경우 다음 명령을 실행합니다.
구문
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
기본이 아닌 그룹에 source 하위 볼륨이 있는 경우 다음 명령에서 source 하위 볼륨 그룹을 지정합니다.
구문
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
복제 작업의 상태를 확인합니다.
구문
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 파일 시스템(CephFS) 하위 볼륨의 스냅샷을 나열하는 단계를 설명합니다.
사전 요구 사항
- Ceph 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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 파일 시스템(CephFS) 하위 볼륨의 스냅샷에 대한 메타데이터를 가져오는 단계를 제공합니다.
사전 요구 사항
- CephFS가 배포된 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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: 스냅샷 복제본이 진행 중인 경우 "예"
- size: 스냅샷 크기(바이트)입니다.
4.3.10. 파일 시스템 하위 볼륨 제거
이 섹션에서는 Ceph File System(CephFS) 하위 볼륨을 제거하는 단계를 설명합니다.
ceph fs subvolume rm
명령은 하위 볼륨과 해당 콘텐츠를 두 단계로 제거합니다. 먼저 하위 볼륨을 휴지통 폴더로 이동한 다음 해당 콘텐츠를 비동기적으로 제거합니다.
하위 볼륨은 --retain-snapshots
옵션을 사용하여 하위 볼륨의 기존 스냅샷을 유지하여 제거할 수 있습니다. 스냅샷이 유지되면 유지된 스냅샷이 포함되지 않은 모든 작업에 하위 볼륨이 비어 있는 것으로 간주됩니다. 보존된 스냅샷을 복제 소스로 사용하여 하위 볼륨을 다시 생성하거나 최신 하위 볼륨에 복제할 수 있습니다.
사전 요구 사항
- Ceph 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- 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 파일 시스템이 배포된 사용 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터에서 최소한 읽기 액세스 권한.
- Ceph Manager 노드의 읽기 및 쓰기 기능.
- Ceph 파일 시스템 볼륨.
- 하위 볼륨 그룹의 스냅샷입니다.
절차
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