# Script

[VMware/Script] VMware Tools&Hardware Version Upgrade

이론과 실습 사이 2022. 2. 27. 20:40
반응형

 


 

 


- 목차 -
1. VMwareTools Upgrade
2. VMware VM Hardware Upgrade

 

 

 

Chapter_1

1.VMwareTools Upgrade

$vCenter = "vCenter IP"
$vCenUser ="vCenter Account"
$password ="vCenter Account Password"
$list = Import-Csv "VM_list Patch" ## Frist Line name / Second Line~ VM_name

Import-Module VMware.VimAutomation.Core
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -confirm:$false
Connect-VIServer -Server $vCenter -user $vCenUser -Password $password

### VMwareTools Upgrade ###
Get-VMGuest VM_Name | Update-Tools
### VMwareTools Upgrade End ###

마지막 Get-VMGuest VM_Name에 Foreach를 이용해서 VM이 많을때 사용 가능하다.

Tools는 Command가 간략 하지만 설치 전 다른 옵션이 존재 한다.

 

 

 

Tools의 경우 ESXi 내부에 새로운 버전의 Tools 실행파일이 존재해야 Upgrade가 가능하다.

단순 ESXi Build 패치만 할 경우 상향 된 Tools 버전이 없을수도 있기 때문에 수동으로 넣어서 Upgrade 하는 방법을 선택 했다. 만약 상향 된 Tools 버전이 존재한다면 바로 Command를 통해 Upgrade가 가능하다.

 

참고 - ESXi 패치 파일 

더보기

ESXi호환성은 Main 버전까지만 체크 
Main 버전에서 세부버전은 정보를 제공하지 않고 있습니다.

ESXi 패치 파일 다운로드 시

-ESXi-6.7.0-20210304001-standard ✔
-ESXi-6.7.0-20210304001-no-tools
-ESXi-6.7.0-20210301001s-standard
-ESXi-6.7.0-20210301001s-no-tools

총 4가지로 파일 형식으로 존재

1)
no-Tools는 VMwareTools 없이 패치
standard는 모두 패치
2)
ESXi-6.7.0-20210304001
ESXi-6.7.0-20210304001s
s로 또 한 번 나뉘는 이유

s가 붙으면 ESXi 보안패치만 적용,
s가 안붙으면 기능+보안패치 적용

 

 

 

1. VMwareTools 새로운 버전을 다운로드.

 

https://www.notion.so/Tools-Hardware-Version-Upgrade-60db3c47d3994ddfbe3fe1a4b217e074#7b7bdba6d49c469f8cf02eb0305ae803

 

2. ESXi에 해당 파일을 Upload

ESXi 경로 : cd locker/packages/vmtoolsrepo/vmtools 에 다운로드 받은 VMwareTools 복사 붙여넣기

*WinSCP 이용

 

3. VM에 Tools Upgrade Command 입력

 

 

 

 

 

Chapter_2

1.VMware VM Hardware Upgrade

$vCenter = "vCenter IP"
$vCenUser ="vCenter Account"
$password ="vCenter Account Password"
$list = Import-Csv "VM_list Patch" ## Frist Line name / Second Line~ VM_name

Import-Module VMware.VimAutomation.Core
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -confirm:$false
Connect-VIServer -Server $vCenter -user $vCenUser -Password $password



$HardwareUpdateVMs = $list


### Hardware 호환성 Upgrade ###
Foreach ($vm in ($HardwareUpdateVMs)){

$VMConfig = Get-View -VIObject $vm.name
$vmconfigspec =New-Object VMware.Vim.VirtualMachineConfigSpec
$vmconfigspec.ScheduledHardwareUpgradeInfo = New-Object -TypeName VMware.Vim.ScheduledHardwareUpgradeInfo
$vmconfigspec.ScheduledHardwareUpgradeInfo.UpgradePolicy = "always"
$vmconfigspec.ScheduledHardwareUpgradeInfo.VersionKey = "vmx-18"
$vmconfig.ReconfigVM($vmconfigspec)
$vmconfigspec.ScheduledHardwareUpgradeInfo.UpgradePolicy =""
$vmconfigspec.ScheduledHardwareUpgradeInfo.VersionKey = ""
Stop-VMGuest -vm $vm.name -Confirm:$false
}
### Hardware 호환성 Upgrade End ###

 

 

하드웨어의 경우 ESXi 버전에 따라 설치가 가능하다

 

 위 코드에 vmx-18 을 입력할 때 ESXi 버전별 지원이 가능 유무를 확인 해야 한다.

ESXi 7.0U1인 경우 18까지 지원을 하기 때문에 vmx-18이 가능하고,

ESXi 7.0U2 - U2부터는 vmx-19가 가능하기 때문에 코드에서 수정하고  Script를 진행 하면 된다.

 

 

 

 
 

마무리

-VMwareTools 설치시 해당 ESXi에 Tools 파일 Upload 확인

-VM Hardware Upgrade 시 ESXi 버전을 확인하고, 대응 되는 버전으로 Upgrade 진행

 

 

$vmconfigspec.ScheduledHardwareUpgradeInfo.VersionKey = "vmx-18"

해당 코드에 하드웨어 호환성만 변경할 값으로 입력

 

 

Hardware Info

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-789C3913-1053-4850-A0F0-E29C3D32B6DA.html

https://kb.vmware.com/s/article/1003746

 

VMwareTools Info

https://packages.vmware.com/tools/versions

https://kb.vmware.com/s/article/86165

 

 

 

 

 

 

학습 후 작성된 글입니다.

설명이 잘 못 된 부분이 있다면,

너그럽게 이해 부탁드립니다.

 

+댓글로 알려주세요!

+소통 감사합니다!

 

 

 

 

 

 

반응형