vDS로 구성된 환경에서 MTU 변경 명령어

Jumbo Frame 사용중에 vDS의 MTU 정보가 1500이나 다른 값으로 변경될 경우
Kernel Network(vmk)의 MTU가 변경되지 않은 상태에서 모든 통신이 문제가 발생할 수 있습니다.

vCenter가 VM으로 구성된 환경이라면 vCenter 또한 통신이 불가하여 vDS를 변경할 수 없으며 난관에 봉착하게 됩니다.

이럴 경우 ESXi의 CLI를 통해 vDS의 MTU를 변경하여 통신상태를 정상화 할 수 있습니다.

esxcfg-vswitch -V [dvport] -m 9000 [Switch Name]
EX) esxcfg-vswitch -V DSwitch -m 9000 DSwitch

VCSA UI Installer 화면 안보임 문제 (Windows)

vCenter Appliance GUI Installer 실행시 화면 안보임 문제 해결 방법
Installer 실행 PC에서 VCSA Installer를 자주 실행하면 Cache 된 부분에 의해 화면이 표시되지 않는 이슈가 발생

해결방법
1. Windows Key + R
2. %appdata%
3. C:\Users\Administrator\AppData\Roaming\installer 삭제

PowerCLI 설치

2016년까지 Windows Installer를 통해 배포되던 패키지가 Powershell Module 설치 형태로 바뀌면서 실제 Powershell를 통한 설치를 어떻게 할지 난감합니다.
저는 PowerCLI를 일부 작성된 스크립트만 활용하는 정도라 난감했습니다.

■ 사전 준비사항
– Powershell 3.0 이상
– 기존에 설치된 PowerCLI 6.5 R1 이하 버전은 삭제

■ PowerCLI 설치
– powercli 매뉴얼을 살펴보면 아래와 같은 명령어를 통해 설치하게 되어있습니다
–> Install-Module -Name VMware.PowerCLI
해당 명령어를 수행하면 인터넷이 되는 상태라면 자동으로 받아서 설치가 됩니다.

– Install-Module Command를 PowerShell에서 찾지 못하는 경우
–> MS에서 제공하는 PackageManagement를 찾아서 설치해주어야 합니다.
패키지 설치 후 Online 설치와 / Offline 설치로 구분 됩니다.

■ 주요 다운로드 정보
– MS PowerShell PackageManagement Download
https://www.microsoft.com/en-us/download/details.aspx?id=51451

– PowerCLI Offline Bundle Download
https://code.vmware.com/web/dp/tool/vmware-powercli/11.1.0

■ 설치 확인
Package Management Pack 설치시 해당 경로에 아래와 같이 설치되고
PowerShell 명령어중 Install-Module 명령어가 생성됩니다.

Package Management 설치 확인

-PowerCLI 설치 확인

PowerCLI 모듈 설치 확인

■ 권한
스크립트 수행 권한 설정
Get-ExecutionPolicy 상태 확인
Set-ExecutionPolicy -ExecutionPolicy BYPASS

PowerCLI 접속시 인증서 처리 관련
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore


[TIP] Change Block Tracking (CBT) Enable에서 Online중에 Disable 하기

VMware KB에서 CBT를 Reset하기 위한 명령어를 제공합니다.
https://kb.vmware.com/s/article/2139574

KB에서 2139574_CBT-Reset.zip의 Powercli용 스크립트를 제공하며
스크립트 파일을 열어보면 아래와 같은 부분이 존재합니다.

스크립트는 CBT를 Disable 시키고 VM에 Snapshot을 생성한 후 CBT를 Enable하여 CBT를 Reset해주는 스크립트입니다.

이 스크립트에서 Enable CBT 부분만 주석처리로 4줄만 삭제/주석처리해 주면 Online중에 CBT를 Disable 할 수 있습니다.

주의사항으로 절차상 VM에 Snapshot이 생성/삭제 되기 때문에 해당 영향도에 대해서는 사전에 체크해야 합니다.

ESXi NUMA / vNUMA 확인하기

NUMA는 현재 Intel CPU에서 중요한 아키텍처를 담당하고 있습니다.
물리적인 CPU당 제어하는 메모리 DIMM이 다르기 때문에 메모리 자체를
Local / Remote 메모리로 구분하게 되며 Remote 메모리를 액세스 할 경우
성능에 영향을 미칠 수 있기 때문에 CPU당 물리적 메모리량을 넘어서는 VM의
경우 꼭 체크 해야 합니다.

■ BIOS에서 NUMA 로 설정하기
-> NUMA Option : Enable
-> Node Interleaving : Disable / Enable 시키면 SUMA가 됨

■ ESXTOP을 이용한 Pnode NUMA 상태 확인

ESXTOP 상단 정보

■ ESXi 서버의 NUMA Node 정보 확인
-> Pnode 상태 확인
-> sched-stats -t numa-pnode

sched-stats -t numa-pnode 샘플

■ VM의 NUMA Node Location 확인
-> VM별 Numa Client 상태 확인
-> sched-stats -t numa-clients
-> localMem / remoteMem 상태 확인

VM별 NUMA Location 상태 확인


VMware OVF Tools를 사용한 Import/Export 하기

종종 VM을 OVF로 내려받거나 Import 수행시에 웹브라우저의 제약(제한?)으로 큰 용량의 OVF파일을 받을 수 없거나 올리기 어려운 경우가 발생합니다.

이럴때 VMware에서 제공하는 OVF Tools를 사용해 Import/Export를 수행할 수 있습니다.

여러가지 옵션이 존재하지만 간단한 Import/Export 예제입니다.

■ Import Sample
PS C:\Program Files\VMware\VMware OVF Tool> .\ovftool.exe –noSSLVerify –datastore=Datastore_Name d:\import_OVF_name.ovf

vi://root@192.168.0.100(Target ESXi/vCenter)
Opening OVF source: d:\import_OVF_name.ovf
The manifest validates
Enter login information for target vi://192.168.0.100/
Username: root
Password: ********
Opening VI target: vi://root@192.168.0.100:443/
Deploying to VI: vi://root@192.168.0.100:443/
Transfer Completed
Completed successfully

■ Export Sample
PS C:\Program Files\vmware\VMware OVF Tool> .\ovftool.exe vi://root@192.168.0.100/vm_name d:\export_name.ovf

Accept SSL fingerprint (3A:E1:68:2E:16:1F:6E:26:4F:98:16:B9:EB:BB:25:62:28:C4:B9:BB) for host 150.12.24.242 as source type.
Fingerprint will be added to the known host file
Write ‘yes’ or ‘no’
yes
Enter login information for source vi://192.168.0.100/
Username: root
Password: ********
Opening VI source: vi://root@192.168.0.100/vm_name
Opening OVF target: d:\export_name.ovf
Writing OVF package: d:\export_name.ovf
Disk progress: 100%
Transfer Completed
Completed successfully

Export Sample Accept SSL fingerprint 에 대한 부분은 import 예제에 있는
–noSSLVerify 옵션의 유무에 의합니다.