PowerShell ile Windows Server’da Otomatik Disk Genişletme

PowerShell ile Windows Server'da Otomatik Disk Genişletme

Merhaba, bu yazımda sizlere PowerShell ile Windows Server’da Otomatik Disk Genişletme konusundan bahsedeceğim. Bir Windows admini olarak, sanal sunucularda disk doluluk oranlarının artması durumunda otomatik bir şekilde disk genişletme işlemi yapmak için kullanabileceğimiz yöntemler şu şekildedir:

Yöntem 1: PowerShell Script ile Otomasyon

PowerShell, Windows ve sanal makineleri (VMware veya Hyper-V) yönetmek için güçlü bir araçtır. Otomatik disk genişletme işlemi için PowerShell ile bir izleme ve müdahale sistemi kurabiliriz.

Adım 1: Disk Doluluk Oranlarını İzleme

İlk olarak, sanal sunucuların disk doluluk oranlarını belirli aralıklarla izlemek için bir PowerShell scripti yazabiliriz. Bu script, diskin doluluk oranını kontrol eder ve belirli bir eşik değeri aşıldığında otomatik olarak diski genişletir.

$threshold = 85 # %85 doluluk oranı
$drives = Get-PSDrive -PSProvider FileSystem

foreach ($drive in $drives) {
$usedPercentage = ($drive.Used / $drive.Size) * 100
if ($usedPercentage -ge $threshold) {Write-Host “Disk $($drive.Name) is $([math]::Round($usedPercentage, 2))% full.”
# Disk artırımı işlemi}
}

Bu basit script, disklerin doluluk oranını kontrol eder ve belirli bir eşik (örneğin %85) aşıldığında bir işlem yapılmasını sağlar.

Adım 2: VMware PowerCLI ile Disk Genişletme

Eğer sanal makineler VMware vSphere üzerinde çalışıyorsa, PowerCLI kullanarak sanal disk boyutlarını artırabiliriz. İlk olarak PowerCLI modülünü yükleyin ve vSphere ortamına bağlanın.

1. PowerCLI kurulumu

Install-Module -Name VMware.PowerCLI

2. vCenter’a bağlanın

Connect-VIServer -Server “vcenter-server”

3. Disk genişletme komutları

Örneğin, sanal makinenizin C diskinin doluluk oranı %85’e ulaştıysa, PowerCLI ile bu diski 10 GB artırabilirsiniz:

$vmName = “VM-Name”
$vm = Get-VM -Name $vmName
$hardDisk = Get-HardDisk -VM $vm -Name “Hard disk 1”

Set-HardDisk -HardDisk $hardDisk -CapacityGB ($hardDisk.CapacityGB + 10)

Bu komut, belirlenen sanal makinenin disk boyutunu 10 GB artırır.

Adım 3: Windows Üzerinde Partition Genişletme

Disk genişletme işlemi sanal ortamda yapılınca, işletim sistemi içinde de partition’ı genişletmek gerekir. Windows’da bu işlem için `diskpart` veya PowerShell’in `Resize-Partition` komutu kullanılabilir:

$disk = Get-Partition -DriveLetter C
Resize-Partition -PartitionNumber $disk.PartitionNumber -Size ($disk.Size + 10GB)

Adım 4: Sürekli İzleme ve Otomasyon

Bu işlemleri sürekli olarak takip etmek için bir görev zamanlayıcı (Task Scheduler) kullanarak PowerShell scriptini periyodik olarak çalıştırabilirsiniz. Örneğin, bu scripti her gün çalıştırarak disk doluluğunu kontrol edebilir ve otomatik disk artırımı yapabilirsiniz.

Raporlama ve Bildirim

İşlemin başarıyla tamamlanıp tamamlanmadığını izlemek ve raporlamak için script sonrasında bir rapor veya e-posta bildirimi gönderebilirsiniz:

Send-MailMessage -From “admin@domain.com” -To “admin@domain.com” -Subject “Disk Artırımı Tamamlandı” -Body “Disk başarıyla genişletildi.”

Yöntem 2: Hyper-V Disk Artırımı

Eğer Hyper-V kullanıyorsanız, benzer işlemleri Hyper-V PowerShell cmdlet’leri ile yapabilirsiniz.

$vm = Get-VM -Name “VM-Name”
$vmHardDrive = Get-VHD -VMId $vm.VMId -ControllerType IDE -ControllerNumber 0 -ControllerLocation 0
Resize-VHD -Path $vmHardDrive.Path -SizeBytes 120GB

Powershell Üzerinde Önemli Disk Komutları

PowerShell’de disk arttırma ve diskleri görüntüleme için kullanabileceğiniz bazı temel komutları şu şekildedir:

Diskleri Görüntüleme

1. Mevcut diskleri listelemek için

Get-Disk

Bu komut, sistemdeki tüm disklerin durumunu görüntüler.

2. Hacimleri (volume) görüntülemek için

Get-Volume

Bu komut, tüm mevcut disk hacimlerini ve bunların durumlarını gösterir.

3. Disk bölümlerini (partition) görüntülemek için

Get-Partition

Bu komut, mevcut disk bölümlerini görüntüler.

Disk Arttırma

1. Bölümü genişletmek için

Resize-Partition -DiskNumber 0 -PartitionNumber 1 -Size 100GB

Bu komut, `DiskNumber 0` ve `PartitionNumber 1` olan diski 100 GB boyutuna genişletir. Disk numarası ve bölüm numarası sisteminize göre değişebilir.

2. Hacmi genişletmek için

Get-Volume -DriveLetter D | Resize-Partition -Size 100GB

Bu komut, `D:` sürücüsünü 100 GB boyutuna genişletir.

Bu komutların nasıl çalıştığına dair daha fazla görsel ve detaylı anlatım için aşağıdaki kaynak web sitelerini inceleyebilirsiniz.

Microsoft Storage

Yöntem 3: Windows Server Disk Yönetimi Otomasyonu

Bir başka yöntem de System Center Operations Manager (SCOM) veya Azure Automation gibi bir izleme ve yönetim aracını kullanarak sanal makinelerin disk izlemelerini otomatikleştirmek ve doluluk oranı yüksek olan makinelerde otomatik disk artırımı gerçekleştirmektir. Bu tür araçlar, ortamınızın tamamını izleyip merkezi bir yönetim sağlamaktadır.

Sanal sunucularda disk doluluk oranlarının artmasını önlemek ve otomatik olarak disk artırımı yapmak için PowerShell ve VMware PowerCLI gibi araçlar kullanarak bir otomasyon çözümü geliştirebilirsiniz. Bu çözüm hem izleme hem de müdahale işlemlerini kapsar ve tamamen otomatikleştirilebilir. Görev zamanlayıcı veya Azure Automation gibi araçlarla bu scriptlerin belirli aralıklarla çalıştırılması sağlanarak sürekli izleme ve otomatik genişletme yapabilirsiniz. bu yazımda sizlere PowerShell ile Windows Server’da Otomatik Disk Genişletme konusundan bahsettim. Faydalı olması dileğiyle.


 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir