VMware vSphere Tagleri ve Veeam Backup
VMware vSphere Tag leri vSphere objelerinizi kolayca aramanıza ve çalışmalarınızda ilgili objeleri filtrelemenize kolaylık sağlayan bir metaveridir. Bu vSphere Tag leri farklı kategoriler altında oluşturup farklı çözümler için objelerinizi filtreleyebilirsiniz. Örneğin sanal makinelerinizi işletim sistemi, backup politikaları ya da sorumlu departmana göre ayırıp çalışmalarınızda kolaylık sağlayabilirsiniz. VMware ortamınız büyüdükçe backup joblarına dahil olması gereken ya da mevcut backup joblarından çıkartılması gereken sanal makineleri vSphere Tag ler ile kolaylıkla yönetebilirsiniz.
Eğer vSphere Tag leri hiç kullanmıyorsanız bu makalede toplu bir şekilde vSphere Tagleri nasıl oluşturabileceğimizden ve Veeam Backup Joblarını bu tagler ile nasıl yönetebileceğimizden bahsedeceğim. vSphere Taglerini toplu olarak oluşturma ve sanal makinelere atama işlemleri için Powershell kullanacağız. Powershell ile vSphere ortamınızı yönetebilmek için öncelikle PowerCLI modüllerini yüklemeniz gerekiyor. PowerCLI ise vSphere ortamında network, storage, sanal makineler, işletim sistemleri ve bunun gibi daha pek çok operasyonları yönetmek için tasarlanmış bir komut satırı arabirimidir.
Henüz PowerCLI kurulumu yapmadıysanız aşağıdaki makalemi inceleyebilirsiniz.
Veeam Backup Joblarını yöneteğimiz vSphere Tag leri için bir politika belirlememiz gerekiyor. vSphere Tagler için kendinize uygun bir kategori isimlendirmesi yapmanız gerekiyor. Ben tüm sanal makineleri üzerinde çalışan uygulama ve servislere göre ayırt etmeyi tercih ediyorum. Benzer uygulama ve servisleri barındıran sanal makineleri aynı backup jobına dahil etmenin bazı faydaları var. Bildiğiniz gibi Veeam in Deduplication ve Compression özellikleri bulunuyor. Bu özellikleri Veeam backup job bazında gerçekleştirdiğine kadar benzer sanal makineyi aynı backup jobına dahil edersek Deduplication ve Compression özelliklerinden daha çok verim alacağız. Bu şekilde hem ağ üzerinden geçen trafiği hem de backupları sakladığımız Veeam Backup Repository alanında gereken disk alanını azaltmış olur ve kaynaklarımızı en verimli bir şekilde kullanabiliriz.
vCenter üzerinden sanal makine bilgilerini export etme
Öncelikle vSphere ortamından tüm sanal makinelerin listesini .csv ye export edelim. Aşağıdaki kod bloğunda ilk 4 satırı kendinize göre güncelleyip çalıştırdıktan sonra belirtmiş olduğunuz dosya yolunda vmList.csv isminde bir dosya oluşturacaktır.
$path = "c:\vmList.csv" # export edilecek path\dosyaAdı.csv
$vcenter = "vCenterHostname" # vCenter server hostname
$user = "username" # vCenter username "administrator@vsphere.local" ya da "domain\username"
$password = "password" # vCenter password
try {
Disconnect-VIServer -server * -confirm:$false
}
catch {
#"Could not find any of the servers specified by name."
}
Connect-VIServer -Server $vcenter -User $user -Password $password | out-null
$vms = Get-VM
$vmList = @()
foreach ($vm in $vms) {
$vmInfo = "" | Select-Object Name, OperatingSystem, PowerState
$vmInfo.Name = $vm.Name
$vmInfo.OperatingSystem = $vm.Guest.OSFullName
$vmInfo.PowerState = $vm.PowerState
$vmList += $vmInfo
}
$vmList | Export-Csv -Path $path -NoTypeInformation
Disconnect-VIServer -Server * -Confirm:$false
write-host $vmList.Count " adet sanal makine export edildi. Path : " $path -ForegroundColor Green
Bu dosya içerisinde sanal makinelerin envanter adı, işletim sistemi ve powerstate bilgileri bulunuyor. Buradaki senaryoda her sanal makinenin tek bir backup tagi olacak şekilde Tag adında yeni bir kolon oluşturup her sanal makineyi hizmet ettiği uygulamalara göre vSphere Tag lerin isimlerini yazıyoruz.
Ben tercihen poweredOff konumda olan sanal makinelerde NoBackup tagini kullanıyorum. İleride monitoring süreçleri için NoBackup taglerine sahip olan sanal makineleri filtreleyip kullanmak hem faydalı oluyor hem de tüm sanal makinelerde aynı standartı sağlamış oluyorum. Burada tercihen kapalı olan sanal makinelerinizi csv dosyasından silebilirsiniz.
Belirlenen vSphere Tagleri oluşturma ve sanal makinelere atama
Bu adımda vCenter üzerinde “Backup-Procedure” isminde bir Tag Category oluşturdum. Aşağıdaki kod bloğunda CSV dosyasında belirlediğimiz vSphere Tag leri oluşturup sanal makinelere atanmasını sağlıyoruz. Kod bloğundaki ilk 2 satırı kendinize göre güncelleyip çalıştırabilirsiniz.
$csv = Import-Csv -Path 'C:\vmList.csv' # import edilecek.csv dosyasinin pathi
$categoryName = "Backup-Procedure" # vCenter üzerinde olusturulan Tag Category ismi
$totalVM = $csv.Count
try {
Disconnect-VIServer -server * -confirm:$false
}
catch {
#"Could not find any of the servers specified by name."
}
Connect-VIServer -Server $vcenter -User $user -Password $password | out-null
$i = 0
foreach ($data in $csv) {
If (Get-Tag -Category $categoryName | Where-Object { $_.Name -eq $data.Tag }) {
New-TagAssignment -Tag $data.Tag -Entity $data.Name | out-null
$i++
}
else {
New-Tag -Name $data.Tag -Category $categoryName | out-null
New-TagAssignment -Tag $data.Tag -Entity $data.Name | out-null
$i++
}
write-host "Processing:" $i"/"$totalVM "-> " $data.Name "sanal makinesine " $data.Tag " tag i assign edildi." -ForegroundColor Green
}
Disconnect-VIServer -Server * -Confirm:$false
Bu işlemler başarıyla tamamlandıktan sonra vSphere Client üzerinden de ilgili taglerin oluşturulup oluşturulmadığını teyit edebilirsiniz. CSV dosyasında belirtmiş olduğunuz tüm taglerin ilgili sanal makinelere atanmış olması gerekiyor. Şimdi oluşturduğumuz vSphere Taglere göre Veeam tarafında nasıl bir backup job ı oluşturacağımıza geçelim…
Veeam Backup Joblarını oluşturma
Oluşturduğumuz her bir backup tag i için Veeam üzerinde birer backup job ı oluşturuyoruz. Burada her sanal makineyi günlük ya da haftalık olarak tek bir backup jobına vSphere Tag objesini seçerek dahil ediyoruz. Backup job isimlendirmelerinizi Backup-Job-vSphereTagName olacak şekilde yapılandırırsanız bütün backup joblarınızda bir standart elde etmiş olursunuz. Her backup jobında vCenter üzerindeki ilgili vSphere Tagini seçtikten sonra geri kalan backup job ayarlarınızı tamamlayın.
Bu adımlar sonrasında vSphere ortamında kurulan yeni bir sanal makineyi Veeam sunucusuna giriş yapmadan backup süreçlerine dahil etmek için sanal makine hangi Backup Tag ine uygun ise o tagi sanal makineye atamanız yeterli olacaktır. Belirlediğiniz Veeam Backup Job Schedule ayarlarına göre bir sonraki backup döngüsünde ilgili vSphere objesi discover edilip backup alınması sağlanacaktır.
You can access the scripts used in the article from my Github profile.