Bu yazımda sizlerle, Citrix’in sunucu sanallaştırma olan Citrix Hypervsior (XenServer) için en çok kullanılan Powershell komutlarından bahsedeceğim. Bu komutlar Hypervsior üzerinde yapacağınız çoğu işlemleri otomatikleştirmenizi sağlayacaktır.
Citrix Hypervisor, Linux tabanlı bir işletim sistemi olduğundan ls, cat vb. linux komutlarını konsol üzerinden kullanabilirsiniz. Eğer Powershell kullanmak istersek, öncelikle aşağıdaki link aracılığıyla SDK paketini indirmemiz gerekir.
SDK (Software Development Kit) 8.0.0
İndirdiğiniz zip dosyası içerisindeki klasörü %windir\System32\WindowsPowerShell\v1.0\Modules içerisine kopyalayınız ve aşağıdaki komut ile Powershell üzerinde Hypervsior modulünü import edelim.
Import-Module XenServerPSModule
Citrix Hypervisor bağlantısı
$XenServer = "XenServer Adresi" $Kullanici = "Kullanıcı Adınız" $Sifre = "Şifreniz" Try { $Baglanti = Connect-XenServer -Url https://$XenServer -UserName $kullanici -Password $sifre -NoWarnCertificates -SetDefaultSession } Catch [XenAPI.Failure] { [string]$PoolMaster = $_.Exception.ErrorDescription[1] Write-Host -ForegroundColor Red "$($Pools.$Pool) slave sunucudur, Master sunucu $PoolMaster olarak tanımlıdır. Bağlantı sağlanıyor..." $Pools.Pool = $PoolMaster $Baglanti = Connect-XenServer -url "http://$PoolMaster" -UserName $kullanici -Password $sifre -NoWarnCertificates -SetDefaultSession }
Yeni Sanal Sunucu Oluşturma
$VMAdi = "Sanal Makine İsmi" $vCPU = 4 $RAMGB = 4 $RAMByte = $RAMGB*1073741824 New-XenVM -NameLabel $VMAdi -VCPUsAtStartup $vCPU -MemoryStaticMin $RAMByte -MemoryStaticMax $RAMByte -HVMBootPolicy "BIOS Order" -UserVersion 1 -HVMShadowMultiplier 1
Template Kullanarak Sanal Sunucu Oluşturma
$VMAdi = "Sanal Makine İsmi" $StorageAdi = "Storage İsmi" Invoke-XenVM -Name "Windows_Server_2019_Template" -XenAction Clone -NewName $VMAdi $VMAyarlari = Get-XenVM -name $VMAdi $Storage = Get-XenSR -Name $StorageAdi $Ayarlar = $VMAyarlari.other_config $Ayarlar["disks"] = $Ayarlar["disks"].Replace('sr=""', 'sr="{0}"' -f $storage.uuid) Set-XenVM -Name $VMAdi -OtherConfig $Ayarlar Invoke-XenVM -Name $VMAdi -XenAction Provision
Sanal makineyi Silme
$VMAdi = "Sanal Makine İsmi" Remove-XenVM -Name $VMAdi
Sanal Makinenin vCpu ve RAM Değerlerini Değiştirme
$VMAdi = "Sanal Makine İsmi" $vCPU = 8 $RAMGB = 16 $RAMByte = $RAMGB*1073741824 Set-XenVM -Name $VMAdi -VCPUsMax $vCPU -VCPUsAtStartup $vCPU -Memory $RAMByte
Sanal Makineye Disk Ekleme
$VMAdi = "Sanal Makine İsmi" $DiskAdi = "Disk02" $DiskGB = 20 $StorageAdi = "Local Storage" $DiskByte = $DiskGB*1073741824 $VM = Get-XenVM -Name $VMAdi $sr = Get-XenSR -Name $StorageAdi New-XenVDI -NameLabel $DiskAdi -VirtualSize $DiskByte -SR $sr -Type user $VDI = Get-XenVDI -Name $DiskAdi New-XenVBD -VM $VM.opaque_ref -VDI $VDI.opaque_ref -Type Disk -mode RW -Userdevice 2
Sanal Makineye Açıklama Ekleme
Set-XenVM -Name "Sanal Makine İsmi" -NameDescription "Açıklama"
Snapshot Oluşturma
$VMAdi = "Sanal Makine İsmi" $SnapshotAdi = "Snapshot İsmi" $VM = Get-XenVM -Name $VMAdi Invoke-XenVM -Uuid $VM.uuid -XenAction Snapshot -NewName $SnapshotAdi
Snapshot Silme
$SnapshotAdi = "Snapshot İsmi" Remove-XenVM -Name $SnapshotAdi
Sanal Makine Güç Yönetimi
Invoke-XenVM -Name VMAdi -XenAction Start Invoke-XenVM -Name VMAdi -XenAction Shutdown Invoke-XenVM -Name VMAdi -XenAction CleanReboot
Sanal Makineyi Export Etme
$XenSunucu = "XenServer Adresi" $VMAdi = "Sanal Makine İsmi" $DosyaYolu = "C:\Source" $VM = Get-XenVM -Name $VMAdi Export-XenVm -Uuid $VM.uuid -XenSunucu $XenSunucu -path "$DosyaYolu\VM.xva"
Şimdi bu komutlar ile birlikte hayal gücünüze de bağlı olarak çoğu sunucu işlemlerinizi Powershell ile otomatikleştirebilirsiniz.
Umarım sizlerle için de yararlı bir makale olmuştur.