Proxmox Ortamında VM’leri Görevlerine Göre Ayırma

Proxmox, bir fiziksel sunucu üzerinde birden fazla sanal makine çalıştırmayı mümkün kılar. Bu sanal makineler aynı kaynakları kullanır ancak farklı işlevler için çalışır. Buna rağmen birçok ortamda tüm sanal makineler tek tip ayarlarla kurulur.

Oysa bir web sunucusu ile sadece veritabanı hizmeti veren bir sanal makinenin gereksinimleri farklıdır. Role göre yapılandırma, her sanal makineyi yaptığı işe uygun hale getirmeyi ifade eder.

Proxmox’ta VM Rolü Neyi İfade Eder?

Bir sanal makinenin rolü, sistemin ana işlevini tanımlar. Proxmox, VM’lerin ne iş yaptığını ayırt etmediği için rol biz tanımlamadıkça tüm sanal makineler benzer davranır.

CPU Nedir ve VM Rolüne Göre Neden Değişir

CPU, sanal makinenin işlem gücünü belirleyen temel bileşendir ancak yalnızca çekirdek sayısından ibaret değildir. Web sunucuları daha çok hızlı tekil işlemlere ihtiyaç duyarken, worker yapılar çok çekirdekli işlemden daha fazla fayda sağlar. Bu nedenle tüm sanal makinelerde aynı CPU ayarını kullanmak doğru bir yaklaşım değildir.

Proxmox’ta bir sanal makinenin CPU ayarları, ilgili VM seçildikten sonra Hardware bölümünde yer alan CPU alanı üzerinden düzenlenir.

CPU ayarlarında en önemli alanlardan biri CPU Type bölümüdür. CPU Type değeri host olarak belirlendiğinde sanal makine, fiziksel işlemcinin yeteneklerini doğrudan kullanmaya başlar. Bu yapılandırma özellikle web ve uygulama sunucularında gecikmenin düşmesine yardımcı olur.

Aynı ayar Proxmox CLI kullanılarak terminal üzerinden de yapılabilir.

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

Tek node çalışan yapılarda bu ayarların yönetimi oldukça kolaydır. Proxmox cluster ortamlarında ise CPU Type, NUMA ve bellek yapılandırmaları tüm node’larda tutarlı olmalıdır.

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 özelliği açık olduğunda Proxmox, ihtiyaç halinde VM’den RAM geri alır. Bu yapı test sistemlerinde tolere edilebilir. Ancak veritabanı sunucularında RAM’in aniden azalması kilitlenmelere ve ani yavaşlamalara yol açabilir. Bu nedenle veritabanı VM’lerinde ballooning kullanılmaz.

Bu ayar terminalden aşağıdaki şekilde yapılı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.

Bu ekranda yer alan IO Thread ayarı, disk işlemlerinin çalışma şeklini doğrudan etkiler. IO Thread aktif edildiğinde disk I/O işlemleri ayrı bir iş akışında çalışır. Disk yükü yüksek olan sistemlerde bu ayar performansı belirgin şekilde artırır. Cache yapılandırması ise role göre seçilmelidir. Veritabanlarında güvenli, web sistemlerinde ise performans öncelikli cache ayarları tercih edilir.

Terminalden IO Thread açmak için aşağıdaki komut kullanılır.

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

NUMA Ayarı Nerede Bulunur?

NUMA ayarı, Proxmox üzerinde sanal makinenin CPU düzenleme ekranında yer alır. Bu ayar, sanal makinenin CPU ve bellek erişimini daha dengeli kullanmasını sağlar ve belirli senaryolarda performans avantajı sunar.

NUMA ayarı, yüksek RAM kullanan ve büyük ölçekli VM’lerde anlam kazanır. Küçük ve orta seviye sanal makinelerde NUMA’nın açık olması genellikle performansa katkı sağlamaz ve ek gecikmelere neden olabilir. Bu nedenle web ve küçük servis VM’lerinde NUMA kapalı tutulur.

Terminalden NUMA’yı kapatmak için şu komut uygulanır.

qm set 104 --numa 0

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

Role göre yeniden yapılandırma, yalnızca tek tek ayarları değiştirmekten ibaret değildir. Bu yaklaşım belirli bir mantık ve sıralama üzerinden ilerler.

İlk adımda her sanal makinenin hangi işi yaptığı netleştirilir. Daha sonra 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 yüksek olan sanal makineler özellikle belirlenir. Kritik servislerde esnek kaynak davranışları devre dışı bırakılır. Monitoring, yönetim ve yedekleme gibi yardımcı sanal makineler ise ü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