خوش آمدید - امروز : یکشنبه ۹ اردیبهشت ۱۴۰۳
خانه » آموزش کانفیگ سرور » آشنایی با Network Bonding در لینوکس

آشنایی با Network Bonding در لینوکس

 

قصد داریم در چند پست قابلیت Network Bonding که از آن در برخی سیستم عاملها با نام Network Teaming یاد می شود را در لینوکس بررسی کنیم. درایور Bonding در کرنل لینوکس امکان مجتمع شدن چند کارت شبکه و استفاده از آن ها به صورت یک کارت شبکه واحد را فراهم می کند. روش های مختلفی برای این کار وجود دارد و بسته به نیاز میتوان روش یا مد Bonding را تغییر داد که از جمله این نیازها می توان به افزایش پهنای باند، ایجاد Redundancy و توزیع بار اشاره کرد.
?روش اول: Mode 0 (balance-rr)
در این روش Bonding به صورت Round-Robin عمل می کند. اگر دو کارت شبکه با یکدیگر Bond شده باشند، پکت اول و دوم به ترتیب از کارت شبکه اول و دوم خارج خواهد شد و پکت سوم مجددا از کارت شبکه اول منتقل خواهد شد و به همین ترتیب انتقال پکت ها ادامه خواهد یافت.
?روش دوم: Mode 1 (active-backup)
در این روش فقط یک Slave مشغول به فعالیت است و به صورت Active قرار دارد.بقیه پورتها زمانی Active خواهند شد که پورت Active Slave تغییر وضعیت دهد و Down شود.
?روش سوم: Mode 2 (balance-xor)
اساس انتقال در این روش  براساس XOR کردن Source MAC و Destination MAC صورت میگیرد. در این روش  یک کارت شبکه  برای هر مقصد با مک آدرس آن  انتخاب می گردد.
?روش چهارم: Mode 3 (broadcast)
این روش انتقال همه بسته ها بر روی همه Interface ها را در دستور کار خود قرار خواهد داشت و  فقط ویزگی Fault Tolerance را بهمراه خواهد داشت.
?روش پنجم: Mode 4 (802.3ad)
این روش استاندارد 802.3ad است که به صورت Dynamic Link Aggregation فعالیت میکند.این نوع  به LACP نیز مشهور است. یک گروه تجمیع شده از کارت های شبکه ایجاد می کند که سرعت و Duplex  برابر را با یکدیگر به اشتراک می گذارند. در تنظیمات سوییچ لازم است که 802.3ad تنظیم شده باشد.
?روش ششم: Mode 5 (balance-tlb)
نام کامل این روش Adaptive transmit load balancing است که در آن انتقال داده ها و توزیع آنها با توجه به بار و صف  موجود بر روی هر Interface انجام می گیرد. ترافیک خروجی بر اساس بار جاری(محاسبه شده نسبت به سرعت) در هر Slave منتشر خواهد شد و برای ترافیک ورودی بر اساس Current Slave عمل خواهد کرد .
?روش هفتم: Mode 6 (balance-alb)
این روش خود شامل روش balance-tlb به همراه receive load balancing (rlb)  است.  Receive load balancing از طریق ARP negotiation انجام می شود. درایور Bonding در پکت های ARP Reply خروجی،  مک آدرس Source  را با مک ادرس  یکی از Slave  ها جایگزین می کند در نتیجه هر یک از کلاینت ها با یکی از Slave  ها در ارتباط می باشند. این روش کاملا مستقل است و نیاز به سوئیچ با قابلیت خاصی ندارد.
خوب حالا که با انواع روش های bonding کارت شبکه آشنا شدیم قصد مراحل اجرا و پیاده سازی یکی از انواع آن را به طور نمونه بررسی کنیم:
فرض کنید که دو کارت شبکه با نام هاي eth0 و eth1 داریم و میخواهیم آن ها را به صورت Master/Slave (یعنی Mode 0) Bond کنیم و نام آن را bond0 قرار دهیم. تنظیمات eth0 و eth1 به صورت زیر خواهد بود:

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
USERCTL=no
MASTER=bond0
SLAVE=yes
cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
USERCTL=no
MASTER=bond0
SLAVE=yes

در مسیر /etc/sysconfig/network-scripts/ فایل پیکربندی مربوط به bond0 را با نام ifcfg-bond0 ایجاد نمائید که تنظیمات آن به صورت زیر خواهد بود:

DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=0 miimon=100"

سرویس شبکه را restart کنید و با دستور ifconfig و یا ip addr show وضعیت کارت هاي شبکه و bond را مشاهده نمایید.

امتیاز 5.00 ( 10 رای )
اشتراک گذاری مطلب

کلیه حقوق مادی و معنوی مطالب و مقالات متعلق به وب سایت انجین ایکس وب میباشد - طراحی شده توسط پارس تمز