1. Ana Sayfa
  2. Hypervisor
  3. Citrix Hypervisor (XenServer) Powershell Rehberi

Citrix Hypervisor (XenServer) Powershell Rehberi

CitrixPS

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.

 

Yorum Yap

Yorum Yap