Proxmox Sanal Makinelerde Rol Bazlı Ayrım

Proxmox sayesinde tek bir fiziksel sunucu üzerinde birden fazla sanal makine çalıştırılabilir. Bu sanal makineler aynı altyapıyı paylaşsa da gerçekleştirdikleri işler birbirinden farklıdır. Buna rağmen çoğu kurulumda tüm sanal makineler aynı ayarlarla oluşturulur.

Fakat web sunucusu olarak çalışan bir sistem ile yalnızca veritabanı barındıran bir sistemin ihtiyaçları aynı değildir. Role göre tasarım, her sanal makinenin görevine uygun şekilde yapılandırılması anlamına gelir.

VM Rolü Kavramı

VM rolü, sanal makinenin hangi amaçla çalıştığını ifade eder. Proxmox, sanal makinelerin görevlerini bilmez ve rol tanımlaması yapılmadığında tüm VM’ler aynı şekilde yapılandırılır.

Bir web sunucusu için hızlı yanıt kritik öneme sahiptir. Veritabanı sistemleri daha stabil bellek ve disk isterken, worker sistemler paralel işlem gücüne ihtiyaç duyar.

VM’lerde CPU Kavramı ve Rol Bazlı Farklılıklar

CPU, sanal makinenin işlem kapasitesini belirler fakat bu kapasite yalnızca çekirdek sayısıyla açıklanamaz. Web sunucuları hızlı yanıt veren tekil işlemler isterken, worker sistemler paralel işlem gücünden daha fazla yararlanır. Bu yüzden her sanal makineye aynı CPU yapılandırmasını vermek verimli değildir.

Proxmox üzerinde CPU ayarları, ilgili sanal makine seçilerek Hardware sekmesindeki CPU alanından değiştirilebilir.

Bu ekranda yer alan CPU Type alanı performans açısından belirleyicidir. CPU Type değeri host olarak seçildiğinde sanal makine, fiziksel işlemcinin tüm özelliklerini doğrudan kullanır. Bu ayar, özellikle gecikmeye duyarlı web ve uygulama sunucularında avantaj sağlar.

Aynı yapılandırma terminal üzerinden Proxmox CLI ile uygulanabilir.

qm set 101 --cpu host --sockets 1 --cores 4

Bu ayarlar tek node Proxmox sistemlerinde sorunsuz şekilde yönetilir. Ancak cluster ortamlarında CPU Type, NUMA ve bellek ayarlarının tüm node’larda aynı olması gerekir.alde live migration sırasında uyumsuzluklar, performans farkları ve VM açılış sorunları ortaya çıkabilir.

Bellek RAM ve Ballooning Nasıl Ayarlanır?

RAM ayarları da yine Hardware sekmesinden yapılır. Memory satırına girildiğinde Ballooning seçeneği görülür.

Ballooning açıkken Proxmox, gerektiğinde sanal makinenin RAM’ini düşürebilir. Test sistemlerinde bu durum genellikle problem yaratmaz. Fakat veritabanı gibi kritik servislerde RAM’in anlık azalması sistemin kilitlenmesine ve performansın ciddi şekilde düşmesine neden olabilir. Bu sebeple veritabanı VM’lerinde ballooning kapatılır.

Aynı yapılandırma terminal üzerinden şu komutla uygulanır.

qm set 102 --memory 8192 --balloon 0

Disk ve IO Ayarları

Disk performansı yalnızca kapasiteyle ilgili değildir. IO, diske yapılan okuma ve yazma işlemlerini ifade eder.

  • Disk tipi,
  • Cache ayarı,
  • IO Thread
    gibi ayarlar yer alır.

Disk ayarları da yine Hardware sekmesinde Hard Disk satırından düzenlenir.

IO Thread seçeneği bu ekranda yapılandırılır. IO Thread açıldığında disk işlemleri ayrı bir iş parçacığına taşınır. Disk yoğun çalışan sanal makinelerde bu yapılandırma ciddi performans kazanımı sağlar. Cache ayarı da sanal makinenin rolüne göre belirlenmelidir. Veritabanı sistemlerinde daha güvenli cache ayarları tercih edilirken, web sunucularında performans odaklı ayarlar kullanılır.

Aynı işlem terminal üzerinden aşağıdaki komutla yapılabilir.

qm set 103 --scsihw virtio-scsi-pci --iothread 1

NUMA Ayarı Nedir?

NUMA yapılandırması, sanal makinenin CPU ayarlarının bulunduğu ekrandan yapılır. Bu ayar, özellikle yüksek kaynak kullanan sistemlerde CPU ve bellek erişiminin daha verimli çalışmasına yardımcı olur.

NUMA, özellikle büyük ve yüksek bellekli sanal makinelerde kullanılmalıdır. Küçük ve orta ölçekli VM’lerde NUMA’nın açık olması çoğu senaryoda gereksizdir ve gecikme yaratabilir. Web sunucuları ve küçük servisler için NUMA kapalı tutulması önerilir.

NUMA’yı terminalden kapatmak için aşağıdaki komut kullanılır.

qm set 104 --numa 0

Proxmox Üzerinde Role Göre Yeniden Yapılandırma

Role göre yeniden tasarım, tek tek ayar değiştirmekten ibaret değildir. Süreç belirli bir mantıkla ilerler.

Önce her sanal makinenin ne iş yaptığı netleştirilir. Ardından hangi VM’in CPU ağırlıklı, hangisinin RAM veya disk ağırlıklı çalıştığı ayrıştırılır. Disk yoğunluğu olan VM’ler özellikle belirlenir. Kritik servislerde esnek kaynak davranışları kapatılır. Monitoring, yönetim ve yedekleme gibi yardımcı VM’ler üretim yüklerinden mantıksal olarak ayrılır.

Sık Sorulan Sorular

Veritabanı sunucusu belirli saatlerde kilitleniyor?

Veritabanı VM’inde ballooning kapatılır ve bellek sabitlenir. Bu, RAM dalgalanmasını tamamen ortadan kaldırır.

qm set 102 --memory 16384 --balloon 0

Monitoring veya backup VM’i çalışırken production sistemler yavaşlıyor?

Yardımcı VM’ler mümkünse ayrı storage planına alınır veya IO davranışı sınırlandırılır. En azından disk yoğunluğu saatleri production yükünden ayrılır.

NUMA açıkken küçük VM’lerde gecikme artıyor?

Web ve küçük servis VM’lerinde NUMA kapatılır. NUMA yalnızca büyük VM’lerde test edilerek kullanılır.

qm set 104 --numa 0

Yorum yapın