על דיסקים ואחסון

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

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

אבל מה קורה אם יש צורך להזמין כמות גדולה של דיסקים? (ב"גדולה" אני מדבר על כמויות של 30 ומעלה – בתור התחלה). ניקח את זה יותר לכיוון המציאות: אתם רוצים להקים תשתית וירטואליזציה Scale Out עם vSAN או Nutanix. אתם לא רוצים עדיין לרוץ לכיוון All Flash ולכן אתם רוצים לשלב דיסקים מכניים גדולים יחד עם SSD שישמשו כ-Cache. ב-2 הפתרונות המתחרים, כמות ה"ברוטו" מבחינת הדיסקים שתכניסו – רחוקה מאוד מכמות ה"נטו" שתקבלו בפועל לשימוש, ולכן אם נרצה כמות תלת ספרתית של אחסון נטו פנוי, נצטרך לרכוש לא מעט דיסקים עבור מינימום 3 שרתים. נניח לשם הפוסט – שנצטרך 21 דיסקים מכניים ו-3 SSD (כלומר 7 מכניים ו-1 SSD פר שרת).

לפני שנעבור לחישובים שונים, בוא נשנה לרגע נושא ונדבר על שרידות: כיום בשוק, אצל רוב מוחלט של החברות, מצב השרידות שקיים הוא מצב שהמערכת יכולה להמשיך לעבוד, כל עוד דיסק אחד הוא תקול. במקרה והתקלקל דיסק, מפעילים את ה-SLA ותוך 4 שעות יגיע טכנאי ויתן לכם דיסק חלופי, תחליפו את הדיסק בשרת/מערך אחסון, הפעילו תהליך Rebuild. מה יקרה אם יתקלקל עוד דיסק עוד לפני שהקודם הוחלף ובוצע Rebuild? תקוו שהגדרתם דיסק אחד כ-Hot Spare – אחרת אתם בצרות.

נחזור לחישובים: כיום, בין אם מדובר בישראל או כמעט בכל מקום אחר בעולם, רכישת דיסק קשיח, בין אם מדובר ב-SSD או מדובר בדיסק מכני, תעלה אצל יצרן שרתים פי 2-3 בהשוואה לרכישה מיבואן רשמי בארץ. תרגום: אם דיסק כלשהו עולה $100 אצל יבואן רשמי, אצל יצרן שרתים, אותו דיסק יעלה 300-$200. את ההבדל הזה די קל לבלוע כשמדובר על רכישה של שרת אחד עם 4-5 דיסקים. ראש שקט, רכישה חד פעמית, תשלום חד פעמי, לא עושים מזה סיפור.

אבל אם נסתכל על הדוגמא לעיל עם ה-Scale Out בשביל ה-Nutanix/vSAN (או GlusterFS, או Ceph), אנחנו מדברים על 21 דיסקים, ואנחנו נשלם בפועל מחיר של 50-60 דיסקים. אתם לא צריכים להאמין לי, אתם יכולים ליצור קשר ישירות עם היבואנים בארץ:

  • דיסקים של חברת טושיבה – חברת CRG
  • דיסקים של חברות Seagate, Western Digital – חברת ח.י.

(שימו לב – חברות אלו בד"כ לא ימכרו ללקוחות קצה או כמות קטנה של דיסקים בודדים, אבל אתם יכולים לשאול אותם לגבי מחירים, כדי שיהיה לכם מושג.)

אז במקרים שהרעיון של תשלום סכום כה מטורף קצת מפריע לכם – אפשר לחשוב על שרידות ברמה אחרת: במקום לרכוש 21 דיסקים מיצרן השרתים, אפשר לרכוש נניח 25 דיסקים מהיבואן (כל עוד לא מדובר עבור שרתי HPE – הם לא מקבלים דיסקים שאינם בעלי קושחה של HPE), ולאחסן 4 דיסקים בארון. במקרה והתקלקל דיסק, מוציאים אחד מהארון ובמקביל יוצרים קשר עם היבואן כדי לתאם שליחות/קבלה של דיסק חלופי אחר. במקרים כאלו, גם אם עוד דיסק ילך במהלך ה-Rebuild, יהיו לכם מספיק דיסקים חלופיים ועל הדרך תחסכו לא מעט כספים.

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

אחסון רגיל מול vSAN, Nutanix ופקטורים אחרים

לפני כמה ימים יצא לי לשוחח עם מישהו שפנה אליי מהבלוג לגבי פרויקט שהם מתכננים. מטבע הדברים אינני יכול לפרט, אבל משהו אחד שאני כן יכול לאמר (באישור שלו) – זה שהם מתכננים רשת ממש "אכזרית". כמה "אכזרית"? יש לא מעט ארגונים (בנק הפועלים לדוגמא, לפי פרסום שלהם) שמשתמשים ב-100 ג'יגהביט רשת ל-Backend, פה מדובר על 100 ג'יגהביט פר שרת. מכיוון שלא סגרנו חוזה ודיברנו על כרטיסים, הזכרתי בשיחה כרטיס מסוג CONNECTX-5 EN ADAP שיכול לעמוד יפה במשימה, אך המלצתי לו שבשביל השרידות, הוא יצטרך 2 כרטיסים כאלו וכאן הכל קשור ל-Fear Factor.

מה הכוונה? אם הלקוח רוצה לרכוש את הכרטיס הנ"ל ישירות מהיצרן, אז הוא ישלם 795$. לעומת זאת, אם הוא ירכוש זאת דרך יצרן השרתים שהוא משתמש (HPE) – הוא ישלם על אותו כרטיס בדיוק – 1600-2100$, וכאן בעצם נכנס ה-Fear Factor: ככל שחברה יותר גדולה, מפעילים יותר "ראש קטן" וקונים מיצרן השרתים בגלל Fear Factor וחשש שמא, אולי, יצרן השרתים לא יתן תמיכה, גם אם המחיר הוא פי 2-3. ככל שהחברה לעומת זאת יותר קטנה או שיש בה ראש צוות IT/מנמ"ר שמפעיל ראש יותר "גדול" – הוא ירכוש במחיר היותר נמוך, כל עוד הוא מקבל מסמך אחריות ותמיכה מיצרן הציוד.

מכאן נעבור לאחסון ונראה כיצד ה-Fear Factor יכול להשפיע.

"על הנייר" מבחינה טכנית נטו – אחסון בשיטת Scale out היה אמור לכבוש נתחים גדולים בשוק ולפגוע במכירות אחסון Scale Up מסיבות ידועות: אפשר להגדיל את כמות האחסון ללא השקעה כה מאסיבית מבחינה פיננסית, אפשר להגיע לכמות IOPS רצינית מאוד בכך שמשדכים עוד ועוד שרתים, והשרידות של פתרונות Scale Out מעולה. מבחינת שוק אחסון Scale Out, החלוקה די פשוטה: Nutanix בקצה הנמוך, vSAN בקצה הנמוך עד בינוני, Ceph בקצה הגבוה (כשאני מדבר על קצה גבוה – אני מדבר על החל מ-1-2 פטה ומעלה ועד כמות דו ספרתית של פטהבייטים).

אני רוצה לתת דוגמא של יעוץ שעבדכם הנאמן נותן כשזה מגיע לאחסון Scale Out שמגיע לפטהבייטים – אל תרכוש דיסקים מיצרן השרתים ותכניס לשרתים (למעט 2 דיסקים SSD בתצורת M.2 לאחסון מערכת הפעלה). רכוש שרתים בתצורת 1U, ו- JBOD גדול (12-24 דיסקים), ואז לחבר את ה-JBOD לשרתים ולסגור עיסקה עם מפיץ/יבואן של דיסקים כולל SLA. במקרים של הטמעות כאלו, מדובר על מאות או אלפי דיסקים, ושיטה כמו שאני מציע תחסוך משמעותית במחיר הפרויקט.

את הדבר הזה לדוגמא, קשה "למכור" לארגונים בינוניים עד גדולים בגלל ה-Fear Factor שהזכרתי לעיל, שאולי, חס ושלום, יצרן השרתים לא ירצה לתת תמיכה (או במקרה של HPE, זה יעבוד אבל לא יתן חיווי טוב לגבי הדיסקים אם מכניסים דיסקים צד ג'), ולכן הם יעדיפו לשלם פי 2-3 פר דיסק, גם אם תראה להם שהם משלמים הרבה יותר מדי. זו בדיוק אחת הסיבות שחברות רבות העדיפו לרכוש אחסון Scale Up.

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

לכן – לפני ש"קופצים" על פתרון אחסון קופסתי (Scale Up) צריך לקחת בחשבון שפתרון Scale Out יתן לנו פתרון שניתן לגדילה בקלות לאורך זמן – יותר מ-3 שנים, מחירי הדיסקים (גם כשרוכשים מיצרן השרתים) יורדים במשך הזמן, והגדלת כמות האחסון, אם צריך ויש שרתים פנויים לתת שרות כזה – לוקחת זמן קצר מאוד.

לסיכום: אם אתם מחפשים אחסון עם IOPS גבוה שמשולב עם פתרון וירטואליזציה ואם אתם חושבים להשקיע לטווח הארוך, אחסון Scale Out יכול להוות פתרון מעולה. באחסון Scale Out לא זורקים אחסון קודם ומחליפים באחר, וכמובן – קל יותר לגדול. מצד שני – אחסון Scale Up יכול להתאים כשרוצים "פתרון בקופסא אחת" ולא מעוניינים להשקיע בפתרון שישרוד מעבר למה שהקופסא היחידה יכולה לתת (ואגב, פתרון אחסון של "2 ראשים" כיום – אינו שווה השקעה. עדיף כבר ללכת על פתרון Scale Out) ולא ממש חושבים מעבר ל-3 השנים הקרובות.

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

אחסון: Scale Up מול Scale out (מאמר עדכון)

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

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

נתחיל בפתרון הפופולרי שיותר ויותר רוצים: פתרון Scale Out ובמקרה של VMWare מדובר כמובן ב-vSAN (עם Nutanix, Simplivity, Hyperflex הדברים מעט שונים). הדבר הראשון שצריך לקחת בחשבון זה עלות שדרוג רשיון ל-vSAN. בכל שרת שיש בו שני מעבדים, צריך לשלם כמדומני $5000 וזה רק על הרשיון, כלומר אם יש נניח 10 שרתים, אנחנו מדברים על $50K לפני שבכלל דיברנו על חומרה. אחרי שדיברנו על רשיונות, נדבר על דיסקים וסוג האחסון: Hybrid או All Flash, רובם כשהם מקבלים הצעות ל-All Flash ב-vSAN נרתעים מהמחיר אז נעבור ל-Hybrid. הדיסקים מקובצים כ-Disk Group. מבחינה טכנית, כל Disk Group יכול להכיל עד 7 דיסקים מכניים ודיסק SSD, המכניים הם ה-Capacity וה-SSD נקרא Cache. חישוב הדיסקים צריך להיות לפי רמת ה-RAID שאתם בוחרים, לפי כמות ה-Fault Domains, ה-Erasure Coding ועוד. לא מומלץ לנסות לחשב לפי Dedup מכיוון שיחס ה-Dedup הוא משתנה נעלם שמשתנה בהתאם לתוכן המאוחסן, כמות פעמים שאותם בלוקים מאוחסנים ועוד, למעוניינים – ניתן לקרוא יותר פרטים על כך כאן וכאן. נקודה חשובה לציון: VMWare גם נוטים להמליץ על דברים שייקרו את המערכת, כמו בקר RAID לכל קבוצת דיסקים (כי זה עוזר ב-Rebuild), תלוי במצב הקונפיגורציה שלכם, לא חייבים להקשיב ולרכוש. מה שכן, ותלוי בתקציב, מומלץ לרכוש SSD Mixed Intense ל-Cache (היחס קריאה כתיבה לדיסקים SSD שהם Read Intense הוא 80/20 או 75/25, ו-VMWare מבקשת 70/30 – לשיקולכם).

מכאן נעזוב את פתרונות ה-HCI ונעבור לאחסון כללי.

אין שום בעיה לאחסן 2-3 פטהבייט באחסון Scale Up. הנה לדוגמא JBOD של Western Digital שיכול לקבל עד 102 דיסקים מכניים של 12 טרהבייט ולתת כמות אחסון ברוטו של 1.2 פטהבייט. אפשר לשרשר קופסא כזו לעוד שלושה קופסאות נוספות כך שתיאורתית ניתן לאחסן ברוטו 3.6 פטהבייט. את הקופסאות האלו ניתן לחבר לשרת שמריץ את תוכנת האחסון (למען האמת, ניתן לחבר את זה כמעט לכל סטורג' חדש כיום, רק שיצרן הסטורג' לא יתמוך בכך מבחינת תמיכה ואחריות, אם כי יכול להיות שגם הוא מוכר משהו דומה) ואם רוצים – אפשר לחבר שתי קופסאות סטורג' ("ראשים") בתצורת High Availability ולקבל פתרון אחסון מעולה…

.. עד שמגיעים לבעיה המרכזית באחסוני Scale Up כאלו: אם בקר ה-SAS באחת מקופסאות ה-JBOD יתקלקל, פתרון האחסון יושבת (וכמובן השרתים המקושרים לו) ואנחנו מדברים על השבתה של מינימום 4 שעות במקרה הטוב, יום עסקים במקרה הפחות טוב, וכמה ימים במקרה הרע (מה לעשות, לא לכל יבואן יש כמה כאלו שהוא שומר בסטוק למקרה חרום, וכבר ראיתי מקרה כזה).

לכן חשוב להבין, מבחינת Scale Up, תיאורתית אפשר לאחסן בו המון, אך ככל שמכניסים יותר ויותר חלקים לפתרון (עוד בקרי RAID, עוד קופסאות JBOD וכו') הסיכוי להשבתה הוא יותר גדול, הזמן לבצע Rebuild לדיסק עם מספר דו ספרתי של טרהבייט – גודל בצורה משמעותית, ולכן מעשית – זה לא מומלץ

ב-Scale Out לעומת זאת, אפשר לשלב מספר קופסאות כמו הנ"ל בכך שנצוות קופסא מול שרת, מינימום שלושה שרתים (הכמות עולה במספר אי זוגי – 3,5,7 וכו' וכו') ואז גם אם יתקלקל JBOD, יתקלקל שרת אחסון Scale Out או שניהם ביחד – המערכת תמשיך לתת שרות. החסרון כמובן קשור לעלויות – צריך יותר שרתים יעודיים, צריך Backbone של 40 ג'יגהביט לפחות, סביר להניח שנצטרך שרת עם דיסקים SSD לצרכי Cache וכו', ולכן פתרונות כאלו מתאימים לפרויקטים גדולים כמו HPC, או Big Data ועוד, וכאן שימוש בפתרונות Scale Up לא יתן פתרון אחסון מהיר ויעיל. אותו דבר לגבי כמות אחסון – אם כל מה שאתה צריך לאחסן זה כמה עשרות או מאות בודדים (100-200) של טרהבייט, לך על Scale Up.

לסיכום: יהיה האתגר אשר יהיה, לא מומלץ "לרוץ" ולרכוש פתרון שהחברים ממול רכשו, גם אם הם מריצים את אותה תשתית בערך. האם פתרון Scale Up מתאים? אולי Scale Out?  על מנת לעלות כך, צריך לקחת בחשבון הרבה פרמטרים, שאלות ובעיות שרק בחישוב הכולל שלהם אפשר להחליט אם ללכת לכאן או לכאן, ומכאן אפשר להמשיך לשלב של בחירת מערכת, SDS, עלויות מול תקציב ועוד.

קצת על Scale Out עם פלטפורמות יעודיות

בשנים האחרונות אנחנו עדים ליותר ויותר פלטפורמות שעובדות בשיטות של Scale Out. הפלטפורמה הכי ידועה לדברים כאלו היא כמובן Kubernetes, אך כמובן שישנן פלטפורמות אחרות שקשורות יותר לעיבוד נתונים – Kafka או Cassandra לדוגמא, כל אחת מהן פלטפורמה לצרכים שונים, אבל מבחינת צרכי חומרה, הצרכים הם פחות או יותר זהים: מעבדים בינוניים (לא צריך כמות מפוצצת של ליבות, יספיקו 8-16), ולא צריך דיסקים (קשיחים או SSD) יקרים.

כלומר – אם אתה צריך להריץ פלטפורמה שעובדת ב-Scale Out מקומית בתשתית שלך, אל תנסה לחפש את היוקרתי עם כל מילות הבאז האחרונות, אלא ההיפך – מי הספק שיכול לתת לך את ההצעה הכי זולה שתעמוד במפרט שנקבע מראש, SLA שאתה צריך וכו'. ב-Scale Out אין את מושגי השרידות מעולם ה-Scale Up. אין Heart beat, אין Active/Passive, Active/Active וכו'. עם Scale Out בדרך כלל הפלטפורמה תהיה בנויה כך שאם שרת למטה/אינו זמין/אינו פעיל, המערכת תאזן את עצמה אוטומטית (למי שמשתמש ב-Kubernetes ורוצה לראות זאת – תורידו Node ותראו איך זה עובד).

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

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

אחת השגיאות שאפשר לראות בפורומים שונים, זה שאנשים שעובדים עם פתרונות Scale Out מחפשים איך לאחסן את כמות הנתונים שהולכת וגודלת והם עדיין לא מכירים/מבינים את עניין ההוספה המתמדת של ברזלים ודיסקים מקומיים – והם תמיד יקבלו את הצעות הפתרונות שמתאימים ל-Scale Up: לתכנן את הגדילה למשך שנה וכו' וכו' ואז לבחור סטורג'. זו טעות, כי בעולם המדידות/דגימות ושימוש בפלטפורמות Scale Out אתה מחפש לקבל כמה שיותר מידע, לא כמה שפחות, ויכול להיות שהחודש הקרוב אתה תוסיף עוד 4 טרה מידע לחודש אבל בעוד 3 חודשים זה יקפוץ ל-15 טרה לחודש. בגדלים כאלו, שום פתרון סטורג' קנייני אינו מתאים, אלא אם רוצים "לשרוף" את תקציב החברה, ולכן יש צורך ללכת לפי הפתרון של הפלטפורמה, לא לפי שם/דגם של סטורג'.

ולכן:

  • אם הולכים להשתמש בפלטפורמה שהיא בראש ובראשונה Scale Out לצרכי עיבוד נתונים/קליטת נתונים – נצטרך דיסקים ושרת מהקצה הנמוך-בינוני, מבלי להשקיע יותר מדי כספים פר ברזל (קחו דיסקים בסיסיים, בפוסט קרוב אסביר לגבי הגדרות אחסון מקומי למערכות כמו Kafka ו-Cassandra), (אגב, אם אתם רוצים להריץ Kafka בענן, אמזון לדוגמא שמחה להציע לכם את MSK).
  • אם אנחנו רוצים לשמור כמות גדולה מאוד של מידע לאחר עיבוד או ארכיבאי כשהכמות גודלת כל הזמן, או שאנחנו צריכים Object Storage – פתרון אחסון Scale Out (כמו Gluster) יתאים יותר לשימושים הללו מכיוון שעלות הגדילה היא זולה, והביצועים גודלים ככל שמוסיפים ברזלים לאותו אחסון.

לסיכום: בעולם ה-Enterprise, הסטורג' הקנייני היה ה-דבר הכי חשוב וקריטי. אין סטורג', שום דבר לא פועל. מאז הגיעו ספקי הענן הציבורי הגדולים שהכריזו שאצלם אין ולא יהיה שום סטורג' מרכזי, ובמקביל התפתחו יותר ויותר פלטפורמות שמחזירות את השימוש בדיסקים מקומיים ומאפשרות לבנות אחסון מדיסקים זולים וממשאבים צנועים, וזהו בדיוק החלק שבמחלקות ה-IT או ה-CIO/CTO צריכים להבין: אל תנסו לכפות פתרון Scale Up על פתרון Scale Out.

האם לעבור ל-vSAN/Nutanix/HCI?

תחום ה-Scale Out היה עד לפני מס' שנים תחום די "ישנוני". כאחד שמכיר את התחום, בדרך כלל הייתי מקבל שאלות לגביו רק מגופים גדולים – אוניברסיטאות, צה"ל, מכוני מחקר גדולים וכל מי שמבחינתם צ'ק של 6-7 ספרות (בדולרים) הוא לא כזה ביג דיל. כשאלו קונים מכונות, זה נעשה בכמות דו ספרתית כמינימום (כל פעם), כולל ערימת מתגים, דיסקים וכו'. מבחינתם כל עניין ה-Scale Up יותר מתאים "לאחרים", לא בשבילם.

ואז הגיעה חברת VMware עם vSAN ואחריה Nutanix שהחלה "לגנוב" ל-VMWare לקוחות, וגם Simplivity ואפילו רד-האט עם פתרון ה-RHV בגירסאות האחרונות. בקיצור – ב-4 שנים האחרונות חברות החלו יותר ויותר להציע פתרונות עם העדפה ל-Scale Out מאשר Scale Up. פה בישראל Nutanix כובשת יותר ויותר לקוחות מכיוון שהמערכת שלה גמישה כדי להריץ את הוירטואליזציה הנוכחית שלך או את פתרון הוירטואליזציה שלהם (KVM).

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

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

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

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

נתחיל ב-Scale Up ונתייחס לבחירה הפופולרית בארץ לוירטואליזציה – של VMWare. נניח שיש לי כאן 10 שרתים שמריצים ESXi, ועל 2 מכונות רץ VCSA ומכונה שלישית משמשת כ-Witness ("עד") על מנת ש-VCSA ירוץ תמיד (בבקשה, תיפטרו כבר מה-vCenter שרץ על Windows). מה עושים כל שאר השרתים? מריצים מכונות וירטואליות. הם שרתים "טיפשים" וחוץ מהשרותים ש-ESXi שמריץ, המכונה כמעט ולא מריצה שום דבר אחר אלא את המכונות הוירטואליות שלכם. כל מה שקשור לדיסקים לדוגמא "נזרק" לביצוע ע"י הסטורג' עצמו (אם הוא תומך ב-VAAI וכו'), ועבודת ה-Network בקושי לוקחת משאבים, והיא מנוהלת ע"י ה-vCenter/VCSA (כשמדובר ב-DVSwitch) או ה-ESXi (כשמדובר ב-vSwitch רגיל). כל עניין ה-Compute רץ על המעבדים והזכרון.

ב-Scale Out לעומת זאת, הכל הפוך. בפתרון של VMWare יש לנו מודול נוסף של vSAN שיוצר לנו Datastore מבוסס על הדיסקים המקומיים (בקבוצות של SSD+זוג מכניים) וגם על הדיסקים של השרתים השכנים, כלומר בשרתים מוקצה זכרון ו-CPU לניהול האחסון, שרידות וכו' וכו'. במקרים של Nutanix/Simplivity – יש ערימה שלמה של שרותים נוספים שרצים פר שרת. נקודה חשובה נוספת: בשביל לקבל IOPS גבוה, חייבים לרכוש מספר גדול של שרתים, אין דרך להתחמק מכך.

העניין החשוב שצריך לקחת בחשבון הוא לא הקניה של ה-3-5 מכונות בשביל Nutanix/Simplivity, או הרשיונות והדיסקים שצריכים לקנות עבור ה-vSAN, אלא הגדילה העתידית.

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

בסיטואציית Scale Out לעומת זאת, כמעט הכל הוא פי כמה וכמה, כלומר אם אנחנו רוצים אחסון נוסף, אז עם vSAN אנחנו צריכים זוג מכניים+SSD מהיר כפול כמות המכונות שיש לנו (לפחות לפי ה-Groups שהגדרנו). צריכים עוד זכרון? אפשר כמובן להרחיב בצורה יחידנית וכנ"ל לגבי מעבדים, אבל ההמלצה היא לא לעשות כך אלא להוסיף עוד שרתים פיזיים עם כמות מסויימת של דיסקים זכרון ומעבדים, כך שכל פעם כשאנחנו צריכים משאבים נוספים, אנחנו מזמינים שרתים נוספים. טכנית אין שום בעיה להגדיל אחסון מ-2 טרה ל-20 טרהבייט באחד מהשרתים, רק שאותה מכונה שהגדלנו תהיה בקושי מסונכרנת עם האחרים כי היא תצטרך לעבוד הרבה יותר קשה מהשרתים האחרים.

עוד נקודה שחשוב לזכור היא לגבי הדיסקים – אתם עובדים עם דיסקים מקומיים ולפחות במקרה של Nutanix הדיסקים מחוברים לבקר, מה שאומר שככל שהדיסקים יותר גדולים ויש נפילה של אחד הדיסקים המכניים, תהליך ה-Rebuild יקח ימים ועד אז אותו שרת יהיה מבחינת ביצועים Degraded (זה המחיר של עבודה עם בקר דיסקים שאינו "טיפש").

אז הנה מס' נקודות (רשימה חלקית) שצריכים לחשוב עליהן לפני שמחליטים לכאן או לכאן:

  • כמה סטורג' אנחנו באמת משתמשים?
  • האם את מס' ה-VM שיש לנו אנחנו יכולים לשים בכמות השרתים שנקנה לצרכי Scale Out?
  • מה לגבי מכונות VM שאינן פרודקשן? האם כדאי לחשוב על פתרון וירטואליזציה חינמית כדי להריץ אותם שם על המכונות הקיימות?
  • האם החברה מתכננת פרויקטים נוספים שיצריכו רכישת שרתים נוספים עם פתרון Scale Out?
  • האם החברה חושבת על פתרון סטורג' מבוסס קוד פתוח שישרת מכונות שאינן פרודקשן או פרויקטים פנימיים אחרים?

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

Exit mobile version