6.4. NFS 프로토콜(Limited Availability)을 통해 Ceph 파일 시스템 네임스페이스 내보내기
Ceph 파일 시스템(CephFS) 네임스페이스는 NFS Ganesha 파일 서버를 사용하여 NFS 프로토콜에서 내보낼 수 있습니다. CephFS 네임스페이스를 내보내려면 먼저 실행 중인 NFS Ganesha 클러스터가 있어야 합니다.
이 기술은 제한적인 가용성입니다. 자세한 내용은 사용 중단된 기능 장을 참조하십시오.
Red Hat은 NFS 버전 4.0 이상만 지원합니다.
NFS 클라이언트는 기본 NFS 마운트를 통해 CephFS 스냅샷을 생성할 수 없습니다. 스냅샷 요구 사항에는 서버 측 Operator 툴링을 사용해야 합니다.
사전 요구 사항
- 실행 중이고 정상적인 Red Hat Ceph Storage 클러스터.
-
ceph nfs cluster create
명령을 사용하여 생성된 NFS 클러스터입니다.
절차
CephFS 내보내기를 생성합니다.
Red Hat Ceph Storage 5.0의 경우 다음과 같이 내보내기를 생성합니다.
구문
ceph nfs export create cephfs FILE_SYSTEM_NAME CLUSTER_NAME BINDING [--readonly] [--path=PATH_WITHIN_CEPHFS]
ceph nfs export create cephfs FILE_SYSTEM_NAME CLUSTER_NAME BINDING [--readonly] [--path=PATH_WITHIN_CEPHFS]
Copy to Clipboard Copied! 예제
[ceph: root@host01 /]# ceph nfs export create cephfs cephfs01 nfs-cephfs /ceph --path=/
[ceph: root@host01 /]# ceph nfs export create cephfs cephfs01 nfs-cephfs /ceph --path=/
Copy to Clipboard Copied! Red Hat Ceph Storage 5.1 이상의 경우 다음과 같이 내보내기를 생성합니다.
구문
ceph nfs export create cephfs CLUSTER_NAME BINDING FILE_SYSTEM_NAME [--readonly] [--path=PATH_WITHIN_CEPHFS]
ceph nfs export create cephfs CLUSTER_NAME BINDING FILE_SYSTEM_NAME [--readonly] [--path=PATH_WITHIN_CEPHFS]
Copy to Clipboard Copied! 예제
[ceph: root@host01 /]# ceph nfs export create cephfs nfs-cephfs /ceph cephfs01 --path=/
[ceph: root@host01 /]# ceph nfs export create cephfs nfs-cephfs /ceph cephfs01 --path=/
Copy to Clipboard Copied! 이 예에서 BINDING (
/ceph
)은 고유해야 하는 의사 루트 경로와 절대 경로입니다.참고read
only
옵션은 읽기 전용 권한, 기본값은 읽기 및 쓰기 권한으로 경로를 내보냅니다.참고PATH_WITHIN_CEPHFS 는 하위 볼륨일 수 있습니다. 다음 명령을 사용하여 절대 하위 볼륨 경로를 가져올 수 있습니다.
구문
ceph fs subvolume getpath VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
ceph fs subvolume getpath VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
Copy to Clipboard Copied! 예제
[ceph: root@host01 /]# ceph fs subvolume getpath cephfs sub0
[ceph: root@host01 /]# ceph fs subvolume getpath cephfs sub0
Copy to Clipboard Copied!
의사 루트 이름을 기반으로 내보내기 블록을 확인합니다.
구문
ceph nfs export get CLUSTER_NAME BINDING
ceph nfs export get CLUSTER_NAME BINDING
Copy to Clipboard Copied! 예제
[ceph: root@host01 /]# ceph nfs export get nfs-cephfs /ceph { "export_id": 1, "path": "/", "cluster_id": "nfs-cephfs", "pseudo": "/ceph", "access_type": "RW", "squash": "no_root_squash", "security_label": true, "protocols": [ 4 ], "transports": [ "TCP" ], "fsal": { "name": "CEPH", "user_id": "cephnfs11", "fs_name": "cephfs", "sec_label_xattr": "" }, "clients": [] }
[ceph: root@host01 /]# ceph nfs export get nfs-cephfs /ceph { "export_id": 1, "path": "/", "cluster_id": "nfs-cephfs", "pseudo": "/ceph", "access_type": "RW", "squash": "no_root_squash", "security_label": true, "protocols": [ 4 ], "transports": [ "TCP" ], "fsal": { "name": "CEPH", "user_id": "cephnfs11", "fs_name": "cephfs", "sec_label_xattr": "" }, "clients": [] }
Copy to Clipboard Copied! NFS 내보내기를 나열합니다.
구문
ceph nfs export ls CLUSTER_NAME [--detailed]
ceph nfs export ls CLUSTER_NAME [--detailed]
Copy to Clipboard Copied! 예제
[ceph: root@host01 /]# ceph nfs export ls nfs-cephfs [ "/ceph/" ] [ceph: root@host01 /]# ceph nfs export ls nfs-cephfs --detailed [ { "export_id": 100, "path": "/", "cluster_id": "nfs-cephfs", "pseudo": "/ceph/", "access_type": "RW", "squash": "no_root_squash", "security_label": true, "protocols": [ 4 ], "transports": [ "TCP" ], "fsal": { "name": "CEPH", "user_id": "nfstest01", "fs_name": "cephfs", "sec_label_xattr": "" }, "clients": [] } ]
[ceph: root@host01 /]# ceph nfs export ls nfs-cephfs [ "/ceph/" ] [ceph: root@host01 /]# ceph nfs export ls nfs-cephfs --detailed [ { "export_id": 100, "path": "/", "cluster_id": "nfs-cephfs", "pseudo": "/ceph/", "access_type": "RW", "squash": "no_root_squash", "security_label": true, "protocols": [ 4 ], "transports": [ "TCP" ], "fsal": { "name": "CEPH", "user_id": "nfstest01", "fs_name": "cephfs", "sec_label_xattr": "" }, "clients": [] } ]
Copy to Clipboard Copied! NFS 내보내기에 대한 정보를 가져옵니다.
구문
ceph nfs export info CLUSTER_NAME [PSEUDO_PATH]
ceph nfs export info CLUSTER_NAME [PSEUDO_PATH]
Copy to Clipboard Copied! 예제
[ceph: root@host01 /]# ceph nfs export info nfs-cephfs /ceph { "export_id": 1, "path": "/", "cluster_id": "nfs-cephfs", "pseudo": "/ceph", "access_type": "RW", "squash": "none", "security_label": true, "protocols": [ 4 ], "transports": [ "TCP" ], "fsal": { "name": "CEPH", "user_id": "nfs.nfs-cephfs.1", "fs_name": "cephfs" }, "clients": [] }
[ceph: root@host01 /]# ceph nfs export info nfs-cephfs /ceph { "export_id": 1, "path": "/", "cluster_id": "nfs-cephfs", "pseudo": "/ceph", "access_type": "RW", "squash": "none", "security_label": true, "protocols": [ 4 ], "transports": [ "TCP" ], "fsal": { "name": "CEPH", "user_id": "nfs.nfs-cephfs.1", "fs_name": "cephfs" }, "clients": [] }
Copy to Clipboard Copied! 클라이언트 호스트에서 내보낸 Ceph 파일 시스템을 마운트합니다.
구문
mount -t nfs -o port=GANESHA_PORT HOST_NAME:BINDING LOCAL_MOUNT_POINT
mount -t nfs -o port=GANESHA_PORT HOST_NAME:BINDING LOCAL_MOUNT_POINT
Copy to Clipboard Copied! 예제
mount -t nfs -o port=2049 host01:/ceph/ /mnt/nfs-cephfs
[root@client01 ~]# mount -t nfs -o port=2049 host01:/ceph/ /mnt/nfs-cephfs
Copy to Clipboard Copied! 부팅 시 자동으로 마운트하려면 새 행을 추가하여
/etc/fstab
파일을 열고 편집합니다.구문
HOST_NAME:BINDING LOCAL_MOUNT_POINT nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
HOST_NAME:BINDING LOCAL_MOUNT_POINT nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
Copy to Clipboard Copied! 예제
host01:/ceph/ /mnt/nfs-cephfs nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
host01:/ceph/ /mnt/nfs-cephfs nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
Copy to Clipboard Copied!
클라이언트 호스트에서
수신
서비스로 생성된 내보낸 NFS Ceph 파일 시스템을 마운트하려면 다음을 수행합니다.구문
mount -t nfs VIRTUAL_IP_ADDRESS:BINDING LOCAL_MOUNT_POINT
mount -t nfs VIRTUAL_IP_ADDRESS:BINDING LOCAL_MOUNT_POINT
Copy to Clipboard Copied! -
VIRTUAL_IP_ADDRESS 를 NFS 클러스터를 생성하는 데 사용되는
--ingress
--virtual-ip
IP 주소로 교체합니다. - BIND 를 의사 루트 경로로 교체합니다.
LOCAL_MOUNT_POINT 를 내보내기를 마운트 지점으로 바꿉니다.
예제
mount -t nfs 10.10.128.75:/nfs-cephfs /mnt
[root@client01 ~]# mount -t nfs 10.10.128.75:/nfs-cephfs /mnt
Copy to Clipboard Copied! 이 예에서는 마운트 지점
/mnt
의--ingress --virtual-ip 10.10.128.75
로 생성된 NFS 클러스터에 존재하는 내보내기nfs-cephfs
를 마운트합니다.
-
VIRTUAL_IP_ADDRESS 를 NFS 클러스터를 생성하는 데 사용되는