הגדרת חיבור SAN (Storage Area Network) עד הסוף

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

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

הגדרת SAN: היכן נשברת העמידות בפני כשלים

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

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

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

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

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

מה נותנת רשת אחסון מוגדרת כהלכה

מה משתנה בנתונים לאחר ההגדרה

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

סוגי כשל שנעלמים

אזור מוגדר (zoning) לפי WWN מונע מצב שבו מארח רואה כרכים זרים ומקלקל נתונים של שירות שכן — זהו סוג האירועים היקר ביותר. אזורים נפרדים לפרודקשן ולסביבות בדיקה מסירים פעולות "רועשות" של גיבוי ומיגרציות מהנתיב הקריטי.

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

השוואת אפשרויות לארגון הגישה

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

מה נותן אפקט מדיד

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

Brocade

שלבי יישום חיבור SAN לפי המשימה

הגדרת SAN אינה "לתקוע HBA ולהגדיר זונינג". טעות בשלב תכנון סכימת החיבור צפה ועולה לאחר חודשים: הנתיב נסוג תחת עומס, ה-volume נופל בשיא הטרנזקציות, והחזרה לאחור דורשת עצירת השירות.

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

  1. ביקורת תשתית. אוספים מפה: אילו שרתים ומערכות אחסון כבר קיימים, כמה פורטים פנויים במתגים, כיצד פרושים הנתיבים, והיכן צווארי הבקבוק ברוחב הפס. בפלט — רשימת מגבלות שלא ניתן לעקוף בקונפיגורציה.
  2. תכנון סכימת חיבור SAN. מגדירים טופולוגיה: כמה נתיבים בלתי תלויים לכל volume, כיצד מפוזרים המתגים, והיכן נקודות הכשל. הסכימה נקלטת לפני ההתקנה — שינוי במערכת חיה יקר פי כמה.
  3. הכנת מתגים וזונינג. מגדירים zones כך שכל initiator יראה רק את פורטי ה-target שלו. בידוד ה-zones מסיר סוג כשל שבו תקלה בשרת אחד פוגעת בשכנים.
  4. הגדרת volumes ומיפוי. מחלקים LUN לפי המשימה, מגדירים מדיניות multipath, בודקים שהאיזון מתבצע דרך כל הנתיבים ולא דרך אחד. כאן גם מגדירים פרמטרים של עמידות בכשל.
  5. בדיקת SAN תחת עומס. מריצים פרופיל הקרוב לפרודקשן: בודקים השהיות, התפלגות בין הנתיבים, והתנהגות בעת ניתוק אחד מהם. בדיקת san נחשבת לעבורה רק כאשר המערכת שורדת ניתוק נתיב בלי אובדן גישה.
  6. מסירה ותיעוד. מוסרים סכימה, קונפיגורציות של zones ו-volumes, ונוהל אבחון. המהנדסים של הלקוח צריכים להבחין בין נסיגת נתיב לכשל דיסק ללא עזרתנו.

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

במה שונה SAN מ-NAS ומתי לבחור במה?

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

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

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

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

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

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

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

בפועל אנו תחילה מפיקים פרופיל של פעולות קלט-פלט, ורק לאחר מכן מציעים טופולוגיה — אחרת קל לקבל פתרון יקר שאינו פותר את צוואר הבקבוק.

מקרה בוחן: כיצד מנענו השבתות עקב כשלי SAN

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

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

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

מדדים: זמן התאוששות ממוצע לאחר כשל SAN — 95 דקות, שיעור הכשלים שהובילו להשבתה מלאה של השירות — 100%.

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

בנפרד הגדרנו התראות על היעלמות נתיב ועל עלייה בהשהיית התגובה של הכרך — כעת הכשל נראה לפני שהשירות מתחיל להידרדר.

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

את המתודולוגיה של יתירות נתיבים ופיזור אזורים תרגלנו בפרויקטים עם מערכים מיצרנים שונים — הגישה זהה, ורק תחביר התצורה שונה. Multipath I/O בשילוב עם זונינג נכון סוגר בדיוק את סוג הכשלים שלרוב מוביל להשבתות: לא כשל דיסק, אלא כשל של זרוע גישה אחת.

ספקות לגבי תאימות, הגירה וחזרה לאחור

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

בפועל, החיבור נבנה מעל ה-fabric הקיים: אנו בודקים תמיכה במצבים המבוקשים בבקרים, מתאמים zoning לפי WWN, ומאזנים את גודל הבלוק וסוג ה-volume בהתאם לעומס העבודה. אם המערך יודע לספק volumes בפרוטוקול הנדרש, והמתגים תומכים בטופולוגיה הנדרשת — אין צורך בהחלפת חומרה.

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

הגירת SAN מתבצעת דרך צומת ביניים: ה-volumes מתחברים לנתיב החדש, הנתונים מועברים במערכת חיה, והנתיב הישן מנותק רק לאחר בדיקת שלמות. חזרה לאחור מובטחת בכל שלב — תצורת ה-zones וה-masking נשמרת כצילומים, והחזרה למצב הקודם אורכת דקות, לא שעות.

מה לגבי הרשאות גישה? אנו מפרידים הרשאות לפי תפקידים: מנהל ה-fabric, מפעיל volumes, מבקר. כל השינויים עוברים דרך חלונות מוסכמים, הפעולות מתועדות ביומן, והרשאות הגישה ל-SAN ניתנות באופן אישי ומבוטלות עם שינוי תפקיד.

האם ניתן לבצע הגירה ללא עצירת שירותים?

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

מה הלקוח מקבל לידיו:

  • תרשים ה-fabric עם zoning ו-masking של ה-volumes;
  • מפת התאמה בין volumes, LUN ועומסי עבודה;
  • מדיניות גישה לפי תפקידים ותקנון להענקתם;
  • נוהל חזרה לאחור עם נקודות שמירת תצורה;
  • תיעוד SAN: פרמטרי חיבור, מגבלות, נקודות צמיחה;
  • פרוטוקול בדיקות קבלה לאחר ההגירה.

תארו את המעגל הנוכחי — אילו מערכים, מתגים ושרתים כבר פעילים. נחזור עם הערכת תאימות ותוכנית הגירה המותאמת לתשתית שלכם.

לוחות זמנים להגדרת SAN: שלבים ואבני דרך

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

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

שלב מה קורה לוח זמנים משוער
ביקורת ואיסוף דרישות מלאי מארחים, כרכים ומערכים קיימים; תיעוד דרישות ביצועים ועמידות 2-5 ימים
תכנון תרשים מבנה ה-fabric, תוכנית זונינג, מיסוך LUN, בחירת טופולוגיה (חד- או דו-fabric) 3-7 ימים
הכנת ציוד התקנה, חיווט, הגדרה בסיסית של מתגים ומערכים, סנכרון זמן 3-10 ימים
הגדרה וזונינג תצורת אזורים, קישור כרכים למארחים, הגדרת multipath בשרתים 5-14 ימים
העברת נתונים העברת כרכים, בדיקת שלמות, מעברי נתיבים לניסיון 5-20 ימים
קבלה ומסירה בדיקות עומס, תרגול כשל נתיב, תיעוד, הדרכת הצוות 3-7 ימים

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

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

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