Sanal Makinelerde Bellek Yönetimi (Memory Ballooning) Nedir?

müfettiş

Moderatör
Katılım
20 Ocak 2024
Mesajlar
325
Tepkime puanı
1
Puanları
18

images.jpg

Sanal Makinelerde Bellek Yönetimi (Memory Ballooning) Nedir?​


Giriş: Fiziksel Sınırları Zorlamak (Overcommitment)​

Sanallaştırmanın en büyük ekonomik avantajı Overcommitment (Kapasite Aşımı) yapabilmektir. Fiziksel sunucunuzda 100 GB RAM varsa, üzerine her biri 10 GB RAM isteyen 15 tane sanal makine (toplam 150 GB talep) kurabilirsiniz. Çünkü VM'ler her zaman %100 RAM kullanmazlar.

Ancak bir gün hepsi aynı anda RAM isterse ne olur? İşte Hypervisor'ın bu krizi yönetmek için kullandığı en zekice tekniklerden biri Memory Ballooning (Bellek Balonlama) teknolojisidir.

Ballooning Nasıl Çalışır?​

Ballooning, Hypervisor (ESXi/KVM) ile Sanal Makine (Guest OS) arasındaki bir işbirliğidir. Bunun çalışması için VM içinde "VMware Tools" veya "VirtIO Balloon Driver" yüklü olmalıdır.

Süreç şöyle işler:
  1. Talep: Fiziksel sunucuda (Host) RAM biter. Hypervisor, "Az kullananlardan RAM geri almalıyım" der.
  2. Şişirme (Inflation): Hypervisor, Sanal Makine A'nın (Guest) içindeki "Balon Sürücüsüne" emir verir: "Şişmeye başla!"
  3. Baskı: Balon sürücüsü, VM'in işletim sisteminden (Windows/Linux) sahte bir uygulama gibi RAM talep etmeye başlar. İşletim sistemi, "Bu sürücü RAM istiyor" diyerek boşta duran RAM sayfalarını bu balona tahsis eder.
  4. Geri Alma (Reclaiming): VM içindeki balon şiştikçe, o alan aslında kilitlenir. Hypervisor, balonun kapladığı bu fiziksel RAM alanını VM'in elinden alır ve ihtiyacı olan Sanal Makine B'ye verir.
Sanal Makine A, RAM'inin bir uygulamanın (balonun) kullandığını sanar, ama aslında o RAM fiziksel olarak başka bir VM'e gitmiştir.

Balon Sönerse (Deflation)​

Sanal Makine B işini bitirip RAM'i serbest bıraktığında, Hypervisor Sanal Makine A'daki balona "Sön" emri verir. Balon küçülür ve RAM tekrar Sanal Makine A'nın kullanımına açılır.

Riskler ve Swap Sorunu​

Ballooning harika bir teknolojidir ancak bir sınırı vardır. Eğer Hypervisor balonu çok fazla şişirirse, Sanal Makine A'nın işletim sistemi panikler: "RAM yetmiyor!"Bu durumda VM, kendi içindeki Disk Swap (Sanal Bellek) alanını kullanmaya başlar. Disk, RAM'den binlerce kat yavaştır. Sonuç olarak Sanal Makine A aşırı yavaşlar (Performance Degradation).

Sonuç: Sistem Yöneticisi Ne Yapmalı?​

  • İzleme: Ballooning aktivitesini izleyin. Eğer sürekli "Active" ise, sunucunuza RAM ekleme vakti gelmiştir.
  • Limit: Kritik sunuculara (Veritabanı gibi) "Memory Reservation" (RAM Rezervasyonu) yapın. Bu, Hypervisor'a "Ne olursa olsun bu makinenin RAM'ine dokunma, balonlama yapma" demektir.
 
Geri
Üst