1장. NFS를 통한 CephFS를 사용한 공유 파일 시스템 서비스
NFS를 통해 Ceph 파일 시스템(CephFS)이 포함된 Shared File Systems 서비스(manila)를 사용하면 블록 및 개체 스토리지에 사용하는 동일한 Ceph 클러스터를 사용하여 NFS 프로토콜을 통해 파일 공유를 제공할 수 있습니다. 자세한 내용은 스토리지 가이드의 공유 파일 시스템 서비스를 참조하십시오.
Red Hat OpenStack Platform에 대한 전체 문서 제품군은 Red Hat OpenStack Platform 문서를 참조하십시오.
RHOSP(Red Hat OpenStack Platform) RHOSP 16.0 이상에서는 CephFS를 통한 NFS를 통한 공유 파일 시스템 서비스가 Red Hat Ceph Storage 버전 4.1 이상에서 지원됩니다. 시스템에 설치된 Ceph Storage 버전을 결정하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 릴리스 및 해당 Ceph 패키지 버전을 참조하십시오.
CephFS는 통합 분산 스토리지 플랫폼인 Ceph의 확장성이 뛰어난 오픈 소스 분산 파일 시스템 구성 요소입니다. Ceph는 RADOS(Reliable Autonomic Distributed Object Store)를 사용하여 오브젝트, 블록 및 파일 스토리지를 구현합니다. POSIX 호환 가능한 CephFS는 Ceph 스토리지 클러스터에 대한 파일 액세스를 제공합니다.
공유 파일 시스템 서비스를 사용하여 CephFS에 공유를 생성하고 NFS-Ganesha를 통해 NFS 4.1로 액세스할 수 있습니다. NFS-Ganesha는 공유에 대한 액세스를 제어하고 NFS 4.1 프로토콜을 통해 클라이언트로 내보냅니다. 공유 파일 시스템 서비스는 RHOSP(Red Hat OpenStack Platform) 내에서 이러한 공유의 라이프사이클을 관리합니다. 클라우드 관리자가 NFS를 통해 CephFS를 사용하도록 서비스를 구성하는 경우, 이러한 파일 공유는 CephFS 클러스터에서 제공되지만 친숙한 NFS 공유로 생성 및 액세스됩니다.
자세한 내용은 스토리지 가이드의 공유 파일 시스템 서비스를 참조하십시오.
1.1. Ceph 파일 시스템 아키텍처 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 파일 시스템(CephFS)은 NFS v4 프로토콜(지원) 또는 CephFS 기본 드라이버를 사용하여 NFS-Ganesha와 함께 사용할 수 있는 분산 파일 시스템입니다.
1.1.1. 기본 드라이버가 있는 CephFS 링크 복사링크가 클립보드에 복사되었습니다!
CephFS 기본 드라이버는 OpenStack Shared File Systems 서비스(manila)와 Red Hat Ceph Storage를 결합합니다. RHOSP(Red Hat OpenStack) director를 사용하는 경우 컨트롤러 노드는 관리자, 메타데이터 서버(MDS), 모니터(MON) 및 공유 파일 시스템 서비스와 같은 Ceph 데몬을 호스팅합니다.
계산 노드는 하나 이상의 프로젝트를 호스팅할 수 있습니다. 다음 그래픽에 표시된 프로젝트(구 테넌트)에는 두 개의 NIC가 있는 회색 상자로 표시되는 사용자 관리 VM이 포함되어 있습니다. ceph 및 manila 데몬 프로젝트에 액세스하려면 공용 Ceph 스토리지 네트워크를 통해 데몬에 연결합니다. 이 네트워크에서 Ceph OSD(오브젝트 스토리지 데몬)에서 제공하는 스토리지 노드의 데이터에 액세스할 수 있습니다. 프로젝트 부팅 시 호스팅되는 인스턴스(VM)는 두 개의 NIC(스토리지 프로바이더 네트워크 전용)와 외부 프로바이더 네트워크의 프로젝트 소유 라우터 전용입니다.
스토리지 프로바이더 네트워크는 프로젝트에서 실행되는 VM을 공용 Ceph 스토리지 네트워크에 연결합니다. Ceph 공용 네트워크는 Ceph 오브젝트 스토리지 노드, 메타데이터 서버(MDS) 및 컨트롤러 노드에 대한 백엔드 액세스를 제공합니다.
기본 드라이버를 사용하여 CephFS는 클라이언트 및 서버와 협력하여 할당량을 적용하고 프로젝트 격리를 보장하며 보안을 보장합니다. 기본 드라이버를 사용하는 CephFS는 신뢰할 수 있는 최종 사용자가 프라이빗 클라우드에 있는 환경에서 원활하게 작동합니다. 이 구성을 사용하려면 사용자 제어 하에서 실행되고 있는 소프트웨어가 올바르게 작동해야 합니다.
1.1.2. NFS를 통한 CephFS 링크 복사링크가 클립보드에 복사되었습니다!
Shared File Systems 서비스(manila)의 NFS 백엔드를 통한 CephFS는 Ceph 메타데이터 서버(MDS), NFS 게이트웨이(NFS-Ganesha)를 통한 CephFS 및 Ceph 클러스터 서비스 구성 요소로 구성됩니다. 공유 파일 시스템 서비스 CephFS NFS 드라이버는 NFS-Ganesha 게이트웨이를 사용하여 NFSv4 프로토콜 액세스를 CephFS 공유에 제공합니다. Ceph MDS 서비스는 파일 시스템의 디렉터리와 파일 이름을 RADOS 클러스터에 저장된 개체에 매핑합니다. NFS 게이트웨이는 Ceph와 같은 다양한 스토리지 백엔드를 사용하여 NFS 파일 공유를 제공할 수 있습니다. NFS-Ganesha 서비스는 Ceph 서비스를 사용하여 컨트롤러 노드에서 실행됩니다.
인스턴스는 두 개 이상의 NIC로 부팅됩니다. 하나의 NIC는 프로젝트 라우터에 연결하고 두 번째 NIC는 NFS-Ganesha 게이트웨이에 직접 연결하는 StorageNFS 네트워크에 연결됩니다. 인스턴스에서 NFS 프로토콜을 사용하여 공유를 마운트합니다. Ceph OSD 노드에서 호스팅되는 CephFS 공유는 NFS 게이트웨이를 통해 제공됩니다.
NFS-Ganesha는 사용자 인스턴스가 MDS 및 기타 Ceph 서비스에 직접 액세스하지 못하도록 설정하여 보안을 향상시킵니다. 인스턴스에 Ceph 데몬에 직접 액세스할 수 없습니다.
ce-client-access-CephFS-architect']
1.1.2.1. Ceph 서비스 및 클라이언트 액세스 링크 복사링크가 클립보드에 복사되었습니다!
Ceph가 오브젝트 및 블록 스토리지를 제공할 때 배포된 모니터, OSD, Rados 게이트웨이(RGW) 및 관리자 서비스 외에도 CephFS에 Ceph 메타데이터 서비스(MDS)가 필요하며 NFS 프로토콜을 사용하여 기본 CephFS에 대한 게이트웨이로 NFS-Ganesha 서비스가 필요합니다. 사용자를 향한 오브젝트 스토리지의 경우 RGW 서비스도 배포됩니다. 게이트웨이는 CephFS 클라이언트를 실행하여 Ceph 공용 네트워크에 액세스하며, 최종 사용자가 제어하는 대신 관리 중입니다.
NFS-Ganesha는 Ceph 공용 네트워크와 격리된 새로운 StorageNFS 네트워크로 인터페이스하는 자체 컨테이너에서 실행됩니다. RHOSP(Red Hat OpenStack Platform) director의 구성 가능한 네트워크 기능은 이 네트워크를 배포하고 이를 컨트롤러 노드에 연결합니다. 클라우드 관리자는 네트워크를 네트워킹(neutron) 프로바이더 네트워크로 구성할 수 있습니다.
NFS-Ganesha는 Ceph 공용 네트워크를 통해 CephFS에 액세스하고 StorageNFS 네트워크의 주소를 사용하여 NFS 서비스를 바인딩합니다.
NFS 공유에 액세스하려면 스토리지 NFS 네트워크에 연결된 추가 NIC를 사용하여 사용자 VM, 계산(nova) 인스턴스를 프로비저닝합니다. CephFS 공유의 내보내기 위치는 StorageNFS 네트워크에서 NFS-Ganesha 서버 VIP를 사용하는 표준 NFS IP:<path> 로 표시됩니다. 네트워크에서 사용자 VM의 IP 주소를 사용하여 NFS 공유에 대한 액세스 제어를 수행합니다.
네트워킹(neutron) 보안 그룹은 프로젝트 1에 속한 사용자 VM이 StorageNFS 네트워크에서 프로젝트 2에 속하는 사용자 VM에 액세스하지 못하도록 합니다. 프로젝트는 동일한 CephFS 파일 시스템을 공유하지만 사용자 VM은 내보내기 트리 아래 파일에만 액세스할 수 있기 때문에 /path/to/share1/…., /path/to/share2/….
1.1.2.2. NFS 내결함성을 통한 CephFS를 사용한 공유 파일 시스템 서비스 링크 복사링크가 클립보드에 복사되었습니다!
RHOSP(Red Hat OpenStack Platform) director가 Ceph 서비스 데몬을 시작하면 자체 HA(고가용성) 상태를 관리하고 일반적으로 이러한 데몬의 여러 인스턴스가 실행됩니다. 이와 반대로 이번 릴리스에서는 한 번에 하나의 NFS-Ganesha 인스턴스만 파일 공유를 제공할 수 있습니다.
NFS 공유를 통해 CephFS의 데이터 경로에서 단일 장애 지점을 방지하기 위해 NFS-Ganesha는 Pacemaker-Corosync 클러스터에서 관리하는 액티브-패시브 구성의 RHOSP 컨트롤러 노드에서 실행됩니다. NFS-Ganesha는 가상 서비스 IP 주소가 있는 가상 서비스로 컨트롤러 노드에서 작동합니다.
컨트롤러 노드가 실패하거나 특정 컨트롤러 노드의 서비스가 실패하고 해당 노드에서 복구할 수 없는 경우 Pacemaker-Corosync는 동일한 가상 IP 주소를 사용하여 다른 컨트롤러 노드에서 새 NFS-Ganesha 인스턴스를 시작합니다. 기존 클라이언트 마운트는 공유의 내보내기 위치에 가상 IP 주소를 사용하므로 보존됩니다.
기본 NFS 마운트 옵션 설정과 NFS 4.1 이상을 사용하면 TCP 연결이 재설정되고 클라이언트가 다시 연결됩니다. I/O 작업은 장애 조치 중에 일시적으로 응답을 중지하지만 실패하지는 않습니다. 애플리케이션 I/O도 응답을 중지하지만 페일오버가 완료되면 다시 시작됩니다.
새로운 연결, 새로운 잠금 상태 등은 서버가 클라이언트가 잠금을 회수할 때까지 대기하는 최대 90초의 유예 기간이 끝날 때까지 거부됩니다. NFS-Ganesha는 클라이언트 목록을 유지하고 모든 클라이언트가 잠금을 회수할 경우 유예 기간을 조기에 종료합니다.
유예 기간의 기본값은 90초입니다. 이 값을 변경하려면 NFSv4 Grace_Period 구성 옵션을 편집합니다.