VMware ESXi Network Load Balancing Algoritmaları

VMware ESXi’de sanal ağ trafiğinin verimli ve hataya dayanıklı bir şekilde yönetilebilmesi için, fiziksel NIC’ler arasında doğru dağıtım yapılması gerekir. Bu dağıtım, Virtual Switch (vSwitch) veya Distributed Virtual Switch (vDS) üzerinde tanımlanan yük dengeleme (load balancing) algoritmaları sayesinde gerçekleştirilir. Doğru algoritma seçimi, kullanacağımız senaryolara göre bant genişliğinin etkin kullanımı, yedeklilik ve performans optimizasyonu açısından kritik öneme sahiptir. Bu makalede, ESXi’de kullanılan temel yük dengeleme yöntemlerini özet bir şekilde inceleyerek hangi senaryoda hangi algoritmanın daha uygun olduğunu ele alacağız.

Bu makalede, ESXi’de kullanılan beş temel load balancing yöntemini (Route Based on Originating Virtual Port, Route Based on IP Hash, Route Based on Source MAC Hash, Route Based on Physical NIC Load ve Use Explicit Failover Order) inceleyeceğiz.

Temel Kavramlar

NIC Teaming: İki veya daha fazla fiziksel NIC’in tek bir mantıksal bağlantı olarak birleştirilerek yük dengeleme, hata toleransı (failover) veya yedeklilik sağlamak için kullanılır

Load Balancing (Yük Dengeleme): Ağ trafiğinin birden fazla fiziksel NIC veya bağlantı üzerinde dengeli dağıtılmasını sağlayan teknolojidir. VMware ESXi’de yük dengeleme, NIC Teaming politikalarıyla gerçekleştirilir. Örneğin, “Route Based on Originating Virtual Port”, “Route Based on IP Hash” veya “Route Based on Physical NIC Load” gibi algoritmalar kullanılır.

Statik Ethernet Channel veya LACP: Birden fazla fiziksel bağlantının tek bir mantıksal kanal olarak çalışmasını sağlayan protokollerdir. Statik Ethernet Channel (veya Statik Link Aggregation), manuel olarak yapılandırılır ve LACP (Link Aggregation Control Protocol) gibi dinamik bir protokol kullanılmaz. LACP ise, bağlantıların durumunu otomatik olarak izler ve yönetir. “Route Based on IP Hash” politikası ile beraber kullanılır.

Virtual NICs (vNIC) ve Physical NICs (pNIC): vNIC’ler, sanal makineler için ESXi hipervizörü tarafından sağlanan sanal ağ bağdaştırıcılarıdır ve genellikle VMXNET3 veya E1000 gibi sanal donanımlar olarak yapılandırılır. pNIC’ler ise ESXi hostunun fiziksel ağ bağdaştırıcılarıdır.

1. Route Based on Originating Virtual Port

Route Based on Originating Virtual Port, vSphere Standard Switch (vSS) ve vSphere Distributed Switch (vDS) için varsayılan yük dengeleme (load balancing) yöntemidir. Her sanal makine (VM) veya VMkernel portu vSwitch’e bağlandığında, bir sanal port kimliği (virtual port ID) alır. vSwitch, bu port kimliğini mevcut aktif uplink’lerden birine statik olarak eşler ve VM’nin trafiği bu uplink üzerinden yönlendirilir. Bu eşleşme, uplink arızalanmadıkça, VM başka bir host’a taşınmadıkça veya kapatılıp tekrar açılmadıkça değişmez.

Özellikler ve Sınırlamalar:

  • Fiziksel switch üzerinde ek bir yapılandırma gerektirmez; bu da kurulumu basit ve hızlı hale getirir. vSS ve vDS ile uyumludur. Her tür fiziksel switch ile çalışır ve uplink’ler switch üzerinde bağımsız portlara bağlanabilir.
  • Statik eşleşme sayesinde, VM’nin port kimliği bir uplink’e sabit bir şekilde atanır. VM kapatılmadığı veya taşınmadığı sürece bu atama değişmez. Bu sabitlik nedeniyle VM trafiği sürekli aynı uplink üzerinden yönlendirilir. Yük durumu veya diğer dinamik faktörler bu atamayı etkilemez. Hesaplama yalnızca bir kez yapıldığı için CPU kullanımı oldukça düşüktür.
  • Sanal NIC’lerin (vNIC) sayısı fiziksel NIC’lerin (pNIC) sayısından fazla olduğunda, VM’ler mantıksal olarak fiziksel NIC’lere eşit şekilde dağıtılmış gibi varsayılabilir.
  • Bir VM yalnızca bir fiziksel NIC üzerinden trafiğini iletebildiği için, tek bir uplink’in bant genişliğiyle sınırlıdır. Eğer yüksek trafik üreten birden fazla VM aynı uplink’e atanırsa, virtual switch uplinkteki trafik yükünün farkında olmadığı için bu durum yük dengesizliğine ve performans sorunlarına yol açabilir. Böyle durumlarda elle müdahale gerekebilir.

2. Route Based on IP Hash

Route Based on IP Hash, Her paketin kaynak ve hedef IP adreslerinden oluşturulan bir hash fonksiyonuna dayanarak uplink seçer. Bu sayede, bir VM’nin farklı IP adresleriyle iletişim kurarken birden fazla NIC kullanmasını sağlar, böylece bant genişliğini eşit şekilde kullanarak bant genişliği arttırılmasını sağlar.

Özellikler ve Sınırlamalar:

  • Fiziksel switch üzerinde statik EtherChannel veya LACP yapılandırması gereklidir. Tüm uplink’lerin aktif olması gerekir; standby veya kullanılmayan uplink’ler kullanılamaz. Eğer standart switch kullanıyorsanız, statik EtherChannel yapılandırması yapmanız gerekmektedir. LACP, yalnızca vDS (Distributed Virtual Switch) üzerinde kullanılabilir. Ayrıca, switch’lerdeki EtherChannel port sayısı ile virtual switch port sayısının eşit olması gerekir.
  • VM’ler, birden fazla NIC üzerinden trafik dağıtarak daha iyi yük dengelemesi sağlar ve yüksek bant genişliği sunar. NIC arızası durumunda trafik otomatik olarak diğer uplink’lere yönlendirilir.
  • Hash hesaplaması, diğer yöntemlere göre daha fazla CPU tüketir. Eğer ortamınızda farklı IP adresleriyle iletişim var ise, trafik çok daha eşit dağıtılır ve bu da yüksek throughput anlamına gelir.
  • Eğer ortamınızda az sayıda IP adresi varsa, virtual switch trafiği çoğu zaman tek bir uplink bağlantısı üzerinden geçirebilir. Örneğin, bir uygulama sunucusu tarafından erişilen veritabanı sunucusuyla iletişimde, virtual switch yalnızca bir kaynak-hedef IP çifti olduğundan her zaman aynı uplink’i kullanır.
  • Çoğu yönetilebilir fiziksel switch, genellikle statik EtherChannel veya LACP yapılandırmasını destekler. Ayrıca, stacked switch veya Cisco vPC gibi teknolojiler kullanıldığında, switch donanım seviyesinde de yedeklilik sağlanabilir. Bu teknolojiler, iki fiziksel switch’i mantıksal olarak tek bir switch gibi gösterir.
  • Virtual switch, uplink’ler üzerindeki yükün farkında değildir. Eğer yüksek trafik üreten birden fazla VM aynı uplink’e atanırsa, bu durum yük dengesizliğine ve performans sorunlarına yol açabilir, çünkü virtual switch uplink’teki trafik yükünü izleyemez.

3. Route Based on Source MAC Hash

Route Based on Source MAC Hash, VM’nin sanal NIC’inin (vNIC) MAC adresinden türetilen bir hash fonksiyonuna göre uplink seçimi yapar. MAC adresleri genellikle rastgele üretildiğinden, bu yöntem VM’lerin uplink’ler arasında daha dengeli dağılmasını sağlar.

Özellikler ve Sınırlamalar:

  • Fiziksel switch üzerinde ek bir yapılandırma gerektirmez; bu da kurulumu basit ve hızlı hale getirir. vSS ve vDS ile uyumludur. Her tür fiziksel switch ile çalışabilir ve uplink’ler switch üzerinde bağımsız portlara bağlanabilir.
  • Route Based on Originating Virtual Port yöntemine kıyasla daha dengeli bir trafik dağılımı sağlar. Uplink ataması, VM’nin MAC adresine göre yapılan bir hash hesaplamasıyla belirlenir. MAC adresi genellikle değişmediği için, VM kapatılıp açıldığında ya da taşındığında bile aynı uplink kullanılmaya devam eder.
  • CPU kullanımı, IP Hash yöntemine göre daha düşüktür; ancak Route Based on Originating Virtual Port yöntemine kıyasla hash işlemi nedeniyle bir miktar daha fazla kaynak tüketir.
  • Bir VM yalnızca bir fiziksel NIC üzerinden trafiğini iletebildiğinden, tek bir uplink’in bant genişliğiyle sınırlıdır. Eğer yüksek trafik üreten birden fazla VM aynı uplink’e atanırsa, virtual switch uplink üzerindeki trafik yükünü algılayamadığından, bu durum yük dengesizliğine ve performans sorunlarına yol açabilir. Böyle durumlarda manuel müdahale gerekebilir.

4. Route Based on Physical NIC Load

Route Based on Physical NIC Load, virtual switch’in uplink bağlantılarının gerçek yükünü kontrol ettiği ve aşırı yüklü uplink bağlantılarında, yükü dengelemek için Route Based on Originating Virtual Port algoritmasını temel alan bir yöntemdir. Bu yöntem yalnızca vSphere Distributed Switch (vDS) için kullanılabilir.

vDS, her 30 saniyede bir uplink yükünü kontrol eder ve bir uplink %75 kapasiteyi aşarsa, en yüksek I/O üreten VM’yi daha az yüklü bir uplink’e dinamik olarak taşır.

Özellikler ve Sınırlamalar:

  • Gerçek zamanlı yük izleme ile darboğazları önler ve dinamik yük dengelemesi sağlar. Fiziksel switch üzerinde herhangi bir ek yapılandırma gerekmez ve EtherChannel gibi kurulumlara ihtiyaç duyulmaz.
  • Uplink bağlantıları bir kez hesaplandığından Düşük seviyede kaynak kullanımı vardır.
  • Bir VM yalnızca tek bir NIC’in bant genişliğini aşamayacağı için yüksek bant genişliği gereksinimlerinde sınırlamalar oluşabilir. Yani, fiziksel NIC kapasitesi kadar bir sınıra sahiptir.
  • Yalnızca vSphere Enterprise Plus lisansı ile kullanılabilir.

5. Use Explicit Failover Order

Yük dengeleme yöntemi değildir; Yük dengeleme gerekmeyen, yalnızca failover amaçlı veya belirli bir NIC’in öncelikli kullanılmasının gerektiği özel senaryolar için uygundur. Uplinkler, kullanıcı tarafından tanımlanan sıraya göre çalışır. vSwitch, yapılandırılmış ilk aktif uplink’i kullanır. Bu uplink arızalanırsa, bir sonraki sıradaki aktif uplink’e geçer. Standby uplink’ler, tüm aktif uplink’ler arızalandığında devreye girer.

Özellikler ve Sınırlamalar:

  • NIC kullanımı üzerinde tam kontrol sağlar ve fiziksel switch’te konfigürasyon gerektirmez.
  • Aynı anda yalnızca bir NIC kullanılır. Yük dengeleme sağlamaz. Bir uplink arızalandığında, sistem otomatik olarak listedeki bir sonraki uplink’e geçer.

Karşılaştırmalı Özet Tablo

AlgoritmaYük DengelemeSwitch Static EtherChannel veya LACP KonfigürasyonuCPU YüküVM
NIC Kullanımı
Route Based on Originating Virtual PortStatik, port temelliYokDüşükTek NIC
Route Based on IP HashDinamik, IP temelliStatic EtherChannel veya LACPYüksekBirden fazla NIC
Route Based on Source MAC HashStatik, MAC temelliYokOrtaTek NIC
Route Based on Physical NIC LoadDinamik, yük temelliYokOrtaTek NIC
Explicit FailoverYokYokMinimumTek NIC

Dikkat Edilecekler

Load balancing algoritmasını seçmeden önce, aşağıdaki unsurlar değerlendirilmelidir:

  • Fiziksel switch yetenekleri, ESXi sunucusunun vSS mi yoksa vDS mi kullandığı ve VM trafik yapısı göz önünde bulundurulmalıdır. Örneğin, IP Hash tercih edilecekse fiziksel switch’in LACP desteği olup olmadığı kontrol edilmelidir.
  • vDS kullandığınızda ayarlamaları vCenter üzerinden yapmanız gerekir. vCenter erişimi kesilirse Esxi host üzerinden vDS çalışmaya devam eder fakat yeni ayar değişiklikleri yapamazsınız. kullanamazsınız. Bu sebeple vDS geçiş konusunu iyi planlamak gerekir. IP Hash-LACP ve Physical NIC Load kullanılmayacak ise geçilmeyebilir.
  • IP Hash kullanılıyorsa, fiziksel switch’te EtherChannel veya LACP ayarlarının doğru yapılandırıldığından emin olunmalıdır. Özellikle vPC kullanılıyor ise aynı vPC grubuna portlar üye olmalıdır.
  • VLAN ve port group kullanımıyla trafik izole edilmelidir. IP Hash gibi yöntemlerde, fiziksel switch ile ESXi arasındaki MTU (ör. Jumbo Frames) ayarlarının tutarlı olması önemlidir.
  • vSphere Client veya esxtop gibi araçlarla uplink yükleri düzenli izlenmeli, yük dengesizlikleri veya darboğazlar görülürse algoritma ya da uplink sayısı yeniden değerlendirilmelidir.
  • Minimum iki uplink ile yedeklilik sağlanmalıdır. Kritik VM’ler için standby uplink’ler tanımlanmalı ve failover politikaları test edilmelidir.
  • Enterprise Plus lisansı mevcutsa, Route Based on Physical NIC Load gibi gelişmiş vDS özellikleri tercih edilebilir. LBT, dinamik yük dengeleme ile ciddi performans sağlar.

Yardımcı Kaynaklar

VMware vSphere

You may also like...