# Script
[VMware/Script] VM Disk, Memory Expand (VM 디크스, 메모리 증설, VDI)
이론과 실습 사이
2022. 2. 2. 20:35
반응형
흐름
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
[VMware/Script] Windows OS 파티션 삭제 (DiskPartition Remove 스크립트)
정상 (복구파티션) / 복구파티션 삭제 / Windows OS 내부 특정 Partition제거 후 Disk 확장 $driver_litter+ "C" : +를 -> = 으로 수정 ⇒ [디스크 0]에서 정상 ( 복구 파티션 ) 으로 2GB가 여유가 있더라도 확..
min-310.tistory.com
*복구 영역이 없다면 해당 코드를 제거하고 확장만 진행해도 무방.
반응형