Donanım

F5 BIG-IP LTM Node, Pool, V-Server, Load balancing , Irule


 


F5 firması temel amaç olarak application delivery, load balancing üstüne çok gelişmiş bir firmadır. Temel ürünleri load balancing üstüne Bigip ltm (local traffic manager) ve Bigip gtm(global traffic manager) dır.


 


Güçlü TMOS arch. ile çalışır. Geçerli tcp stack optimizasyonları ve irule gibi özelikleri ile çok güçlü bir load balancerdır. Kolay kullanımlı bir ara yüzünün dışında, bildiğimiz Linux shell ve bigip kendi shell’i mevcuttur. Linux bazlı bir sistem üstünde olduğundan cronjob lar bile eklenebilir. Dashboard ve grafiksel raporları mevcuttur. Aynı zamanda cacti ile monitoring yaptırıyorsanız, kolayca template ve perl scriptlerini bulabilirsiniz.


 


İstediğiniz şekilde node ve pool monitoring rule ları yazmanız mümkündür. Irule’uda bu işin içine sokarsanız, snmp ile nodeların loadlarını check ettirip ona göre trafik vermeye kadar rahatça gidebilirsiniz.


 


F5 kullanıcı topluluğu çok geniştir. Forumlarında aradığınız bir çok şeyi bulabilirsiniz. Irule, Icontrol için her türlü örnekleme sitede mevcuttur. Ayrıca değişik ürünlerle F5 deployment pdfleride kolayca google’dan aratarak erişebilirsiniz. (Örnek Apache F5 deployment gibi).


 


Bu cihaz tam bir detay canavarıdır. Örnek ; cihaz da down node’un bile ne yapacağını siz söylemelisiniz. F5’de bunu bile siz belirtmezseniz trafik down node’a gitmeye devam edecektir.Bunu default mantıken niye set etmemişler diyebilirsiniz, fakat cihazdaki configurasyon bu durumda dahi size 3 seçenek sunmuştur. Örneğimizde de bunu küçük bir kısım da belirttim.


 


Tam olarak test ve öğrenim için 90 günlük vmware appliance sürümünü indirerek üstünde trafik ve bağlantı limitleri hariç  hemen hemen her özelliğini test edebilir, yada öğrenebilirsiniz.


 


Açıklamalarımızdan sonra şimdi Örneğimize geçelim;


 


1.       Linux (Apache yüklü — eth0:x  — ip alias 4 adet set edilmiş ipler ile)


2.       F5-BIG IP Ltm vm imaj (BIGIP-10.1.0.3341.1084) (90 günlük lisans Bedava)


 


Linux ipler ;  (normalde ip alias yerine her bir nod ayrı makine oluyor.)


 


 


 


image001


 


 


Not: Apache conf’da server adresine tek ip girmeyin; 0.0.0.0 şeklinde olmalı. Yani her ip den tcp port 80 dinlenen şekilde.


 


Pool ip adresimiz 192.168.204.41 olacak;


F5’de bu network için tanımlanan ip 192.168.204.5 (healtcheckler için ve sunuculara erişim için)


 


1)      F5_Node Ekleme ;  Nodes kısmına gidip – create ile node larımızı ekliyoruz.


 


 


 


image002


 


 


 


image003


 


 


 


 


Web_1 gibi sunucu iplerimizin hepsini resimdeki şekilde ekliyoruz. Açıklama olarak, adress ip, name web sunucu adlandırmanız, healtcheck için monitor belirleme(Healtcheck kısmında default bir monitor belirlerseniz seçenekler arasında var her seferinde manuel eklemezsiniz). Healthcheck için gateway_icmp veriyoruz,  altındaki seçenekte birden fazla healthcheck verildiğinde, hangilerinin  up olması şartına bakarak o nodu up göstermesi hususu var. Ratio yük ağırlığını belirtiyor 1-65535 arasında set edilebilir.


 

Node ları eklememiz tamamlandığında, healtcheck’de bir sorun yoksa, aşağıdaki gibi yeşil icon ile hepsini up konumda göreceğiz.

 


 


 


image004


 


 


 


 


2) Load Balancing Pool yaratıyoruz ve buna web node larımızı bağlıyoruz.  Pools seçeneğinden ;


Burda Önemli bir kısım olan başlıca load balancing methodlarından bir kaçına değinmeye çalışacağım.


 


Round Robin ; Genelde eş değer makineler pool’da ekli ise her bir bağlantıyı bir sonraki sırada olan sunucuya dispatch eder. Genelde kullanılan bir metod dur.


Least Connections: Dinamik bir load balancing Methodu olarak, Yeni gelen bağlantıyı en az açık bağlantı  sayısına sahip sunucuya dispatch eder.


Fastest (Least response time) : Yeni bağlantıyı, node lar arasında, en hızlı response’a sahip node’a dispatch eder.


 


Pool’umuz aşıdaki şekilde görülebilir. Seçtiğim lb methodu least connections dır. “


 


“”” Down olan node için pool’da nasıl hareket edileceği kısmı”.


Burda çok önemli bir konuda configuration’ı advanced’e alıp active on service down kısmını reselect’e almalıyız, yoksa sunucu down olduğunda sunucuya trafik gitmeye devam edecektir.””


 


 


 


image005


 


 


 


3)      Örnek irule olarakda aşağıdaki gibi uri içinde b geçmesi halinde, trafiği www.google.com adresine yönlendirecektir. Tek yapmamız gereken virtual server yaratırken yada, sonradan bu irule’u virtual server’a bağlamak.


 


 


 


image006


 


 


 


 


4) Vserver Ayarlarımız ;


 


 


 


image007


 


 


image008


 


 


 


Vserver’ımız aynen yukarıdaki gibi configure ediyoruz. Son resim’de ise basic’den advanced’a alarak, snat(source nat)’ı automap olarak seçmeli ve diğer işaretli özellikleri seçmemiz gerekiyor. Aşağıdaki gibi. (adress translation hariç diğerleri aşağıdaki gibi olmak durumunda – Vm image’da şart.)


Özellikle SNAT : nodeların default gatewayleri F5 değilse kullanılması şart.


 


 


 


image009


 


 


 


Sonrada bu yarattığımız vserver’a Resources ‘ kısmından, poolumuz’u ve irule’umuzu bind ediyoruz.


 


 


 


image010


 


 


 


5) Test;  curl ile hemen bakıyoruz.  İlk isteğimiz http://192.168.204.41 vserver_pool  ipmize.


 


 


 


image011


 


 


 


2’nci isteğimiz de irule kuralımızı test ediyoruz;  uri’de “b” geçen bir istek http://192.168.204.41/b şeklinde. Görüldüğü gibi, 302 ile google.com’a gidiyor, Server kısmında BigIP tagli.


 


 


 


image012


 


 


 


Load balancing işlemini test içinde baktığımızda ; (netstat)


 


 


 


image013


 


 


 


Yukarıda görüldüğü gibi, F5’den istekler farklı ip lere geliyor ve dönüyor. Buda load balancing işlemimizin çalıştığını gösteriyor. 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu