29 Aralık 2013 Pazar

Birden fazla Serverın Snapshot Alanının Değiştirilmesi



Merhabalar,

Snapshot alanının değiştirilmesi ile ilgili yazdığım  yazıya istinaden bir soru almıştım birden fazla Server ın Snapshot alanının değiştirilmesi gibi.Yazıyı yazdığım dönemde böyle bir imkan yoktu açıkçası şu an var mı pek araştırmadım. Powershell i kurcalayıp öğrenmeye çalışmak hoşuma gittiği için  şimdi kendim bir script yazmaya karar verdim. TEST ORTAMLARINIZ için aşağıdaki çok amatör script i kullanabilirsiniz :))

Script in yaptığı şey şu;

Sizden server ip sini istiyor
Kullanıcı adı ve şifre girmenizi istiyor
Bağlantı sağlandıktan sonra sizehangi server için değişiklik yapmak istediğiniz soruyor tek bir sunucu için örn;
TESTVM yazarak geçebilirsiniz. hepsini yapmak isterseniz ALLVMS yazdığınızda esx üstündeki bütün serverlara ayarı uygulayacaktır.
Son aşama olarak yeni snapshot yerinin neresi olacağını soruyor

Bilgileri girdikten sonra zaten  vSphere Client ın taks bar ında "Reconfigure" ibaresini görüyor olacaksınız.

Not: script i çalıştırabilmek için vmware powerscli ın bilgisayarınızda yüklü olması gerekli.
Not 2 : Prod. ortamlarda çalıştırmayın  başta da belirttiğim gibi powershell bilmiyorum ara ara bakıp öğrenmeye çalışıyorum :)




$Server = Read-Host "Lütfen Server adresiniz giriniz..."
Connect-VIServer -Server $Server
    $VM = Read-Host "Lütfen işlem yapmak istediğiniz VM adını giriniz..."
    $Location = Read-Host "Lütfen yeni Snapshot alanını örnekteki gibi yazınız [datastore1] foldername/subfoldername"
 
 
    IF ($VM -eq "ALLVMS")


    {$ALLVMS = Get-VM  | Get-View

   
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Files = New-Object VMware.Vim.VirtualMachineFileInfo
$vmConfigSpec.Files.SnapshotDirectory = "$Location"
$ALLVMS.ReconfigVM($vmConfigSpec)
}

   
    ELSE

    { ($VMinf = Get-VM -Name $VM  | Get-View)
    }



$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Files = New-Object VMware.Vim.VirtualMachineFileInfo
$vmConfigSpec.Files.SnapshotDirectory = "$Location"
$Vminf.ReconfigVM($vmConfigSpec)

Hiç yorum yok:

Yorum Gönder