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

הנה כל מה שאתה צריך לדעת על multipath ב-Linux.

מזהים עבור התקני Multipath בשרתים

עבור ריבוי נתיבים, יש צורך גם לחפש התקני ריבוי נתיבים. אם אי פעם שמעתם על ה WWID (מזהה עולמי) מושג לפני, זה לא יישמע לך זר מדי.

כברירת מחדל, השמות של התקני ריבוי נתיבים מוגדרים ל-WWID שלהם. זוהי מערכת שמבטיחה שמכשיר ה-multipath הוא ייחודי ובלתי ניתן לשינוי בעולם. אתה יכול להגדיר את שמות ברירת המחדל כאן עם כמה מניפולציות על קובץ התצורה של ריבוי נתיבים על ידי שינוי שמות_ידידותיים למשתמש הגדרה.

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

  • /dev/sda
  • /dev/sdb
  • /dev/sdc
  • /dev/sdd

אם ה שמות_ידידותיים למשתמש האפשרות מוגדרת ל"כן" בשלב זה, שמות המכשירים ישתנו.

cat /etc/multipath.conf

# פלט
ברירת מחדל {
שמות_ידידותיים למשתמש כן
}

אם יש לך שרת אובונטו שמשתמש

instagram viewer
טכנולוגיות וירטואליזציה, ייתכן שתקבל את התוצאה הבאה. מה שאתה חייב לזכור כאן הוא שהמכשיר שאתה רוצה לשלוט עליו חייב להיות מכשיר פיזי.

לאחר שתגדיר את שמות_ידידותיים למשתמש אפשרות ל כן בקובץ התצורה, אתה יכול לבדוק את שם המכשיר באופן הבא:

sudo fdisk -l

נוהל עבור שמות התקנים מרובי-נתיבים עקביים

השם שהוקצה למכשירי ריבוי הנתיבים בהליך זה יהיה ייחודי לצומת. לא ניתן לציין שזה חל על כל הצמתים. אם אתה רוצה התקני ריבוי נתיבים עקביים בכל הצמתים, הגדר את שמות_ידידותיים למשתמש אפשרות ל"לא". אתה תפחית את כל הבעיות בצורה זו מכיוון שלמכשירים כבר לא יהיה כינוי ייחודי ובמקום זאת ישתמשו ב-WWID.

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

במקרה כזה, תחילה עליך להתקין את כל התקני ה-multipath על מחשב אחד. אתה צריך גם להשבית את כל התקני ריבוי נתיבים במחשבים אחרים לאחר שלב זה. אתה יכול להפעיל את הפקודות הבאות בשביל זה:

סודוsystemctlתפסיקריבוי נתיבים.שֵׁרוּת
sudo multipath -F

עם פקודות אלה, תפסיק בהתאמה את שירות הרב-נתיבים ותנקה את כל מפות המכשירים הרב-נתיבים. כעת הפוך למשתמש שורש והעתק את כריכות קובץ שנמצא ב- /etc/multipath ספרייה למכונות אחרות.

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

סודוsystemctlהַתחָלָהריבוי נתיבים.שֵׁרוּת

סקירה כללית של תכונות כלליות של התקני Multipath

התכונות והגדרות התצורה של התקני Multipath אינם מוגבלים ל שמות_ידידותיים למשתמש. להלן תמצא מידע על כמה תצורות אחרות שאתה יכול לעשות ב- /etc/mutipath.conf קוֹבֶץ:

  • רשימה שחורה { }: אם ברצונך לציין אילו מכשירים להחריג מ-multipath, תוכל לכתוב את שמותיהם בין שני הסוגרים המתולתלים.
    רשימה שחורה {
    devnode "^sda"
    }
  • מכשירים { }: בין שני סוגריים מתולתלים אלה, אתה יכול לשים כמה פרטים עבור מכשירים ספציפיים.
    מכשירים {
    מוֹכֵר "DELL"
    מוצר "MD32xx"
    }
  • multipath { }: בשדה זה, תוכל להגדיר את התכונות של התקני ריבוי נתיבים ספציפיים. כמו לתכונות אחרות, ל-multipath יש גם תכונות משנה רבות ושונות.
    multipath {
    wwid 3500405b170164c3911244b325426400b
    כינוי צהוב
    מדריך לכשל חוזר
    }
  • Blacklist_exceptions { }: שדה זה מיועד למכשירים שנמצאים ברשימה השחורה אך ברצונך להפעיל עבורם ריבוי נתיבים. במקום להכניס את כל המכשירים לרשימה השחורה בזה אחר זה, אתה יכול לרשום את כולם ולציין את אלה שברצונך להשתמש בהם בהמשך בשדה זה.
    Blacklist_exceptions {
    wwid "3500405b170164c3911244b325426400b"
    }

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

ברירת מחדל {
שמות_ידידותיים למשתמש מס
}
רשימה שחורה {
devnode "^sda"
}
Blacklist_exceptions {
devnode "sda|sdb"
התקן {
מוֹכֵר "DELL"
מוצר "MD32xx"
}
}
מכשירים {
התקן {
מוֹכֵר "HP"
מוצר "A6189A"
}
}
multipaths {
multipath {
wwid 3500405b170164c3911244b325426400b
כינוי אָדוֹם
}
}

לוגיקה במכשירי Multipath

אתה יכול לחשוב על התקני ריבוי נתיבים כיחידות פיזיות. למשל, תן /dev/mapper/mpatha להיות שם של התקן מרובה מסלולים. מכשיר זה יפעל כיחידה פיזית. כאשר אתה יוצר א LVM (ניהול נפח לוגי), תצטרך גם לערוך את /etc/lvm.conf קוֹבֶץ.

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

כדי למנוע זאת, אתה יכול לבצע את המניפולציה הבאה על /etc/lvm.conf קוֹבֶץ:

מסנן = [ "לולאה.*/", "r/.*/" ]

פקודה זו תוסיף לולאות ותסיר את כל המכשירים. עם זאת, התהליך לא מסתיים בכך. לאחר ביצוע השינוי הזה ב /etc/lvm.conf, שמור את הקובץ ועדכן גם את initrd. initrd מאפשר לך לבצע כמה מניפולציות על דיסק RAM. הסיבה שאתה מבצע כאן שינויים היא להעתיק אותם בזמן האתחול.

עדכון-initramfs -u -k את כל

בכל פעם ש lvm.conf ו multipath.conf קבצים מעודכנים, יש צורך לבצע עדכון זה ב- initramfs. כך מקבלים שרת יציב ובר קיימא. אתה גם לא צריך לשכוח את עדכון initramfs, במיוחד אם ביצעת שינויים ברשימה השחורה ובמאפייני הסינון.

חשיבותה של מערכת רב-נתיבים

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

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

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

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