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 생성을 진행하여 주십시오.
    • 생성 후 확인

    Related Post

    댓글 남기기

    이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

    This site uses Akismet to reduce spam. Learn how your comment data is processed.