NSX-T Host Uplink Profile

NSX-T Host Uplink Profile ile serimize devam ediyoruz. Bir sonraki yazımda ise NSX-T Edge Uplink Profillerini anlatıyor olacağım. NSX-T daha önceden alışık olduğumuz NSX-v gibi interface bazında configler değilde daha çok evrensel diyebileceğimiz profiller kullanıyor. Bu durum bir çok objenin çok hızlı bir şekilde konfigüre edilebilmesine olanak sağlıyor ve aynı zamanda konfigürasyonun benzer objelerde homojen olmasını sağlıyor. 

Host Uplink profillerini incelemeden önce ESXi,Edge ve KVM TN’ler için ne tür load balancing ve failover algoritmaları destekleniyor kısaca onlardan bahsedelim. 

NSX-T Teaming Policy

NIC teaming kısmından bahsediyorsak üç adet farklı policy uygulamamamız mümkün durumda bunlar;

  • Failover Order
    NIC’ler sıralı aktif olarak konumlandırılabilir. Ancak tek seferde bir NIC aktif olmak zorundadır. Aktif/Pasif mimariye sahiptir. Eğer Aktif NIC down olursa pasif NIC devreye girecektir.
  • Load Balance Source (LOADBALANCE_SRCID)
    Aktif/Aktif çalışan bir algoritmadır. VM’leri sahip oldukları port ID’lere göre fiziksel NIC’lere map eder. Trafik devam ederken aktif olarak mapping’in değişmesi söz konusu olmaz. Aynı anda birden fazla NIC’i utilize edebildiği gibi sorun durumunda trafiği sağlıklı NIC’lere taşıyarak hata töleransı da sağlar.
  • Load Balance Source MAC (LOADBALANCE_SRC_MAC)
    Aktif/Aktif çalışan bir algoritmadır. VM’leri sahip oldukları port MAC adrese göre fiziksel NIC’lere map eder. Trafik devam ederken aktif olarak mapping’in değişmesi söz konusu olmaz. Aynı anda birden fazla NIC’i utilize edebildiği gibi sorun durumunda trafiği sağlıklı NIC’lere taşıyarak hata töleransı da sağlar.

Failover Order

Avantaj
  • Hata durumunda failover kapasitesi sağlar
  • CPU overhead yaratmaz
  • Troubleshoot etmesi kolaydır.
  • Fiziksel switch’de bir değişiklik gerektirmez. 
Dezavantaj
  • Tüm VM’ler için trafik sadece 1 adet fiziksel NIC’den geçer.
  • Alınabilecek maks. bandwidth tek bir fiziksel NIC kapasitesine bağlıdır.
  • Fiziksel NIC’in yük durumu izlenmez.


Load Balance Source MAC (LOADBALANCE_SRC_MAC)

Avantaj
  • Trafiğin uplinklere SRC_ID’ye göre çoğu durumda daha eşit dağıtılmasını sağlar. 
  • Sanal Makinenin MAC adresi değişmediği sürece uplink sabit kalır. Yani vMotion veya Power – on – off durumlarında vNIC’in atandığı uplink değişmez.
  • Fiziksel switch’de bir değişiklik gerektirmez. 
  • Aynı anda birden fazla NIC utilize edilebilir. Örnek olarak 4 NIC’i 1 portgrup’a atayıp VM’lerin 4 farklı NIC kullanması sağlanabilir.
Dezavantaj
  • VM’de 1 MAC adresi varsa sürekli aynı NIC’i kullanacağından maksimum NIC kapasitesi kadar bandwidth elde edebilir. Yani vSwitch’de 4 adet fiziksel NIC olsa dahi VM hep 1 tane kullanacaktır.
  • vSwitch geçen her paket için uplink hesaplaması yaptığından CPU overhead diğer algoritmalara göre çok daha fazla olacaktır.
  • Fiziksel NIC’in yük durumu izlenmez. Örnek olarak 2 adet 10GB NIC mevcut ve her NIC’de 1 er VM aktif trafik yapıyor diyelim. NIC A = 8Gbps, NIC B = 2Gbps güncel bandwitdh kullanımı olsun. Bu noktada 3.gelecek VM NIC A üzerine yerleşebilir ve darboğaz oluşmasına sebep olabilir.


Load Balance Source (LOADBALANCE_SRCID)

Avantaj
  • VM’leri PortID’ye göre eşit olarak fiziksel NIC’lere dağıtır. 
  • NIC connect/disconnect , vMotion, Power-On-Off işlemlerinde fiziksel NIC 1 kere hesaplanır ve trafik akışına oradan devam eder bu yüzden pek bir CPU overhead yaratmaz.
  • Fiziksel switch’de bir değişiklik gerektirmez. 
  • Aynı anda birden fazla NIC utilize edilebilir. Örnek olarak 4 NIC’i 1 portgrup’a atayıp VM’lerin 4 farklı NIC kullanması sağlanabilir.
Dezavantaj
  • Fiziksel NIC’in yük durumu izlenmez. Örnek olarak 2 adet 10GB NIC mevcut ve her NIC’de 1 er VM aktif trafik yapıyor diyelim. NIC A = 8Gbps, NIC B = 2Gbps güncel bandwitdh kullanımı olsun. Bu noktada 3.gelecek VM NIC A üzerine yerleşebilir ve darboğaz oluşmasına sebep olabilir.


 

NSX-T Uplink Profilleri

NSX Manager’a UI’dan login olduktan sonra System > Fabric > Profiles yolunu takip ederek mevcut uplink profillerimi görüntüleyebileceğim ve yönetebileceğim ekrana geliyorum. Burada üstte görünen dört profil sonradan benim oluşturduklarım, altta bulunan beş profil ise kurulumla birlikte gelen profiller. İhtiyaca göre default profilleri de kullanabilirsiniz ancak sistem default policyler üzerinde değişim yapmamıza izin vermiyor. Bu yüzden her zaman onları oldukları gibi bırakıp kendi özel profillerimizi uygulamaktan çekinilmemeli.

NSX-t-host-uplink

İlgili profillerin üzerine tıklayarak detayları görüntülemek mümkün. +ADD tuşuna basarak devam ettiğimizde yeni bir uplink profile yaratma ekranı karşımıza geliyor.
Burada Name kısmında herhangi bir isim verilerek devam edilebilir. LAGs bölümü ise LACP konfigürasyonunu yönetebildiğimiz kısım. Bu noktada Active/passive Mode, Slow/Fast Time out ve beş adet load balancing algoritması bulunmakta. Bunlar şu şekilde;

  • Source MAC address
  • Destination MAC Address
  • Source and Destination MAC Address
  • Source and Destination IP Address and VLAN
  • Source and Destination MAC address, IP address and TCP/UDP port

Yukarıda isimlerini verdiğim load balancing algoritmalarının nasıl çalıştığını burada açıklamayacağım belki daha sonra bunları ayrıntılı inceleyen bir yazı yazarım.

nsx-t-add-uplink-profile

Şimdi konuya dönecek olursak LAG kısmında dediğim gibi LACP yapabiliyoruz ve sonrasında bunu aktifleştirmek istiyorsak hemen alt tarafında bulunan Teamings kısmından Active Uplinks altına atamamız gerekiyor.Burada dikkat edilmesi gereken en önemli kısım LAGs altında verilen isimle Teamings > Active Uplinks altındaki ismin birebir aynı olması. Aksi takdirde fiziksel NIC atamalarını host uplink profile seçim kısmında atarken farklı bir obje görüyor olacaksınız.

example-lag-nsxt
ESXi Host Uplink Profile

Teamings kısmına dönecek olursak burada yaptığımız iş aslında bizim kaçtane uplink’imiz olacak bunların hangisi aktif hangisi pasif olacak ve ağ trafiğini bu uplinklere neye göre dağıtacağız kısmıdır. Bu kısımda “Named Teaming” kullanılması planlanmıyorsa default teaming’i editleyerek politikamızı uygulamak mümkün.

teaming-load-balancing

Şimdi bir adet ESXi Host uplink profile bir adet de KVM host uplink profile oluşturacağım. MTU maks 9000 desteklemekte. Boş bırakılırsa default değer olan 1600 olacaktır.
Teaming Policy: Load Balance Source
Active Uplinks : uplink-1, uplink-2
Transport VLAN : 506
MTU : –

host-uplink-profile

Artık oluşturduğumuz Host Uplink Profile’ı bir TN’e atamaya hazırız. Bunun için System > Fabric > Nodes > Host Transport Nodes kısmında bir ESXi hostu seçerek Configure NSX ile devam ediyor ve kullanıcı bilgilerini girdikten sonra ikinci adımda oluşturduğum uplink profili seçerek fiziksel NIC mapping’i yapıyorum. Burada iki NIC aktif forwarding yapacak ve profilde belirlediğim uplink-1 vmnic0, uplink-2 vmnic1’e map olacaktır. Bu konudan daha detaylı olarak aşağıdaki yazıları yazdığımda bahsediyor olacağım.

  • NSX-T Host Transport Node – Transport Node Profile
  • NSX-T Edge Transport Node – Edge Cluster Profile

 

configure-nsx-teaming-policy

KVM Host Uplink Profile

KVM uplink profile için şuanda sadece Failover Order Teaming policy desteklenmekte. Yani KVM için oluşturulan uplink profile için Load Balance Source ve Load Balance Source MAC seçilemez. Yine KVM için sadece 1 adet LAG destekleniyor. Birden fazla LAG oluşturarak bunu KVM hostlara atamanız mümkün olmayacaktır.

kvm-host-uplink-profile

Görseldeki gibi profilimi oluşturup KVM Hosta atama kısmına geçiyorum.

kvm-host-teaming-policy

Sonuç ve Yorumlar;

Buraya kadar anlattıklarımız Default Teaming’i kapsayan kısımdı ve burada oluşturduğumuz profiller N-VDS bazında geçerli olan profillerdir. Bir sonraki yazımız olan NSX-T Edge Uplink Profilleri sonrası işi biraz daha derinleştirip ilginç hale getirerek “Named teaming policy” ile devam ediyor olacağız. Named teaming policy’ler ile VLAN bazında farklı yaklaşımlar sergilememiz mümkün olacaktır.

Kaynaklar; VMware Docs , VMware VVD 6.0

Tolgahan Yılmaz

👋 Hi, I’m @tylmz. A virtualization and Software Defined Networking Expert interested in Cloud Computing, virtualization, performance tuning of distributed systems and Process Automation 🌱 Currently learning python and shell 💞️ Looking to collaborate on DevOps and process automation 📫 How to reach me; tolgahan_y [at] yahoo.com.tr.

You may also like...

1 Response

  1. 21 Haziran 2020

    […] NSX-T Host Uplink Profilleri […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.