VMware/vSAN

[vSAN] vSAN Cluster 의 종료 및 재 시작

JuneJoon 2022. 9. 8. 11:10

안녕하세요?

작업으로 인한 vSAN Cluster의 전체 종료 작업이 예정되어 있어, 확인한 사항들을 정리면서 공유드리려고 합니다.

 

일반적인 서버-스토리지의 아키텍처에서는 단순히 구동중인 VM을 종료하고, ESXi Host를 내리면 되지만, vSAN으로 구성되어 있을 경우 몇 가지 절차가 더 추가됩니다. 동일하게 VM을 종료하고 모든 ESXi를 NoAcess 모드로 전환하는 방식은 첨부드리는 KB와 같이 데이터의 손실과 같은 심각한 문제가 발생 할 수 있으니, 반드시 다음과 같은 절차로 Cluster의 종료와 재시작을 진행하셔야 합니다.

 

* vSAN 7.0 이상 / 이하일 경우에 따라 고려사항과 진행방식이 다른데요, 이번 포스팅에서는  7.0 버전 이상인 환경에서  작업하는 내용으로 정리하였습니다.

 

1) vSAN 클러스터의 상태를 확인 후 HA와 DRS 서비스를 사용 중이라면, Disable 합니다.

 

2) vSAN Datastore에서 구동 중인 VM을 모두 종료합니다.

(vSAN Datastore에 vCenter Server가 있을 경우, 제외하고 종료합니다.)

 

3) 7.0부터 클러스터 관리하기 위해 생성되는 vCLS(vSphere Cluster Services)의 모드를 Retreat 모드로 변경해줍니다. 

(KB에 다양한 방법이 명시되어 있는데요, 저는 vCenter의 고급설정을 통해 진행하였습니다.)

config.vcls.clusters.domain-c<number>.enabled&nbsp; =&nbsp; False .
값 설정 이후 자동으로 vCLS VM이 삭제되는것을 확인 할 수있습니다.

4) vSAN Datastore의 모든 객체의 상태를 최종적으로 확인합니다.

 

5) vCenter Server VM을 최종적으로 종료합니다. 

환경에 따라 다르겠지만, esxi shell에서 종료하는 것이 일반적이겠습니다.

6) 클러스터에 속한 모든 ESXi에 접속하여 다음 명령어를 입력, vCenter에서 Cluster member Update를 비활성화합니다.

esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates

IgnoreCluster MemberListUpdates 값이 0(False)으로 변경됩니다

 

7) Witness 호스트가 아닌 클러스터의 ESXi에서 하기의 명령어를 입력, 클러스터를 분할합니다. 다수의 ESXi에서 입력할 경우, 경합이 발생할 수 있기 때문에 반드시 ESXi 한쪽에서만 명령어를 입력합니다.

python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare

스크립트가 돌면서 에러가 좀 떨어진것 같지만.. 결과는 잘나왔습니다.

8) 클러스터에 속한 모든 ESXi를 No Action mode의 Maintenance mode로 진입시킨 후 이후 종료/재부팅합니다. 

esxcli system maintenanceMode set -e true -m noAction

 

* 종료 후 재기동 / 재부팅 후에는 역순으로 진행합니다.

 

9) 클러스터에 속한 모든 ESxi의 maintenance mode를 종료합니다.

esxcli system maintenanceMode set -e false

 

10) 마찬가지로, 하나의 호스트에서 하기의  명령어를 입력하여 분할된 호스트들을 결합합니다. 

python /usr/lib/vmware/vsan/bin/reboot_helper.py recover

정상적으로 실행될 경우 다음과 같은 출력 값이 표출됩니다.

 

11) 각각의 호스트에서 다음 커맨드를 통하여 정상적으로 Cluster의 구성 값을 불러오는지 확인합니다.

esxcli vsan cluster get

 

12) 클러스터에 속한 모든 ESXi에 접속하여 다음 명령어를 입력, vCenter에서 Cluster member Update를 활성화합니다.

esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates

IgnoreCluster MemberListUpdates 값이 1(True)으로 변경됩니다.

11) 다시 한번 다음 커맨드를 통하여 정상적으로 Cluster의 구성 값을 불러오는지 확인합니다.

esxcli vsan cluster get

12) vCenter를 기동 후 Retreat Mode를 Disable 합니다.

config.vcls.clusters.domain-c<number>.enabled&nbsp; =&nbsp; False

13) Cluster 내 VM의 기동 및 기존 설정에 따라 HA/DRS를 Enable 합니다.

 

도움이 되었으면 좋겠습니다.

읽어주셔서 감사합니다.

반응형