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.


 

Dağcan Nural

1988 İstanbul doğumluyum. Bilgisayar dünyasına olan hayranlığım çok küçük yaşlarda başladı. Bu sebeple sistem alanında kendimi geliştirmeye karar verdim. Celal Bayar Üniversitesi Bilgisayar Programcılığı ve Anadolu Üniversitesi İşletme mezunuyum. Beykent Üniversitesi'nde Yönetim Bilişim Sistemleri Bölümü'nde yüksek lisans eğitimimi tamamladım. 2005 yılında Bilge Adam Sistem & Network Mühendisliği eğitimi aldım. Hemen ardından IT dünyasına giriş yaptım. Collezione şirketinde 2006 - 2018 yılları arasında Sistem Uzmanı olarak görev yaptım. 2018 Temmuz ayından beri LCWAIKIKI şirketinde System Engineer pozisyonunda çalışmaktayım. Sektörde 20 yıllık deneyime sahibim. Birçok önemli projede görev aldım. Şu an Yapay Zeka Yüksek Lisansı yapıyorum. Oldukça güzel projeler geliştiriyorum. Sayfanın en alt kısmından Linkedin profilime ulaşabilirsiniz. Bilgi ve tecrübemi bu blog üzerinde üzerinde paylaşıyorum.

Related Posts

Windows Server 2016’dan Windows Server 2022’ye In-Place

Windows Server 2016 → 2022 Doğrudan Yükseltme Mümkün mü? Microsoft’un resmi destek matriksine göre Windows Server 2016’dan Windows Server 2022’ye doğrudan in-place upgrade işlemi desteklenmektedir. Arada Windows Server 2019’a geçiş…

Bir yanıt yazın

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

You Missed

VMware ESXi 8.0 Update 3e Yenilikleri ve Avantajları

VMware ESXi 8.0 Update 3e Yenilikleri ve Avantajları

Google Cloud Gemini Enterprise Agent Platform Tanıtımı

Google Cloud Gemini Enterprise Agent Platform Tanıtımı

Claude Opus 4.7 ile Web Tasarım ve Sunum Araçları

Claude Opus 4.7 ile Web Tasarım ve Sunum Araçları

HPE ProLiant Sunucularda UEFI Ayarlarını Optimize Etme

HPE ProLiant Sunucularda UEFI Ayarlarını Optimize Etme

Microsoft 365 Copilot: Yeni Özellikler ve Avantajlar

Microsoft 365 Copilot: Yeni Özellikler ve Avantajlar

GPO Yedekleme Nasıl Yapılır?

GPO Yedekleme Nasıl Yapılır?