반응형
흐름
1.Disk 증설 -> 2.VM종료(종료 텀 0.5초) -> 3. 메모리증설
$vCenter = "vCenter IP"
$vCenUser = "vCenter ID"
$password = "vCenter ID 계정 Password"
$VM_Imfo = "0"
$NewMem_Value = "0"
$Addmem = "0"
$AddDisk1 = "0"
$nowdisk1 = "0"
$NewDisk1 = "0"
$AddDisk2 = "0"
$nowdisk2 = "0"
$NewDisk2 = "0"
$list = Import-csv "리스트 경로 "
Import-Module VMware.VimAutomation.Core
Connect-VIServer -Server $vCenter -user $vCenUser -Password $password
$results_disk = @() #Disk 증설 결과값 저장 AS-IS / To-Be 출력 + VM이름
$results_mem = @() #Mem 증설 결과갑 저장 AS-IS / To-Be 출력 + VM이름
foreach ($vm in $list)
{
### Disk1,Disk2 증설 ###
if($vm.disk1 -gt 0){
$AddDisk1 = $VM.disk1
$nowdisk1 = Get-vm $vm.name | Get-HardDisk | Where-Object {$_.name -eq "Hard Disk 1"}
$NewDisk1 = $nowdisk1.CapacityGB + $AddDisk1
Get-vm $vm.name | Get-HardDisk | Where-Object {$_.name -eq "Hard Disk 1"} | Set-HardDisk -CapacityGB $NewDisk1 -Confirm:$false
}
if($vm.disk2 -gt 0){
$AddDisk1 = $VM.disk2
$nowdisk1 = Get-vm $vm.name | Get-HardDisk | Where-Object {$_.name -eq "Hard Disk 2"}
$NewDisk1 = $nowdisk2.CapacityGB + $AddDisk2
Get-vm $vm.name | Get-HardDisk | Where-Object {$_.name -eq "Hard Disk 2"} | Set-HardDisk -CapacityGB $NewDisk2 -Confirm:$false
}
$VM_Disk =@{
VM_Name = $VM.name
AS_IS_Disk1 = $nowdisk1.CapacityGB
TO_BE_Disk1 = $NewDisk1
AS_IS_Disk2 = $nowdisk2.CapacityGB
To_BE_Disk2 = $NewDisk2
}
$results_disk += New-Object psobject -Property $VM_Disk
### Disk1,Disk2 증설 끝###
### Memory 증설 시작###
Stop-VM -VM $VM.name -Confirm:$false
Start-Sleep -Milliseconds 500
$Addmem = $vm.mem
$VM_Imfo = Get-VM $vm.name
$VM_Imfo.MemoryGB
$NewMem_Value = $VM_Imfo.MemoryGB + $Addmem
Set-vm $vm.name -MemoryGB $NewMem_Value -confirm:$false
$VM_Mem =@{
VM_Name = $vm.name
AS_IS_Mem = $VM_Imfo.MemoryGB
TO_BE_Mem = $NewMem_Value
}
$results_mem += New-Object psobject -Property $VM_Mem
### Memory 증설 끝###
}
$results_disk | Export-Csv -Path ""
$results_mem | Export-Csv -Path ""
Disconnect-VIServer -Server * -Force -Confirm:$false
*vCenter 상에서 Disk만 증설을 한다고 끝이 아니다. Windows OS 내부에서 디스크관리에 가서 확장을 해줘야 한다.
해당 Script는 아래 참조
https://min-310.tistory.com/241
*복구 영역이 없다면 해당 코드를 제거하고 확장만 진행해도 무방.
반응형
'# Script' 카테고리의 다른 글
[VMware/Script] Network adapter Mount&Unmount (with. VM-Guest-off) (0) | 2022.03.06 |
---|---|
[VMware/Script] VMware Tools&Hardware Version Upgrade (0) | 2022.02.27 |
[VMware/Script] VM에 .ISO 파일 마운트하기 ( VM .ISO mount Script ) (0) | 2022.01.25 |
[VMware/Script] Windows OS 파티션 삭제 (DiskPartition Remove 스크립트) (0) | 2022.01.25 |
[VMware/Script] VM Disk Check Script (VM 디스크 추출 스크립트) (0) | 2022.01.25 |