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 필요합니다.
- 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 생성을 진행하여 주십시오.
- 생성 후 확인