ESXi Compatibility Checker

따근따근한 Tool 이 하나 나와서 소개합니다.

python 으로 작성된 프로그램이구요, ESXi 의 호환성을 확인해볼 수 있는 Tool 이라고 보시면 됩니다.

https://labs.vmware.com/flings/esxi-compatibility-checker 에서 다운로드 가능하구요.

사용하기 위해서 python 설치가 필요합니다.

  1. python download 및 설치 (설치시에 pip 가 포함되도록) : https://www.python.org/downloads/
  2. 설치 후 다음 컴포넌트들을 설치
  3. install Pyvmomi
    python -m pip install pyvmomi
  4. install crypto
    python -m pip install crypto
  5. install pyopenssl
    python -m pip install pyopenssl

설치가 끝나면 스크립트를 실행하고, 패스워드를 입력합니다.

compchecker.py -s VC_or_ESXi_ip_address -u username

저같은 경우는 VC 주소로 접속했는데요, vCenter 의 Build version 이 나오네요.

C:\Users\byoungheek\Desktop\compchecker_v1_8522284>compchecker.py -s vcsa01.psolab.local -u administrator@vsphere.local

Enter password for host "vcsa01.psolab.local" and user "administrator@vsphere.local":

VMware Compatibility Checker (host:vcsa01.psolab.local, user: administrator@vsphere.local)

> collecting host information...
Please wait, this may take few minutes depending on the number of ESXi hosts...

[ VMware VirtualCenter Server 6.5.0 (VMware vCenter Server 6.5.0 build-7515524) ]

여기서 up 를 치면 현재 버전에서 업그레이드 가능한 버전들이 나옵니다.

VirtualCenter> up

> Upgradable releases of VMware VirtualCenter Server 6.5.0

[ID:2332] VMware vCenter Server 6.5.0 U1
[ID:2732] VMware vCenter Server 6.5.0 U2
[ID:2736] VMware vCenter Server 6.7.0

hosts 를 입력하면 현재 VC 에서 manage 중인 host  리스트가 나옵니다.

VirtualCenter> hosts
[1] Host vsanwit.psolab.local (psolab): VMware ESX Server 6.5.0 (build:5969303)
[2] Host esxi01-con.psolab.local (psolab): VMware ESX Server 6.5.0 (build:5969303)
[3] Host esxi02-con.psolab.local (psolab): VMware ESX Server 6.5.0 (build:5969303)
[4] Host esxi02-tam.psolab.local (psolab): VMware ESX Server 6.0.0 (build:5224934)
[5] Host esxi01-tam.psolab.local (psolab): VMware ESX Server 6.0.0 (build:5224934)
[6] Host esxi03-tam.psolab.local (psolab): VMware ESX Server 6.0.0 (build:5224934)

hosts 를 선택하고 몇가지 확인을 보겠습니다. 

  • hardware : 현재 호스트의 하드웨어 정보 (서버 모델, NIC, HBA 등) 표시

    Host esxi02-tam.psolab.local> hardware

    [4] Host esxi02-tam.psolab.local (psolab): VMware ESX Server 6.0.0 (build:5224934)

    Server: 'ProLiant DL360 G7' from HP
    CPU Model: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz (Feature:0000:0000:0000:0010:0000:0110:1100:0010)
    UUID: 32393735-3733-4753-4831-3233584c3636 (BIOS: P68)

    - Physical NICs:
    vmnic0 - 0000:03:00.0: IO Device 'NC382i Integrated Multi Port PCI Express Gigabit Server Adapter' from QLogic Corporation
    PCI ID: 14E4:1639:103C:7055 Driver: bnx2 Version 2.2.4f.v60.10

    - Storage Adapters:
    vmhba0 - 0000:00:1f.2: IO Device 'ICH10 4 port SATA IDE Controller' from Intel Corporation
    PCI ID: 8086:3A20:103C:330D Driver: ata_piix Version 2.12-10vmw
    vmhba1 - 0000:05:00.0: IO Device 'Smart Array P410i' from Hewlett Packard Enterprise
    PCI ID: 103C:323A:103C:3245 Driver: hpsa Version 6.0.0.124-1OEM

  • comp -s : 하드웨어가 현재 esxi 버전과 호환되는지 확인

    VirtualCenter> h 4

    Host esxi02-tam.psolab.local> comp -s

    Host esxi02-tam.psolab.local: May Not Be Compatible
    [Server: OK] Server 'ProLiant DL360 G7' is compatible for ESX 6.0.0
    [IO: Warnings] Some IO devices may not be compatible for ESX 6.0.0

    Compatibility issues:
    - IO Device 'NC382i Integrated Multi Port PCI Express Gigabit Server Adapter' (PCIID:14e4:1639:103c:7055) is certified
    but current release (6.0.0) is not supported
    current driver (bnx2) is not supported
    More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=42255
    - IO Device 'ICH10 4 port SATA IDE Controller' (PCIID:8086:3a20:0000:0000) is certified
    but current release (6.0.0) is not supported
    current driver (ata_piix) is not supported
    More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=41915

  • comp -v : 하드웨어가 현재 esxi 버전과 호환되는지 좀 더 상세하게 표시

    Host esxi02-tam.psolab.local> comp -v

    Host esxi02-tam.psolab.local: May Not Be Compatible
    [Server: OK] Server 'ProLiant DL360 G7' is compatible for ESX 6.0.0

    Server: 'ProLiant DL360 G7' from HP
    CPU Model: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz (Feature:0000:0000:0000:0010:0000:0110:1100:0010)
    UUID: 32393735-3733-4753-4831-3233584c3636 (BIOS: P68)

    [OK] Compatible: Server 'ProLiant DL360 G7' is compatible for ESX 6.0.0
    - More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=12843

    [IO: Warnings] Some IO devices may not be compatible for ESX 6.0.0

    - Physical NICs:
    vmnic0 - 0000:03:00.0: IO Device 'NC382i Integrated Multi Port PCI Express Gigabit Server Adapter' from QLogic Corporation
    PCI ID: 14E4:1639:103C:7055 Driver: bnx2 Version 2.2.4f.v60.10

    [Warning] May Not Be Compatible: found that IO Device 'NC382i Integrated Multi Port PCI Express Gigabit Server Adapter (PCIID:14E4:1639:103C:7055)' is compatible but there are some mismatched compatibility details
    - IO Device 'NC382i Integrated Multi Port PCI Express Gigabit Server Adapter' (PCIID:14e4:1639:103c:7055) is certified
    but current release (6.0.0) is not supported
    current driver (bnx2) is not supported
    More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=42255

    - Storage Adapters:
    vmhba0 - 0000:00:1f.2: IO Device 'ICH10 4 port SATA IDE Controller' from Intel Corporation
    PCI ID: 8086:3A20:103C:330D Driver: ata_piix Version 2.12-10vmw

    [Warning] May Not Be Compatible: found that IO Device 'ICH10 4 port SATA IDE Controller (PCIID:8086:3A20:103C:330D)' is compatible but there are some mismatched compatibility details
    - IO Device 'ICH10 4 port SATA IDE Controller' (PCIID:8086:3a20:0000:0000) is certified
    but current release (6.0.0) is not supported
    current driver (ata_piix) is not supported
    More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=41915

    vmhba1 - 0000:05:00.0: IO Device 'Smart Array P410i' from Hewlett Packard Enterprise
    PCI ID: 103C:323A:103C:3245 Driver: hpsa Version 6.0.0.124-1OEM

    [OK] Compatible: IO Device 'Smart Array P410i (PCIID:103C:323A:103C:3245)' is compatible for ESX 6.0.0
    - More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=4613

  • up : 현재 esxi 버전에서 업그레이드 가능한 esxi 버전 목록

    > Upgradable releases of VMware ESX Server 6.0.0

    [ID:694] VMware vSphere Hypervisor (ESXi) 6.0.0 U1
    [ID:994] VMware vSphere Hypervisor (ESXi) 6.0.0 U2
    [ID:2131] VMware vSphere Hypervisor (ESXi) 6.5.0
    [ID:2135] VMware vSphere Hypervisor (ESXi) 6.0.0 U3
    [ID:2331] VMware vSphere Hypervisor (ESXi) 6.5.0 U1
    [ID:2731] VMware vSphere Hypervisor (ESXi) 6.5.0 U2
    [ID:2735] VMware vSphere Hypervisor (ESXi) 6.7.0

  • upto version  (예 upto 6.5.0) : esxi 가 업그레이드 가능한지, 서버 하드웨어는 해당버전과 호환되는지 확인, -s, -v 옵션으로 상세확인 가능)

    Host esxi02-tam.psolab.local> upto 6.5.0

    [OK] The specified release (VMware vSphere Hypervisor (ESXi) 6.5.0) is upgradable from this VMware vSphere Hypervisor (ESXi) 6.0.0

    [Server: Warnings] Server 'ProLiant DL360 G7' may not be compatible for ESX 6.5.0
    [IO: Warnings] Some IO devices may not be compatible for ESX 6.5.0

    Use '-s' for warnings and '-v' for compatibility details (example, 'comp -v', 'upto 6.5 u1 -v')

대충 요정도 기능을 지원하구요, 최초 스크립트 실행시 -r 옵션을 주면 csv 와 html 포맷으로 report 를 생성합니다.

C:\Users\byoungheek\Desktop\compchecker_v1_8522284>compchecker.py -s vcsa01.psolab.local -u administrator@vsphere.local -r

Enter password for host "vcsa01.psolab.local" and user "administrator@vsphere.local":

VMware Compatibility Checker (host:vcsa01.psolab.local, user: administrator@vsphere.local)

> collecting host information...
Please wait, this may take few minutes depending on the number of ESXi hosts...

[ VMware VirtualCenter Server 6.5.0 (VMware vCenter Server 6.5.0 build-7515524) ]

Generating compatibility validation report for vcsa01.psolab.local
[Host vsanwit.psolab.local] Validating hardware compatibility...
[Host esxi01-con.psolab.local] Validating hardware compatibility...
[WARNING] Server Model name is required
[Host esxi02-con.psolab.local] Validating hardware compatibility...
[WARNING] Server Model name is required
[Host esxi02-tam.psolab.local] Validating hardware compatibility...
[Host esxi01-tam.psolab.local] Validating hardware compatibility...
[Host esxi03-tam.psolab.local] Validating hardware compatibility...

Report 'compreport_vcsa01.psolab.local_2018-05-15_14-44.csv' has been created!
Report 'compreport_vcsa01.psolab.local_2018-05-15_14-44.html' has been created!

csv 포맷은 역시나 이쁘진 않네요. html 포맷이 나은것 같습니다.

html 포맷 리포트

업그레이드 계획이 있으실 때 사용해보시면 도움이 되겠네요.

다만 VSAN 호환성 가이드의 경우에는 적용이 안되는 것 같으니, VSAN 업그레이드 계획을 짜실때는 좀 더 주의하셔야겠습니다.