במקרה חרום

ביממה האחרונה התבשרנו על כך שהתרחשו 3 רעידות אדמה מצפון הארץ עד גוש דן. אינני נביא ואף אחד אינו יכול לאמר בוודאות אם הלילה או מחר או בימים הקרובים יתרחשו שוב רעידות אדמה ומה תהיה עוצמתן, ולכן החלטתי "לחבוש" את כובע ה-IT ולהזכיר כמה דברים חשובים לדעתי שכדאי לקוראים ולחבריהם בתחומי המנמ"ר/IT לחשוב ואולי לעבור עליהם.

נתחיל בעניין ה-DR/DRP. כן, אני מודע לכך שהנושא היה "שוס" ב-3 השנים האחרונות, ערימות של מסמכים נכתבו על הנושא פנימית וחיצונית בחברות שונות בארץ ובעולם וכמובן שחברות רבות רכשו חבילות תוכנה/שרותים ורכשו ציוד שיושב באיזו שהיא חווה (או באחד מהעננים הציבוריים) והמערכת מסתנכרנת תדיר בין ישראל לבין המיקום השני. הפתרון הזה הוא פתרון מעולה כאשר חברה נותנת שרותים לקהל לקוחותיה שנמצאים מחוץ לחברה. במקרים כאלו, התשתית המרוחקת (לאחר שינוי DNS) תתן שרותים וכשהתשתית הישראלית תחזור לפעילות, הנתונים יסתנכרנו ארצה.

אבל בואו נחשוב על כך שיש לי חברה שעושה משהו (נניח לשם הדוגמא: יבואנית צעצועים) ויש לי בבנייני החברה 250 עובדים. התרחשה רעידת אדמה רצינית. תודה לאל, אף עובד לא נפגע, ומבחינת IT כל הציוד עדיין תקין ועובד, רק שיש בעיה אחת קריטית…

אין תקשורת. החוצה.

אם היינו בתקופה לפני 20 שנה בערך, אז זה לא היה כזה ביג דיל. אוקיי, לא היה דואר יוצא ונכנס מחוץ לחברה וגלישה (באקספלורר, זוכרים? יאכס) לא היתה פעילה. זה פוגע בחברה אבל בד"כ (אז) לא פוגע משמעותית, אבל אנחנו בשנת 2018, מיקרוסופט והמתחרים דוחפים שרותי ענן על ימין ועל שמאל, מלמעלה ומלמטה, קח ערימת קרדיטים ותעביר את המייל, אחסון מסמכים וכו' החוצה שישב בענן, כך תוכל לגשת לתכנים גם מחוץ לחברה.

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

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

  • שימוש ב-DNS פנימי, 2 שרתי DNS שמסונכרנים ביניהם תדיר עם AD ו-DHCP. (סביר להניח שזה מצב קיים אצל הרוב, אבל יש כאלו שהעבירו את זה לענן. תתפלאו).
  • שרת מייל פנימי – נכון, אין אפשרות לקבל/לשלוח מיילים מחוץ לחברה אך במקרים רבים המיילים/יומנים הם פנימיים ולכן שרת מייל פנימי יוכל לבצע זאת. (מכיוון שאינני מומחה Exchange, כדאי לשאול את מיקרוסופט איך מסנכרנים שרת כזה ל-365 אחרי שהתקשורת חוזרת).
  • שרתים (VM) שעברו לענן – כדאי להקים אותם פנימית בחברה עם DB ו-Snapshot שמתעדכן תדיר, עם כתובות FQDN זהות פנימית לשרתי DNS שציינתי בנקודה הראשונה, כך ששירותים חיוניים יופעלו מהתשתית המקומית בהיעדר תקשורת החוצה.
  • גיבוי – לוודא היטב שיש גיבוי מקומי והוא תקין (כן, מומלץ להריץ Verify על הקלטות). תזכרו – אין תקשורת, אין DR מרוחק.

אני בטוח שבכל חברה נוספת יהיו נקודות נוספות ולכן מומלץ שהמנמ"ר/מנהל צוות IT ישב על הנושא מחר.

לסיכום: נכון, מבחינת תקשורת בארץ אנחנו לא רפובליקת בננות, אבל מצד שני אף אחד מחוץ לחברות כמו בזק/סלקום/הוט/אורנג' לא יודע בדיוק איך התקשורת שלהן בנויה, שרידות, ניתובים וכו' (וכמו שאני אומר תמיד: אל תאמינו לאנשי שיווק שלהם) ורעידת אדמה יכולה לדפוק צמתים רבים ואף אחד לא יוכל לאמר לך בוודאות מתי התקשורת חוזרת (יש כמובן חברות שלא ממש יושפעו הרבה מכך, כמו הרכבת וחברת חשמל שלהן יש תשתיות עצמאיות. צה"ל, אגב, למיטב זכרוני – העביר את זה ל"בזק"). לא כל כך כדאי לבנות על תשתית הסלולר כי באותו זמן רבים יקפצו להשתמש בשרותי ה-DATA ובארץ אין השקעה רצינית ב-DATA בסלולר באף חברת סלולר.

האם חייבים להשקיע ב-DR כמו במערכת פרודקשן?

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

ההחלטה: להרים מערכת DR זהה מבחינת ברזלים ותוכנות – למערכת הפרודקשן.

מכיוון שיש אנשים שונים שמבינים את המושג "DR" במשמעויות שונות. המשמעות שאני מדבר עליה היא כדלקמן:

  • מערכת שהיא Active/Passive – כלומר מערכת הפרוקדשן נותנת שרות ומערכת ה-DR לא נותנת שרות בזמן שהיא "פאסיבית". אף אחד לא מתחבר אליה והחיבור היחיד שיש הוא בין המערכת DR למערכת הפרודקשן עם אפליקציית סינכרון מתמשכת שמעבירה כל ביט בין ה-Storage השונים (ה-Storage שבפרודקשן ל-Storage ב-DR), וסינכרונים נוספים רצים בין שרתים עצמאיים (Active Directory וכו').

הנה מערכת קטנה ופשוטה לדוגמא. יש לנו שרת קבצים גדול שאליו מחוברים עוד 2 JBOD (בתצורת RAID, אפשר לחשוב עליהם כמודולים המרחיבים את המקום הפנוי ב-Storage), נתב, חומת אש, ו-12 שרתים שמריצים מכונות וירטואליות שונות.

mind mapping software

האם אנו צריכים בדיוק אותו דבר למערכת DR?

לעניות דעתי, התשובה תהיה ברוב המקרים "לא". ברשותכם, אסביר:

מערכת DR באופן עקרוני, חוץ מלקבל נתונים מה-Storage ושרותים שונים, רוב הזמן כשמערכת הפרודקשן עובדת, היא לא עושה כמעט כלום. אם ניקח את המושג "DR" במובן הקלאסי, השרתים וה-Storage יושבים במיקום פיזי אחר, אולי בבניין אחר, אולי בעיר אחרת, בחוות שרתים שאינה החווה שלנו ואם נשתמש בה שם כ-Active/Active, החברה תצטרך לשלם לא מעט על רוחב פס, חשמל (מה לעשות, חוות שרתים גובות בערך 150-250% יותר מתעריפי חברת החשמל שאתם משלמים בבניין שלכם).

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

  • שרותי קבצים
  • שרותי גיבוי לצד ג' (אם הפרודקשן מושבת עקב הפסקת חשמל ממושכת, רעידת אדמה, אסון כלשהו וכו' – אין לך לאן לגבות את הנתונים)
  • שרותי אותנטיקציה למשתמשים
  • שרתי אפליקציה (SQL, Exchange, Sharepoint וכו')
  • חיבור אינטרנט

אז כשמקימים את ה-DR, אפשר להקים אותו ולחסוך כספים בדרכים הבאות:

  • לא חייבים לרכוש במיליוני שקלים שרת קבצים. זיכרו – שרת הקבצים ב-DR יתן שרותים לזמן קצר עד שהתקלה תטופל, כלומר זה יכול להיות למשך מספר שעות ובמצב אסון טבע – כמה ימים עד שבועות, לא חודשים עד שנים.
  • מבחינת שרת קבצים – אנחנו צריכים 2 (השני ישמש כגיבוי לראשון כי אין לנו במצב חרום קלטות). עם 2 השרתים אנחנו יכולים להשתמש ב-ZFS ובמקום להשתמש בדיסקים מבוססים SAS יקרים, אנחנו יכולים "להעמיס" דיסקים מבוססי SATA זולים וגדולים (הם זולים – בערך 200$ ל-4 טרהבייט ויש אחריות ל-5 שנים) ובשביל לקבל מהירות נוסיף בין 2-4 דיסקים מבוססי SSD שישמשו כ-Cache. ככל שנעמיס יותר דיסקים SATA על המערכת, מהירות הקריאה תהיה הרבה יותר גבוהה כי אנו ניצור RAID של ZFS עם יותר דיסקים מיכניים, כך שאפשר להגיע בקלות למהירות קריאה של בין 400 ל-800 מגהבייט לשניה (אם אתה משתמש בחיבורי 10 ג'יגה או שאתה מחבר מספר פורטים של 1 ג'יגה).
    שרת הגיבוי לעומת זאת, לא מצריך הרבה השקעה – שוב, אפשר נניח להכניס 10 דיסקים של 4 טרהבייט (SATA), ו-2 דיסקים SSD. רוב התעבורה אליו היא כתיבה ולכן ה-SSD יקבל באופן מהיר את הנתונים וברקע מערכת ה-ZFS תכתוב את הנתונים לדיסקים המכניים.
  • לא חייבים לשים שרתים מהדור האחרון, אפשר לשים שרתים מדור קודם או לפני כן במיוחד אם אתם שוכרים מקום לפי ארונות ולא לפי U בחוות שרתים. ה"סוד" הכי ידוע בוירטואליזציה זה זכרון – ואפשר להשיג בזול זכרון לשרתים מלפני 3-4 שנים.
  • אם לא נעביר את כל השרותים, יהיה לנו מקום "להתפרס" מבחינת השרותים, כך שכמות המכונות הוירטואליות שרצות פר שרת לא תהיה גדולה, וכך נוכל לתת את אותו שרות חרום – במהירות מיטבית.
  • גם מבחינת רוחב פס החוצה מהשרתים למשרדי החברה נצטרך לדאוג ל-Policy כלשהו ש"אין חגיגות" כי במצב חרום לא רק תעבורת אינטרנט מבחוץ עוברת, עכשיו גם כל ה-DATA מהשרתים מבחוץ עוברים על אותו רוחב פס, והדבר האחרון שאתם צריכים זה לא להצליח להיות מחוברים לשרתים בחוץ כי כמה עובדים החליטו שעכשיו בדיוק הזמן לצפות בשידורים חיים לגבי המצב. (פתרון למצב כזה שהרמתי בעבר: PC עם מודם 3G שמצד אחד מקבל שידורים דרך סקריפט, ומצד שני משדר אותם ב-LAN הפנימי דרך VLC תוך וידוא שאין אפשרות להתחבר למודם 3G מבחוץ).

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

בפוסט הבא נדבר על מערכות Active/Active.