vSAN Upgrade case – RAID0 is not certified with later version of ESXi

안녕하세요. 새해 복 많이 받으시기 바랍니다.

댓글로 문의주신 내용이 있어서, 댓글로 달까 하다가 아에 그냥 별도의 Post 로 작성합니다.

http://byounghee.me/2018/12/25/large-vsan-cluster-support-more-than-32-hosts/#comment-131

댓글은 위와 같구요 내용은 이렇습니다.

HPE P440AR Controller + RAID0 로 구성된 환경이며, ESXi 를 업그레이드 할려고 보니, 6.5 이상버전에서는 RAID0 는 Certified 되있지 않더라 라는 내용입니다. 현재 사용중이신 버전이 어떤것인지는 모르겠지만 아마도 6.0 U2 내지는 U3 로 생각됩니다. vSAN 이면 6.2 라고 볼 수 있겠죠.

vSAN 호환성 확인을 해보니 실제로 P440ar 컨트롤러는 6.5 부터는 pass-through 에 대해서만 Certified 된 것으로 나옵니다. 이게 안타깝지만, HPE 쪽에서 pass-through 에 대해서만 호환성 테스트를 한것이라, VMware 입장에서는 어떻게 할 방법이 없기도 합니다.

그럼 이러한 케이스에서 업그레이드 진행은 어떻게 해야할지 한번 생각해봤습니다. 두가지 옵션 정도가 있을텐데요, 지원하시는 엔지니어입장에서는 둘다 고통스런 과정이 될 것 같습니다. ESXi 6.5 U2 및 vSAN 6.6.2 로 업그레이드 한다는 과정입니다.

Option A (현재 사용하는 P440ar 의 Driver/firmware 버전이 RAID0 및 pass-through 둘다 Certified 된 경우)

  1. ESXi 를 Maintenance Mode 로 진입 (Full Migration 옵션으로)
  2. 해당 호스트에 현재 생성되어있는 Disk group 제거
  3. RAID0 로 구성된 디스크를 Pass-through 로 변경
  4. 변경 후 Disk group 재생성
  5. 모든 호스트의 작업이 모드 변경 작업이 끝나면 ESXi upgrade 진행
  6. 마지막으로 ondisk format upgrade 진행

요약하면, 업그레이드 하기전에 pass-through 로 변경하는 것입니다.

Option B

  1. ESXi upgrade 진행
  2. https://kb.vmware.com/s/article/2146221 를 참조하여, ondisk format version parameter 변경
  3. ESXi 를 Maintenance Mode 로 진입 (Full Migration 옵션으로)
  4. Disk group 제거
  5. RAID0 로 구성된 디스크를 Pass-through 로 변경
  6. 변경 후 Disk group 재생성
  7. 마지막으로 ondisk format upgrade 진행

ESXi 업그레이드를 먼저 하는 방법입니다. 스텝이 약간 다른데요, 2번 스텝이 추가된 이유는 ESXi 의 버전을 올린상태에서 디스크 그룹을 생성하면 vSAN 6.6.2 가 사용하는 ondisk format version 으로 생성되기 때문에, 이걸 막기 위한 작업입니다. ondisk format 의 버전을 기존버전과 동일하게 유지하도록 조절하는 것입니다. 그리고 나서 ondisk format upgrade 를 진행합니다.

두작업 모두 유의해야될 내용은 마지막 ondisk format upgrade 를 하기전까지는 diskgroup 의 버전을 호스트마다 동일하게 유지하도록 유지해야합니다.

그리고 Full Migration 으로 작업하는 이유는 Disk group 의 재생성이 필요하기 때문에 혹시나 모를 상황에 대비하여 안전장치를 가져가기위함입니다. (더블폴트 대비용)

참고로 저라면 Option A 로 작업하겠습니다. 

만약 ESXi upgrade 를 먼저 하고 나중에 RAID0 를 pass-through 로 변경하겠다 라는 생각이 있으시다면, 해당 구성은 not supported 라는것을 명심해두시기 바랍니다. 위의 Option B 도 Upgrade 때에만 잠시 RAID0 로 쓰는것이다 라는 전제가 필요합니다.