Dedicated Sunucu

Canlı Göç: Sanal Makineyi Kapatmadan Başka Sunucuya Taşımak

Göçün çalışma mantığı, ön koşullar, işlemci uyumluluğu, depolamasız göç, başarısızlık nedenleri ve otomatik göç senaryoları. Canlı Göç: Sanal Makineyi…

Canlı Göç: Sanal Makineyi Kapatmadan Başka Sunucuya Taşımak
İçindekiler
  1. Nasıl Çalışır?
  2. Ön Koşullar
  3. Depolama Olmadan Göç
  4. Göç Neden Başarısız Olur?
  5. Ne Zaman Kullanılır?
  6. Otomatik Göç
  7. Test Etmek
  8. Sonuç
  9. Sıkça Sorulan Sorular (SSS)
  10. Canlı göçte gerçekten kesinti olmuyor mu?
  11. Farklı sunucular arasında göç yapabilir miyim?
  12. Paylaşımlı depolama şart mı?
  13. Göç neden tamamlanmıyor?

Canlı Göç: Sanal Makineyi Kapatmadan Başka Sunucuya Taşımak

Fiziksel sunucunuza bakım yapmanız gerekiyor ama üzerinde çalışan sanal makineler var. Klasik yöntemde hepsini kapatır, bakımı yapar, tekrar açarsınız — ve saatlerce kesinti yaşarsınız.

Canlı göç bu kesintiyi ortadan kaldırır. Bu yazı nasıl çalıştığını ve neyin gerektiğini ele alıyor.

Nasıl Çalışır?

Çalışan bir sanal makineyi taşımak, üç şeyin aktarılmasını gerektirir:

  1. Disk içeriği — paylaşımlı depolamada zaten ortaktır
  2. Bellek durumu — asıl zor kısım
  3. İşlemci ve cihaz durumu — küçük ve hızlı

İkinci maddedeki zorluk şudur: bellek aktarılırken makine çalışmaya devam eder ve belleği değiştirmeye devam eder.

Çözüm yinelemeli bir yaklaşımdır: önce tüm bellek kopyalanır, sonra bu sırada değişen sayfalar tekrar kopyalanır, sonra onların da değişenleri kopyalanır — kalan miktar yeterince küçülene kadar.

Son adımda makine bir an durdurulur, kalan küçük parça aktarılır ve hedef sunucuda devam eder. Bu duraklama genellikle milisaniyeler sürer.

Ön Koşullar

Canlı göç için altyapının belirli özellikleri taşıması gerekir:

Gereksinim Neden
Paylaşımlı depolama Disk taşınmasın
Uyumlu işlemciler Komut seti farkı sorun çıkarır
Aynı ağ segmenti IP adresi korunsun
Hızlı ağ bağlantısı Bellek aktarımı için
Yeterli boş bellek Hedefte yer olmalı

İkinci satır en sık karşılaşılan engeldir: farklı nesil işlemcilere sahip sunucular arasında göç, komut seti uyumsuzluğu nedeniyle başarısız olabilir.

Çözüm, sanallaştırma katmanında ortak bir işlemci profili tanımlamaktır — böylece sanal makine yalnızca her iki sunucuda da bulunan özellikleri görür.

Bunun bedeli, yeni işlemcinin bazı özelliklerinden yararlanamamaktır. Performans ile esneklik arasında bilinçli bir tercihtir.

Depolama Olmadan Göç

Paylaşımlı depolama yoksa da göç mümkündür ama farklıdır:

  • Disk de aktarılmalıdır. Bellekten çok daha büyük.
  • Süre kat kat uzar.
  • Ağ yükü yüksektir.
  • Kesinti riski artar.

Bu yöntem yine de değerlidir: paylaşımlı depolama olmadan yapılan göç saatler sürebilir ama yine de kesintisizdir — planlı bakımlar için kabul edilebilir.

Kritik olan, aktarım süresince kaynak sunucunun sağlıklı kalmasıdır. Arızalanmak üzere olan bir sunucudan bu yöntemle göç riskli olabilir.

Göç Neden Başarısız Olur?

Yinelemeli bellek kopyalama her zaman yakınsamaz:

  1. Makine belleği çok hızlı değiştiriyorsa.
  2. Ağ bant genişliği yetersizse.
  3. Bellek boyutu çok büyükse.

Birinci madde temel sınırı oluşturur: bellek değişim hızı ağ aktarım hızından yüksekse, kalan miktar hiç küçülmez ve göç tamamlanamaz.

Bu durumda sanallaştırma katmanı genellikle bir eşikten sonra makineyi durdurup kalan belleği tek seferde aktarır. Kesinti süresi uzar ama işlem tamamlanır.

Yoğun veritabanı sunucuları bu sınıra en çok yaklaşan iş yükleridir. Bu tür makineler için göç zamanlaması, düşük yük saatlerine denk getirilmelidir.

Ne Zaman Kullanılır?

Canlı göçün somut kullanım alanları:

Senaryo Kazanç
Donanım bakımı Kesintisiz bakım penceresi
Firmware güncellemesi Sunucu boşaltılır
Yük dengeleme Yoğun sunucu rahatlatılır
Donanım arıza belirtisi Çökmeden tahliye
Enerji tasarrufu Az yüklü sunucular birleştirilir

Dördüncü satır en değerli kullanımdır: bellek hatası veya disk uyarısı veren bir sunucudan makineleri tahliye etmek, arıza gerçekleşmeden önce riski ortadan kaldırır.

Bu, izleme sistemiyle birlikte çalıştığında otomatikleştirilebilir — belirli uyarılarda makineler kendiliğinden başka sunucuya taşınır.

Otomatik Göç

Kümelenmiş yapılarda göç otomatik tetiklenebilir:

  • Kaynak eşiği aşıldığında dengeleme yapılır.
  • Donanım uyarısında tahliye başlar.
  • Bakım moduna alınan sunucu boşaltılır.
  • Düşük yükte konsolidasyon yapılır.

Dördüncü madde enerji tasarrufu sağlar ama dikkat gerektirir: gece boşaltılan sunucuların sabah yükü karşılamak için zamanında açılması gerekir — aksi hâlde tasarruf, performans sorununa dönüşür.

Üçüncü madde ise operasyonel kolaylık sağlar. Bir sunucuyu bakım moduna almak, üzerindeki tüm makinelerin otomatik olarak başka sunuculara dağıtılmasını tetikler.

Test Etmek

Canlı göç kurulduktan sonra doğrulanmalıdır:

  1. Test makinesiyle deneyin. Üretim öncesi.
  2. Kesinti süresini ölçün. Sürekli ping ile.
  3. Ağ bağlantılarının koptuğunu kontrol edin.
  4. Yüklü bir makineyle tekrarlayın.
  5. Süreyi kaydedin. Planlama için referans.

Üçüncü madde beklenmedik sorunları ortaya çıkarır: göç sırasındaki kısa duraklama, uzun süreli bağlantıları koparabilir — özellikle zaman aşımı kısa ayarlanmış istemcilerde.

Dördüncü madde ise gerçek koşulları yansıtır. Boş bir test makinesiyle yapılan göç saniyeler sürer; yoğun bir veritabanı sunucusunda tablo tamamen farklıdır.

Kendi donanımınızı yönettiğiniz fiziksel sunucu yapılarında bu testleri bakım penceresi öncesinde yapmak, gerçek göç anında sürpriz yaşamamanızı sağlar.

Sonuç

Canlı göç, bakım kesintilerini ortadan kaldıran güçlü bir yetenektir ve temel mekanizması yinelemeli bellek kopyalamadır. En sık karşılaşılan engel işlemci uyumsuzluğudur — farklı nesil işlemciler arasında göç, ortak bir işlemci profili tanımlanmadan başarısız olabilir. Ayrıca bir sınır vardır: bellek değişim hızı ağ hızından yüksekse göç yakınsamaz. En değerli kullanımı ise arıza belirtisi veren bir sunucudan makineleri çökmeden önce tahliye etmektir.

Sıkça Sorulan Sorular (SSS)

Canlı göçte gerçekten kesinti olmuyor mu?

Çok kısa bir duraklama olur — genellikle milisaniyeler. Son adımda makine bir an durdurulup kalan bellek parçası aktarılır. Kullanıcılar bunu fark etmez ama zaman aşımı çok kısa ayarlanmış uzun süreli bağlantılar kopabilir.

Farklı sunucular arasında göç yapabilir miyim?

İşlemciler uyumluysa evet. Farklı nesiller arasında komut seti uyumsuzluğu göçü engelleyebilir. Çözüm, sanallaştırma katmanında ortak bir işlemci profili tanımlamaktır — bedeli, yeni işlemcinin bazı özelliklerinden yararlanamamaktır.

Paylaşımlı depolama şart mı?

Şart değil ama olmadığında disk de aktarılır ve süre kat kat uzar. Yine de kesintisizdir, dolayısıyla planlı bakımlar için kullanılabilir. Kritik nokta, aktarım boyunca kaynak sunucunun sağlıklı kalmasıdır.

Göç neden tamamlanmıyor?

Muhtemelen makine belleği ağ aktarım hızından daha hızlı değiştiriyor — bu durumda kalan miktar hiç küçülmez. Yoğun veritabanı sunucuları bu sınıra en çok yaklaşan iş yükleridir; göçü düşük yük saatlerine denk getirin.