ארכיון יומי: 4 אפריל, 2011

Ethernet Bonding חלק שני

בחלק הקודם הכרנו מה זה bonding ממש בגדול, ובחלק הזה אני אסביר איך בעצם יוצרים אותו בהפצת הלינוקס השונות (כלומר דביאן וRed-Hat/CentOS).

היות והנושא הזה מתקדם מאוד יחסית, אני לוקח בחשבון כי אתם יודעים לבצע פעולות שונות הנדרשות, כלומר איך מריצים apt-get או yum וכו'

Debian

דביאן היא הפצת השרתים האהובה עלי ביותר, ולכן אתחיל דווקא בה, אם כי דווקא בה אין לי ניסיון ממשי, וזה מבוסס על קריאה של מספר מדריכים בנושא.

דבר ראשון צריך להתקין חבילה בשם ifenslave-2.6 במידה והיא לא מותקנת אצלכם. החבילה הזו תעזור לנו בעצם ליצור את ה bonding עצמו.

השלב השני יהיה להסיר את כל הdevice שבהם יש שימוש נוכחי (רמז: ifconfig). לאחר מכן נגיד לinit script של הרשת להסיר את הרשת עצמה.

במידה ואנחנו מחוברים מרחוק, דלגו על השלב השני, אבל יש לאתחל את המכונה לאחר מכן, בשביל להבטיח כי השינויים נכנסו לתוקף כמו שצריך.

עכשיו נערוך את /etc/network/interfaces:

auto bond0

iface bond0 inet static
    address 10.1.0.3
    netmask 255.255.255.0
    network 10.1.0.0
    gateway 10.1.0.254
    up /sbin/ifenslave bond0 eth0 eth1
    down /sbin/ifenslave -d bond0 eth0 eth1

מה שקורה כאן הוא שיצרנו device בשם bond0 והגדרנו הכל רגיל. הגדרנו לdevice בעצם להריץ תסריטים כאשר הוא עולה למעלה ולמטה, כאשר כאן הוא מריץ את הפקודה ifenslave ואמרנו לו באיזה device להשתמש לשם כך.

כמו כן יש לזכור להסיר את כל ההגדרות של eth0 ו eth1.

בקובץ של /etc/modprobe.d/arch/i386 (יכול להיות של64 ביט הוא נקרא שונה) יש לכתוב את השורות הבאות:

alias bond0 bonding
options bonding mode=5 miimon=100 downdelay=200 updelay=200

וכמובן יש לוודא כי משתמשים בmode הרצוי לכם וזהו, עכשיו אפשר להרים את הרשת חזרה (או לאתחל את המחשב).

Red-Hat/CentOS

בהגדרות של modprobe.conf יש להכניס את השורות הבאות:

alias bond0 bonding
options bond0 miimon=100 mode=5

כמובן שיש לדאוג שהן יצביעו ל mode המתאים.

יש ליצור בספרייה /etc/sysconfig/network-scripts/ קובץ בשם ifcfg-bond0 עם התוכן של:

DEVICE=bond0
IPADDR=10.1.0.3
NETMASK=255.255.255.0
NETWORK=10.1.0.0
BROADCAST=10.1.0.255
GATEWAY=10.1.0.254
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

ויש לשנות את ההגדרות של ifcfg-eth0 וכן כל device נוסף בשימוש בצורה הבאה:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes

ואז אפשר לאתחל את הרשת או את המחשב.

בשביל לדעת אם השינויים תפסו ב2 ההפצות, אפשר להשתמש ב:

cat /proc/net/bonding/bond0

ולראות את התוכן.

Ethernet Bonding – חלק ראשון

הקדמה

בעולם הטכנולוגי הנוכחי יש דרישה גוברת להרבה מאוד תעבורה בשל הפסים הרחבים שנכנסו לבתי הלקוחות, וזמינות המכשירים הנישאים למינהם והבעיה היא שאין הרבה שינויים במבנה הנוכחי של התקשורת. כלומר כרטיסי רשת היום מהירים יותר מאשר מהירות המעבד, ויש רק יותר ויותר דרישה של תעבורה ולא פחות.

הבעיה

אז יש לכם הרבה מאוד תקשורת ממקום למקום, ויש לכם הרבה כרטיסי רשת (Ethernet – עליו בלבד אני מדבר כאן) אשר יכולים להיות בשימוש עבור התעבורה (הם אפילו תומכים בתעבורה של עד גיגה), אבל מה, אתם חייבים לדעת מאיפה כל דבר מגיע ולאן כל דבר הולך, כלומר אתם לא יכולים לשלוט בכולם בבת אחת.

הפתרון

ביצוע Bonding בין כל הכרטיסי רשת יוצר device בודד אשר יוצר איגוד בעצם של מספר nicים, כלומר network device, כך שאם יש לנו 2 כרטיסים של גיגה לדוגמא, אנחנו פתאום יכולים להעביר עד 2 גיגה סה"כ, אבל זה תלוי מאוד איך אנחנו עושים את זה, ומה בעצם אנחנו רוצים להשיג. ולשם כך יש מספר מצבים שונים לביצוע bonding. להמשיך לקרוא