11.5. HA용 독립 실행형 CephFS/NFS 클러스터 업그레이드
스토리지 관리자는 기존 NFS 서비스에 Ingress
서비스를 배포하여 독립 실행형 스토리지 클러스터를 HA(고가용성) 클러스터로 업그레이드할 수 있습니다.
사전 요구 사항
- 기존 NFS 서비스가 있는 실행 중인 Red Hat Ceph Storage 클러스터입니다.
- 호스트가 클러스터에 추가됩니다.
- 모든 manager, monitor, OSD 데몬이 배포됩니다.
- NFS 모듈이 활성화되었는지 확인합니다.
프로세스
Cephadm 쉘에 로그인합니다.
예제
[root@host01 ~]# cephadm shell
기존 NFS 클러스터를 나열합니다.
예제
[ceph: root@host01 /]# ceph nfs cluster ls mynfs
참고하나의 노드에서 독립 실행형 NFS 클러스터가 생성된 경우 HA의 두 개 이상의 노드로 늘려야 합니다. NFS 서비스를 늘리려면
nfs.yaml
파일을 편집하고 동일한 포트 번호로 배치를 늘립니다.NFS 서비스에 할당하는 호스트 수는 배포하도록 요청하는 활성 NFS 서버 수보다 커야 합니다.
placement: count
매개 변수로 지정됩니다.구문
service_type: nfs service_id: SERVICE_ID placement: hosts: - HOST_NAME_1 - HOST_NAME_2 count: COUNT spec: port: PORT_NUMBER
예
service_type: nfs service_id: mynfs placement: hosts: - host02 - host03 count: 1 spec: port: 12345
이 예에서 기존 NFS 서비스는 포트
12345
에서 실행 중이며 동일한 포트가 있는 NFS 클러스터에 추가 노드가 추가됩니다.nfs.yaml
서비스 사양 변경 사항을 적용하여 두 개의 노드 NFS 서비스로 업그레이드합니다.예
[ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml
기존 NFS 클러스터 ID로
ingress.yaml
사양 파일을 편집합니다.구문
service_type: SERVICE_TYPE service_id: SERVICE_ID placement: count: PLACEMENT spec: backend_service: SERVICE_ID_BACKEND 1 frontend_port: FRONTEND_PORT monitor_port: MONITOR_PORT 2 virtual_ip: VIRTUAL_IP_WITH_CIDR
예제
service_type: ingress service_id: nfs.mynfs placement: count: 2 spec: backend_service: nfs.mynfs frontend_port: 2049 monitor_port: 9000 virtual_ip: 10.10.128.75/22
수신 서비스를 배포합니다.
예제
[ceph: root@host01 /]# ceph orch apply -i ingress.yaml
참고NFS 데몬 및 수신 서비스의 배포는 비동기적이며 서비스가 완전히 시작되기 전에 명령이 반환될 수 있습니다.
수신 서비스가 성공적으로 시작되었는지 확인합니다.
구문
ceph orch ls --service_name=ingress.nfs.CLUSTER_ID
예제
[ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.mynfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT ingress.nfs.mynfs 10.10.128.75:2049,9000 4/4 4m ago 22m count:2
검증
IP 끝점, 개별 NFS 데몬의 IP,
Ingress 서비스의 가상 IP를
확인합니다.구문
ceph nfs cluster info CLUSTER_NAME
예
[ceph: root@host01 /]# ceph nfs cluster info mynfs { "mynfs": { "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.mynfs.host01.ruyyhq host01 *:2049,9000 running (27m) 6m ago 34m 9.85M - 2.2.19-7ea3822 5e6a41d77b38 328d27b3f706 haproxy.nfs.mynfs.host02.ctrhha host02 *:2049,9000 running (34m) 6m ago 34m 4944k - 2.2.19-7ea3822 5e6a41d77b38 4f4440dbfde9 keepalived.nfs.mynfs.host01.fqgjxd host01 running (27m) 6m ago 34m 31.2M - 2.1.5 18fa163ab18f 0e22b2b101df keepalived.nfs.mynfs.host02.fqzkxb host02 running (34m) 6m ago 34m 17.5M - 2.1.5 18fa163ab18f c1e3cc074cf8 nfs.mynfs.0.0.host02.emoaut host02 *:12345 running (37m) 6m ago 37m 82.7M - 3.5 91322de4f795 2d00faaa2ae5 nfs.mynfs.1.0.host03.nsxcfd host03 *:12345 running (37m) 6m ago 37m 81.1M - 3.5 91322de4f795 d4bda4074f17