11.11. Ceph Orchestrator를 사용하여 사용자 지정 NFS-Ganesha 구성 설정
NFS-Ganesha 클러스터는 기본 구성 블록으로 정의됩니다. Ceph Orchestrator를 사용하면 구성을 사용자 지정할 수 있으며 기본 구성 블록보다 우선합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 호스트는 클러스터에 추가됩니다.
- 모든 관리자, 모니터 및 OSD 데몬이 배포됩니다.
-
mgr/nfs
모듈을 사용하여 생성된 NFS-Ganesha 클러스터입니다.
절차
Cephadm 쉘에 로그인합니다.
예제
[root@host01 ~]# cephadm shell
다음은 NFS-Ganesha 클러스터의 기본 구성의 예입니다.
예제
# {{ cephadm_managed }} NFS_CORE_PARAM { Enable_NLM = false; Enable_RQUOTA = false; Protocols = 4; } MDCACHE { Dir_Chunk = 0; } EXPORT_DEFAULTS { Attr_Expiration_Time = 0; } NFSv4 { Delegations = false; RecoveryBackend = 'rados_cluster'; Minor_Versions = 1, 2; } RADOS_KV { UserId = "{{ user }}"; nodeid = "{{ nodeid}}"; pool = "{{ pool }}"; namespace = "{{ namespace }}"; } RADOS_URLS { UserId = "{{ user }}"; watch_url = "{{ url }}"; } RGW { cluster = "ceph"; name = "client.{{ rgw_user }}"; } %url {{ url }}
NFS-Ganesha 클러스터 구성을 사용자 지정합니다. 다음은 구성을 사용자 지정하는 두 가지 예입니다.
로그 수준을 변경합니다.
예제
LOG { COMPONENTS { ALL = FULL_DEBUG; } }
사용자 정의 내보내기 블록 추가:
사용자를 만듭니다.
참고FSAL 블록에 지정된 사용자는 NFS-Ganesha 데몬에서 Ceph 클러스터에 액세스할 수 있는 적절한 제한이 있어야 합니다.
구문
ceph auth get-or-create client.USER_ID mon 'allow r' osd 'allow rw pool=.nfs namespace=NFS_CLUSTER_NAME, allow rw tag cephfs data=FS_NAME' mds 'allow rw path=EXPORT_PATH'
예제
[ceph: root@host01 /]# ceph auth get-or-create client.f64f341c-655d-11eb-8778-fa163e914bcc mon 'allow r' osd 'allow rw pool=.nfs namespace=nfs_cluster_name, allow rw tag cephfs data=fs_name' mds 'allow rw path=export_path'
다음 디렉터리로 이동합니다.
구문
cd /var/lib/ceph/DAEMON_PATH/
예제
[ceph: root@host01 /]# cd /var/lib/ceph/nfs/
nfs
디렉터리가 없는 경우 경로에 디렉터리를 생성합니다.새 구성 파일을 생성합니다.
구문
touch PATH_TO_CONFIG_FILE
예제
[ceph: root@host01 nfs]# touch nfs-ganesha.conf
사용자 지정 내보내기 블록을 추가하여 구성 파일을 편집합니다. 단일 내보내기를 생성하고 Ceph NFS 내보내기 인터페이스에서 관리합니다.
구문
EXPORT { Export_Id = NUMERICAL_ID; Transports = TCP; Path = PATH_WITHIN_CEPHFS; Pseudo = BINDING; Protocols = 4; Access_Type = PERMISSIONS; Attr_Expiration_Time = 0; Squash = None; FSAL { Name = CEPH; Filesystem = "FILE_SYSTEM_NAME"; User_Id = "USER_NAME"; Secret_Access_Key = "USER_SECRET_KEY"; } }
예제
EXPORT { Export_Id = 100; Transports = TCP; Path = /; Pseudo = /ceph/; Protocols = 4; Access_Type = RW; Attr_Expiration_Time = 0; Squash = None; FSAL { Name = CEPH; Filesystem = "filesystem name"; User_Id = "user id"; Secret_Access_Key = "secret key"; } }
클러스터에 새 구성을 적용합니다.
구문
ceph nfs cluster config set CLUSTER_NAME -i PATH_TO_CONFIG_FILE
예제
[ceph: root@host01 nfs]# ceph nfs cluster config set nfs-ganesha -i /var/lib/ceph/nfs/nfs-ganesha.conf
또한 사용자 지정 구성을 위해 서비스가 다시 시작됩니다.
검증
서비스를 나열합니다.
예제
[ceph: root@host01 /]# ceph orch ls
호스트, 데몬 및 프로세스를 나열합니다.
구문
ceph orch ps --daemon_type=DAEMON_NAME
예제
[ceph: root@host01 /]# ceph orch ps --daemon_type=nfs
사용자 지정 구성을 확인합니다.
구문
/bin/rados -p POOL_NAME -N CLUSTER_NAME get userconf-nfs.CLUSTER_NAME -
예제
[ceph: root@host01 /]# /bin/rados -p nfs-ganesha -N nfsganesha get userconf-nfs.nfsganesha -
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Operations Guide 의 Ceph intendedchestrator를 사용하여 사용자 지정 NFS-Ganesha 구성 재설정 섹션을 참조하십시오.