یک سناریو معمول برای load balancing پهنای باند همانند شکل زیر است:
دراینجا ما دو تامین کننده پهنای باند داریم که هدفمون این هست تا ترافیک رو بین این دو تقسیم کنیم.
اولین مرحله جداسازی دسترسی ها (Split access) میباشد :
موضوع قابل توجه در این مرحله چگونگی جواب دادن به مسیر میباشد بطوریکه ترافیکی وارد شده از طرف یک تامین کننده پهنای باند نهایتا از همان هم خارج شود.ابتدا دو جدول جدید بنام های T1 و T2 ایجاد میکنیم.این جدول ها در فایل etc/iproute2/rt_tables/ ساخته میشوند :
موضوع قابل توجه در این مرحله چگونگی جواب دادن به مسیر میباشد بطوریکه ترافیکی وارد شده از طرف یک تامین کننده پهنای باند نهایتا از همان هم خارج شود.ابتدا دو جدول جدید بنام های T1 و T2 ایجاد میکنیم.این جدول ها در فایل etc/iproute2/rt_tables/ ساخته میشوند :
PersianAdmins:#echo 300 T1 >> /etc/iproute2/rt_tables PersianAdmins:#echo 400 T2 >> /etc/iproute2/rt_tables
حال مسیرها رو به طریق زیر ایجاد میکنیم :
PersianAdmins:#ip route add 192.168.0.0 dev eth0 src 192.168.0.2 table T1 PersianAdmins:#ip route add default via 192.168.0.1 table T1
PersianAdmins:#ip route add 192.168.1.0 dev eth1 src 192.168.1.2 table T1 PersianAdmins:#ip route add default via 192.168.1.1 table T1
همه چیز همانند وقتی است که یک تامین کننده داریم با این تفاوت که مسیرهایی که برای gatewayها میسازیم باید در جدول های جدا از هم باشند.
یک کار خوب توی این مرحله مسیردهی ترافیک برای شبکه همسایه از طریق اینترفیسی است که به اون متصل هست.(مثلا زمانیکه شما میخواین از سایت یکی از تامین کننده ها استفاده کنید.)
PersianAdmins:#ip route add 192.168.0.0 dev eth0 src 192.168.0.2 PersianAdmins:#ip route add 192.168.1.0 dev eth1 src 192.168.1.2
الان دیگه باید رول های مسریابی رو ایجاد کنیم (فکرمی کنید این رول ها چکاری انجام میدن؟*) :
PersianAdmins:#ip rule add from 192.168.0.2 table T1 PersianAdmins:#ip rule add from 192.168.1.2 table T2
*.اگر یادتان باشد گفتیم مهمتر مسئله این است که ترافیک وارد شده از یک تامین کننده از همان هم خارج شود, دستورات بالا این امر را ممکن میسازد.
رسیدیم به جای اصلی و باحال قضیه که Load balancing باشه:
PersianAdmins:#ip route add default scope global nexthop via 192.168.0.1 dev eth0 weight 1 nexthop via 192.168.1.1 dev eth1 weight 1
این دستور ترافیک رو بین تامین کننده تقسیم میکند و از آنجایی که weight هر دو 1 میباشد پس ترافیک برابری از هر دو خارج میشود.
پارامتر weight باعث میشود تا یکی از تامین کننده ها بر دیگری برتری پیدا کند.
پارامتر weight باعث میشود تا یکی از تامین کننده ها بر دیگری برتری پیدا کند.
نگارنده : رضا بهروزی
منبع :
http://lartc.org/howto/lartc.rpdb.multiple-links.html