5.9. NFS-Ganesha 게이트웨이 설치

Ceph NFS Ganesha 게이트웨이는 Ceph 개체 게이트웨이 상단에 구축된 NFS 인터페이스로, 파일 시스템 내의 파일을 Ceph Object Storage로 마이그레이션하기 위해 Ceph Object Gateway에 POSIX 파일 시스템 인터페이스를 제공합니다.

사전 요구 사항

  • 활성 + 클린 상태의 실행 중인 Ceph 스토리지 클러스터.
  • Ceph Object Gateway를 실행하는 하나 이상의 노드입니다.
  • NFS-Ganesha를 실행하기 전에 NFS-Ganesha를 실행할 호스트에서 실행 중인 커널 NFS 서비스 인스턴스를 비활성화합니다. 다른 NFS 인스턴스가 실행 중인 경우 NFS-Ganesha가 시작되지 않습니다.

*암호 없는 SSH 액세스를 활성화합니다.

  • NetNamespacebind 서비스가 실행 중인지 확인합니다.

    # systemctl start rpcbind
    참고

    NetNamespacebind를 제공하는 NetNamespacebind 패키지는 일반적으로 기본적으로 설치됩니다. 그렇지 않은 경우 먼저 패키지를 설치합니다.

  • nfs-service 서비스가 실행 중인 경우 이를 중지하고 비활성화합니다.

    # systemctl stop nfs-server.service
    # systemctl disable nfs-server.service

절차

Ansible 관리 노드에서 다음 작업을 수행합니다.

  1. 샘플 파일에서 nfss.yml 파일을 생성합니다.

    [root@ansible ~]# cd /usr/share/ceph-ansible/group_vars
    [root@ansible ~]# cp nfss.yml.sample nfss.yml
  2. [nfss] 그룹의 /etc/ansible/hosts 파일에 게이트웨이 호스트를 추가하여 Ansible에 대한 그룹 멤버십을 식별합니다.

    [nfss]
    NFS_HOST_NAME_1
    NFS_HOST_NAME_2
    NFS_HOST_NAME[3..10]

    호스트에 순차적인 이름 지정자가 있는 경우 범위 지정자(예: [3..10] )를 사용할 수 있습니다.

  3. Ansible 구성 디렉터리로 이동합니다.

    [root@ansible ~]# cd /usr/share/ceph-ansible
  4. 관리자 키를 Ceph Object Gateway 노드에 복사하려면 /usr/share/ceph-ansible/group_vars/nfss.yml 파일에서 copy_admin_key 설정의 주석을 제거하십시오.

    copy_admin_key: true
  5. /usr/share/ceph-ansible/group_vars/nfss.yml 파일의 FSAL(File System Abstraction Layer) 섹션을 구성합니다. 내보내기 ID(NUMERIC_EXPORT_ID), S3 사용자 ID(S3_USER), S3 액세스 키(ACCESS_KEY) 및 시크릿 키(SECRET_KEY)를 제공합니다.

    # FSAL RGW Config #
    
    ceph_nfs_rgw_export_id: NUMERIC_EXPORT_ID
    #ceph_nfs_rgw_pseudo_path: "/"
    #ceph_nfs_rgw_protocols: "3,4"
    #ceph_nfs_rgw_access_type: "RW"
    ceph_nfs_rgw_user: "S3_USER"
    ceph_nfs_rgw_access_key: "ACCESS_KEY"
    ceph_nfs_rgw_secret_key: "SECRET_KEY"
    주의

    액세스 및 시크릿 키는 선택 사항이며 생성할 수 있습니다.

  6. Ansible Playbook을 실행합니다.

    1. 베어 메탈 배포:

      [ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit nfss -i hosts
    2. 컨테이너 배포:

      [ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit nfss -i hosts