Bootstrapping vSAN without vCenter

vSAN 을 구축하는 경우, 아무래도 vSAN 을 설정하는 화면이 vCenter 로 접근해야 볼 수 있기 때문에, vCenter 가 있어야 vSAN 설정이 가능한 것으로 이해하시는 경우가 많은데요. 그렇다면 이런 의문을 가지고 계실 수도 있겠습니다.

아무것도 없는 환경에 신규로 vSAN 을 도입하는 경우, 즉 vCenter 도 새로 설치해야 하는 경우에는 어떻게 할 것인가? 여분의 Local VMFS datastore 나 NFS datastore 가 없는 환경에서 어떻게 vSAN 구성전에 어떻게 vCenter 를 구축할 것인가?

당황스러운 부분이 있죠. 이때 사용하는 방법이 Bootstrapping vSAN 입니다. 즉 vCenter 가 없는 상태에서 vSAN 을 구성하는 것입니다. Standalone vSAN 으로 보셔도 되겠네요.

https://vdc-download.vmware.com/vmwb-repository/dcr-public/b5a7ed3b-388b-4baf-9345-f3cc675efa26/8f9e7e36-c473-484a-a762-462e2c557992/VSANTechnote_BootstrappingVSAN_final.pdf 를 통해서도 확인가능하지만, 문서의 버전이 조금 오래되어서 최근버전과 다른 내용이 있어 별도로 내용을 정리하여 보았습니다.

이 내용은 vSAN 6.2 를 기준으로 작성되었습니다. vSAN 6.6 에서는 Native VCSA bootstrapping 을 지원하기 때문에 내용이 좀 다릅니다.

먼저 이번 vSAN 구성에 사용된 하드웨어 정보부터 소개하도록 하겠습니다.

HP DL360 G7 x 3EA

호스트당 48GB 메모리, CPU 는 E5560 과 L5520 으로 구성

NIC : onboard NIC 4포트

Storage Controller : P410i (RAID 0) -> Pass-through 지원안함.

참고로 P410i 은 vSAN 환경에서 certified 되어있지 않습니다만, LAB 환경이기 때문에 그냥 사용하는 것임으로 감안하시기 바랍니다. Production 환경에서는 사용하시면 안되겠죠. 호환성 가이드에 관한 게시물은 이전 포스트를 참조하여 주십시오.

호스트당 120GB SSD x 1, 500GB SATA x 2 (SATA Drive 는 vSAN 6.0 이후버전부터는 Certified 되지 않았기 때문에 사용하시면 안됩니다.)

ESXi 를 설치하는 과정은 Skip 하겠습니다. ESXi 가 설치 이후의 과정입니다.

Logical Drive 작업 (Pass-through 라면 필요하지 않습니다.)

  • 현재 Drive 상태 확인 – /opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 pd all show
  • 기존에 사용했었던 Drive 이기 때문에 Logical Drive 가 남아있는 것이 확인됨.

 

  • Logical Drive 삭제 – /opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 ld 1 delete forced
  • 다시 확인 – /opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 pd all show

  • 다른 커맨드를 이용하여 다시한번 확인 – /opt/smartstorageadmin/ssacli/bin/ssacli ctrl show config

확인이 되었으면, 새로운 Logical Drive 생성, 여기서 caching=disable 을 하는 이유는, vSAN 에서는 SSD 를 cache-tier 로 쓰기 때문에 I/O Controller 의 Cache 를 사용하지 않기 위함입니다. I/O controller 상에서 아에 cache 를 disable 하거나, disable 이 불가능한 경우는 Read Cache 100% 로 사용해야 합니다.

  • ./ssacli ctrl slot=0 create typd=ld drives=1I:1:1 caching=disable raid=0
  • ./ssacli ctrl slot=0 create typd=ld drives=1I:1:2 caching=disable raid=0
  • ./ssacli ctrl slot=0 create typd=ld drives=1I:1:3 caching=disable raid=0

작업결과 확인

  • ./ssacli ctrl slot=0 show config

ESXi 에서 인식되었는지 확인, 안되었으면 Reboot

  • esxcli storage core device list

RAID 0 구성이기 때문에 ESXi 에서 자동으로 SSD 감지가 불가능함. 생성된 Logical Drive 중 SSD 를 SSD 라고 Marking 해주어야 합니다. 마킹 후 Reboot 필요합니다.

(관련 KB – https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2013188)

  • esxi01 에 장착되어 있는 SSD 의 NAA 값 : naa.600508b1001ce9d3709b4b1a140d5832
    esxcli storage nmp satp rule add –satp=VMW_SATP_LOCAL –device naa.600508b1001ce9d3709b4b1a140d5832–option “enable_ssd”
  • Marking 확인 – esxcli storage core device list (아래 화면의 Is SSD 부분)

vSAN 용 Network 구성

  • vSwitch 생성
    esxcli network vswitch standard add –vswitch-name=vSwitch-vsan
  • vSwitch 에 vmnic 할당 (본 LAB 에선 vmnic3 할당)
    esxcli network vswitch standard uplink add –uplink-name=vmnic3 –vswitch-name=vSwitch-vsan
  • 포트 그룹 생성
    esxcli network vswitch standard portgroup add –portgroup-name=vsanpg –vswitch-name=vSwitch-vsan
  • vSAN 용 vmkernel port 생성
    esxcli network ip interface add –interface-name=vmk2 –portgroup-name=vsanpg
  • vsan service tagging
    esxcli vsan network ipv4 add –i vmk2
  • vmk2 에 ip 설정
    esxcli network ip interface ipv4 set –interface-name=vmk2 –ipv4=192.168.10.100 –netmask=255.255.255.0 –type=static
  • vmk2 용 VLAN 설정 (본 LAB 에선 VLAN701 사용)
    esxcli network vswitch standard portgroup set -p vsanpg –vlan-id 701

vSAN Cluster 생성

  • Cluster 생성
    esxcli vsan cluster new
  • vSAN UUID 확인
    Esxcli vsan cluster get
  • vSAN Disk group 생성 (SSD 와 MD 의 NAA 를 정확하게 기재하여 주십시오)
    esxcli vsan storage add -s naa.SSD -d naa.MD -d naa.MD
  • 만약 All Flash 환경이라면 Capacity 용 SSD 를 마킹해주는 작업이 필요합니다.
    https://www.vladan.fr/how-to-tag-ssd-as-capacity-tier-in-vsan-6/
    http://cormachogan.com/2015/03/25/vsan-6-0-part-4-all-flash-vsan-capacity-tier-considerations/
    위 링크를 요약하면 다음과 같습니다.

    esxcli vsan storage tag add -d <device name> -t capacityFlash
  • 설정 후 vdq 를 통해 확인

    # vdq -qH -d naa.50015178f35f5e59
    DiskResults:
    DiskResult[0]:
    Name: naa.50015178f35f5e59
    VSANUUID:
    State: Eligible for use by VSAN
    ChecksumSupport: 0
    Reason: None
    IsSSD?: 1
    IsCapacityFlash?: 1
    IsPDL?: 0

  • vSAN disk group 생성시 아래와 같은 메시지와 함께 disk group 생성 불가능한 경우가 있습니다 (디스크가 새 디스크가 아니라 기존에 사용했던 디스크일경우 발생 가능)

  • 위와 같은 경우는 남아있는 Partition 를 partedUtil 을 사용하여 파티션을 삭제하여 주십시오.
    partedUtil setptbl /dev/disks/naa.600508b1001c9cbbc193639a36d963aa gpt
  • 삭제 후 확인 및 다시 생성

 

  • 생성 후 확인
    esxcli vsan storage list

  • 데이터 스토어 생성 확인

여기까지 진행이 되었으면, vSAN datastore 가 생성이 되었기 때문에 vCenter 설치를 진행하시면 됩니다. 물론 DNS 를 필요로 하기 때문에 vCenter 설치하기 전에 DNS 구성부터 하셔야 겠죠. 추후에 알아보도록 하겠습니다.

vCenter 설치 후 나머지 호스트들에 대한 작업을 진행하셔도 되고, 설치전에 동일한 방식으로 진행하시면 됩니다. 다만 이미 vSAN cluster 가 생성되었기 때문에 나머지 호스트들에서는 Cluster 를 생성하는게 아니라 생성되어있는 vSAN cluster 의 UUID 를 통해 Cluster Join 을 하면 됩니다.

  • vSAN cluster 조인
    esxcli vsan cluster join -u UUID <– 여기서 UUID 는 esxcli vsan cluster get 명령어 실행시 Sub-cluster UUID 값
  • Join 이 성공적으로 되면 esxcli vsan cluster get 을 실행했을 때 Member count 의 변화가 생깁니다.

  • 조인이 되면 Disk group 생성을 진행하여 주십시오.
  • 생성 후 확인

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다