검색

11.4. CephFS/NFS 서비스용 HA 구현(기술 프리뷰)

download PDF

HA(고가용성) 프런트 엔드, 가상 IP 및 로드 밸런서를 사용하여 NFS를 배포할 수 있습니다. --ingress 플래그를 사용하고 가상 IP 주소를 지정하면 됩니다. 이렇게 하면 keepalivedhaproxy 의 조합을 배포하고 NFS 서비스에 고가용성 NFS 프런트 엔드를 제공합니다.

--ingress 플래그를 사용하여 클러스터를 생성하면 NFS 서버에 부하 분산 및 고가용성을 제공하기 위해 수신 서비스가 추가로 배포됩니다. 가상 IP는 모든 NFS 클라이언트가 마운트에 사용할 수 있는 알려진 안정적인 NFS 엔드포인트를 제공하는 데 사용됩니다. Ceph는 가상 IP의 NFS 트래픽을 적절한 백엔드 NFS 서버로 리디렉션하는 세부 정보를 처리하고 실패할 때 NFS 서버를 재배포합니다.

기존 서비스에 대한 수신 서비스를 배포하면 다음을 수행할 수 있습니다.

  • NFS 서버에 액세스하는 데 사용할 수 있는 안정적인 가상 IP입니다.
  • 여러 NFS 게이트웨이에 부하를 분산합니다.
  • 호스트 장애 발생 시 호스트 간 페일오버.
중요

CephFS/NFS용 HA는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 Red Hat은 해당 기능을 프로덕션용으로 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. 자세한 내용은 Red Hat 기술 프리뷰 기능에 대한 지원 범위를 참조하십시오.

중요

수신 서비스가 NFS 클러스터 앞에 배포되면 백엔드 NFS-ganesha 서버에서 클라이언트의 IP 주소가 아닌 haproxy의 IP 주소를 확인합니다. 결과적으로 IP 주소를 기반으로 클라이언트 액세스를 제한하는 경우 NFS 내보내기에 대한 액세스 제한이 예상대로 작동하지 않습니다.

참고

클라이언트를 제공하는 활성 NFS 서버가 다운되면 활성 NFS 서버를 교체하고 NFS 클러스터가 다시 활성화될 때까지 클라이언트의 I/O가 중단됩니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 호스트가 클러스터에 추가됩니다.
  • 모든 manager, monitor, OSD 데몬이 배포됩니다.
  • NFS 모듈이 활성화되었는지 확인합니다.

프로세스

  1. Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. --ingress 플래그를 사용하여 NFS 클러스터를 생성합니다.

    구문

    ceph nfs cluster create CLUSTER_ID [PLACEMENT] [--port PORT_NUMBER] [--ingress --virtual-ip IP_ADDRESS/CIDR_PREFIX]

    • CLUSTER_ID 를 NFS Ganesha 클러스터의 이름을 지정할 고유한 문자열로 바꿉니다.
    • PLACEMENT 를 배포할 NFS 서버 수와 NFS Ganesha 데몬 컨테이너를 배포하려는 호스트 또는 호스트로 교체합니다.
    • --port PORT_NUMBER 플래그를 사용하여 기본 포트인 12049 이외의 포트에 NFS를 배포합니다.

      참고

      수신 모드에서는 고가용성 프록시가 포트 2049를 사용하고 NFS 서비스는 12049에 배포됩니다.

    • --virtual-ip 플래그와 결합된 --ingress 플래그는 고가용성 프런트 엔드(가상 IP 및 로드 밸런서)를 사용하여 NFS를 배포합니다.
    • --virtual-ip IP_ADDRESS 를 IP 주소로 교체하여 모든 클라이언트가 NFS 내보내기를 마운트하는 데 사용할 수 있는 알려진 안정적인 NFS 끝점을 제공합니다. --virtual-ip 에는 CIDR 접두사 길이를 포함해야 합니다. 가상 IP는 일반적으로 동일한 서브넷에 기존 IP가 있는 첫 번째 식별된 네트워크 인터페이스에서 구성됩니다.

      참고

      NFS 서비스에 할당하는 호스트 수는 배포하도록 요청하는 활성 NFS 서버 수보다 커야 합니다. placement: count 매개 변수로 지정됩니다. 아래 예제에서는 하나의 활성 NFS 서버가 요청되고 두 개의 호스트가 할당됩니다.

      예제

      [ceph: root@host01 /]# ceph nfs cluster create mycephnfs "1 host02 host03" --ingress --virtual-ip 10.10.128.75/22

      참고

      NFS 데몬 및 수신 서비스의 배포는 비동기적이며 서비스가 완전히 시작되기 전에 명령이 반환될 수 있습니다.

  3. 서비스가 성공적으로 시작되었는지 확인합니다.

    구문

    ceph orch ls --service_name=nfs.CLUSTER_ID
    ceph orch ls --service_name=ingress.nfs.CLUSTER_ID

    예제

    [ceph: root@host01 /]# ceph orch ls --service_name=nfs.mycephnfs
    
    NAME           PORTS    RUNNING  REFRESHED  AGE  PLACEMENT
    nfs.mycephnfs  ?:12049      2/2  0s ago     20s  host02;host03
    
    [ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.mycephnfs
    
    NAME                   PORTS                  RUNNING  REFRESHED  AGE  PLACEMENT
    ingress.nfs.mycephnfs  10.10.128.75:2049,9049      4/4   46s ago    73s  count:2

검증

  • IP 끝점, 개별 NFS 데몬의 IP, Ingress 서비스의 가상 IP를 확인합니다.

    구문

    ceph nfs cluster info CLUSTER_NAME

    예제

    [ceph: root@host01 /]# ceph nfs cluster info mycephnfs
    
    {
        "mycephnfs": {
            "virtual_ip": "10.10.128.75",
            "backend": [
                {
                    "hostname": "host02",
                    "ip": "10.10.128.69",
                    "port": 12049
                },
                {
                    "hostname": "host03",
                    "ip": "10.10.128.70",
                    "port": 12049
                }
            ],
            "port": 2049,
            "monitor_port": 9049
        }
    }

  • 호스트 및 프로세스를 나열합니다.

    예제

    [ceph: root@host01 /]# ceph orch ps | grep nfs
    
    haproxy.nfs.cephnfs.host01.rftylv     host01  *:2049,9000  running (11m)    10m ago  11m    23.2M        -  2.2.19-7ea3822   5e6a41d77b38  f8cc61dc827e
    haproxy.nfs.cephnfs.host02.zhtded     host02  *:2049,9000  running (11m)    53s ago  11m    21.3M        -  2.2.19-7ea3822   5e6a41d77b38  4cad324e0e23
    keepalived.nfs.cephnfs.host01.zktmsk  host01               running (11m)    10m ago  11m    2349k        -  2.1.5            18fa163ab18f  66bf39784993
    keepalived.nfs.cephnfs.host02.vyycvp  host02               running (11m)    53s ago  11m    2349k        -  2.1.5            18fa163ab18f  1ecc95a568b4
    nfs.cephnfs.0.0.host02.fescmw         host02  *:12049      running (14m)     3m ago  14m    76.9M        -  3.5              cef6e7959b0a  bb0e4ee9484e
    nfs.cephnfs.1.0.host03.avaddf         host03  *:12049      running (14m)     3m ago  14m    74.3M        -  3.5              cef6e7959b0a  ea02c0c50749

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.