Bir zamanlar 300 üstü sanala sunucumuz olan Livemigration çalışan bir yapıda , sanal sunucular live migration ile farklı makinaya taşınırken sunucuların işlemcileri farklı olduğu için hata mesajı vermekteydi.Tüm makinaları kapatıp seçeneklerden farklı Cpular içinde çalıştırma seçeneğini aktif ederek yeniden açmak gerekiyordu.300+ sanal sunucu için bunu yapmak en az iki gün demekti.
Poweshell ile bu konuyu hızlıca çözmüştük.Makina kapanır , seçenek aktif edilir ve tekrar açılır.
Böylece live migration hatası çözülür.
function CPULimit
{
$list =
”
Sunucu ismi 1
Sunucu ismi 2
Sunucu ismi 3
Sunucu ismi 4
”
$makineler = $list.Split(“`r`n”, [StringSplitOptions]’RemoveEmptyEntries’)
$makineler | foreach {
$name = $_.Trim()
$makine = (Get-VM | where { $_.Name -eq $name })
if ($makine.Status -eq “Running”)
{
Stop-VM -VM $makine > $null
Set-VM -VM $makine -CPULimitForMigration $true > $null
Start-VM -VM $makine > $null
if ($makine.LimitCPUForMigration -eq $true -and $makine.Status -eq “Running”)
{
Write-Output “$makine Tamamlandı”
}
else
{
Write-Output “$makine HATA!”
}
}
else
{
Set-VM -VM $makine -CPULimitForMigration $true > $null
if ($makine.LimitCPUForMigration -eq $true)
{
Write-Output “$makine Tamamlandı”
}
else
{
Write-Output “$makine HATA!”
}
}
}
}
İgor Khucukemko’ya sevgilerle..