Proxmox Sanal Sunucularını Role Göre Yapılandırma
Proxmox, tek bir fiziksel sunucu üzerinde birden fazla sanal makinenin çalışmasına olanak sağlar. Bu sanal makineler aynı sistemi kullanır fakat farklı görevler üstlenir. Buna karşın pek çok ortamda tüm sanal makineler aynı donanım ve ayarlarla kurulur.
Ancak bir web sunucusu ile yalnızca veritabanı çalışan bir sanal makinenin beklentileri farklıdır. Role göre yapılandırma, sanal makineleri üstlendikleri işe uygun şekilde tasarlamak demektir.
Sanal Makine Rolü Ne Anlama Gelir?
Bir sanal makinenin rolü, sistemin üstlendiği ana görevi tanımlar. Proxmox, VM’lerin hangi işi yaptığını otomatik olarak ayırt etmez. Rol belirlenmediğinde tüm sanal makineler aynı kaynak davranışını sergiler.
Web sunucuları düşük gecikmeli yanıt beklerken, veritabanları kararlı bellek ve disk performansına ihtiyaç duyar. Worker sistemlerde ise öncelik, paralel işlem kapasitesidir.
CPU Ne İşe Yarar?
CPU, sanal makinenin işlem gücünü tanımlar ancak yalnızca çekirdek sayısına bakmak yeterli değildir. Web sunucuları hızlı tekil işlem performansına ihtiyaç duyar. Worker yapılar ise çok çekirdekli işlem gücünden daha etkin şekilde faydalanır. Bu nedenle tüm VM’lere aynı CPU ayarını uygulamak doğru sonuç vermez.
Proxmox’ta CPU yapılandırması, ilgili VM seçildikten sonra Hardware bölümündeki CPU alanı üzerinden yapılır.

CPU yapılandırmasında en kritik alanlardan biri CPU Type seçeneğidir. CPU Type değeri host olarak ayarlandığında sanal makine, fiziksel işlemcinin sunduğu özelliklerden doğrudan faydalanır. Bu durum özellikle web ve uygulama sunucularında daha düşük gecikme süreleri sağlar.
Aynı işlem komut satırı üzerinden Proxmox CLI ile de gerçekleştirilebilir.
qm set 101 --cpu host --sockets 1 --cores 4Tek node sistemlerde bu ayarların yönetimi daha basittir. Cluster yapılarında ise CPU Type, NUMA ve bellek yapılandırmalarının tüm node’larda aynı olması zorunludur.e 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 aktif olduğunda Proxmox, sistem ihtiyacına göre VM’lerden RAM geri alabilir. Test ortamlarında bu davranış kabul edilebilir. Ancak veritabanı sunucularında RAM’in ani azalması kilitlenmelere ve beklenmedik yavaşlamalara neden olabilir. Bu yüzden veritabanı VM’lerinde ballooning devre dışı bırakılır.
Bu ayar terminalden aşağıdaki komutla yapılabilir.
qm set 102 --memory 8192 --balloon 0Disk 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.
Bu ekranda bulunan IO Thread ayarı, disk performansı açısından kritik öneme sahiptir. IO Thread etkinleştirildiğinde disk işlemleri ana işlem akışından ayrılarak ayrı bir iş bölümünde yürütülür. Özellikle disk I/O yoğunluğu olan sistemlerde bu ayar belirgin bir performans artışı sağlar. Cache seçimi ise role göre yapılmalıdır. Veritabanlarında veri güvenliği, web sistemlerinde ise hız ön planda tutulur.
IO Thread ayarını terminalden yapmak için şu komut kullanılır.
qm set 103 --scsihw virtio-scsi-pci --iothread 1Proxmox’ta NUMA Ayarı Nerede Yapılır?
NUMA ayarı, sanal makinenin CPU yapılandırma ekranında bulunur. Doğru senaryolarda kullanıldığında CPU ve bellek erişimi arasındaki gecikmeleri azaltmaya katkı sağlar.

NUMA ayarı, yüksek RAM ve geniş kaynak kullanan büyük sanal makineler için avantaj sağlar. Küçük ve orta ölçekli VM’lerde ise NUMA’nın açık olması genellikle performans artışı sağlamaz ve gecikmeye neden olabilir. Bu yüzden web ve hafif servis VM’lerinde NUMA kapalı bırakılır.
Aynı işlem terminal üzerinden şu komutla yapılır.
qm set 104 --numa 0Proxmox’ta Rol Bazlı Yeniden Tasarım Yaklaşımı
Role göre yeniden tasarım, rastgele ayar değişiklikleriyle değil, planlı bir süreçle yapılır. Her adım belirli bir mantığa dayanır.
Öncelikle her sanal makinenin üstlendiği görev tanımlanır. Ardından CPU, RAM veya disk ağırlıklı çalışan VM’ler birbirinden ayrılır. Disk yoğunluğu olan sistemler özellikle tespit edilir. Kritik servislerde esnek kaynak kullanımına izin verilmez. Monitoring, yönetim ve yedekleme gibi yardımcı VM’ler üretim sistemlerinden mantıksal olarak ayrıştırı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 0Monitoring 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