כשצריך המון IOPS ואין תקציב

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

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

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

אבל מה קורה שהתקציב המאושר לא מספיק אפילו לחצי מדף של SSD עם MLC לדוגמא? נניח התקציב המאושר הוא פחות מ-$20K? ונניח שדרישת הפרויקט מחייבת 6 ספרות מבחינת IOPS וכמה טרהבייטים רציניים? תשאלו את רוב יצרני הסטורג' ואתם תקבלו תשובה פשוטה: תגדילו את התקציב, לא יכולים לאשר הרחבה בסכום כה.

מה לעשות? תלוי אם החברה שלכם "שמרנית" או "רפורמית".

פתרון "שמרני" הוא לפנות לכל מיני יצרני Appliance למיניהם שהם בעצם SDS (כלומר Software Defined Storage) ובד"כ תמצאו במחיר של עד $20K פתרון שכולל "12 טרהבייט", כלומר משהו כמו 4 טרה SSD והשאר דיסקים מכניים. זה פתרון טוב, אבל אם אתם מחפשים IOPS גבוה (נניח 6 ספרות), עומסים גבוהים והרחבה ליותר מחיבור יחיד של 10 ג'יגהביט, הפתרון הזה לא יעזור לכם. הפתרונות המוכנים כקופסא בתחום זה לא ממש מגיעים ל-6 ספרות של IOPS ואפשרויות ההרחבה שלהם – אינן גדולות אם בכלל. כמובן שאינני טוען שכל הפתרונות כאלו, אולם הרוב הם כך.

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

  • מארז PC או שרת? רבים יענו במחשבה ראשונה "שרת" 1U או 2U, אבל כאן הדבר תלוי מאוד איזה שרת. לדוגמא ב-HP לא ניתן יהיה להשתמש בשרתי דור 8 בדיסקים NVMe שאינם כרטיסי PCIe (תיכף אסביר מדוע לא מומלץ פתרון אחסון בכרטיסי PCIe). רק בדור 9 יש אפשרות עם מתאם מיוחד להכניס 4 כונני NVMe עם כרטיס PCIe שכולל מתג PLX (זהו "מתג" שמאפשר לחלק תושבת PCIe X16 ל-4 כוננים כיום) וזה פתרון משלים ש-HP מוכרים בדור 9, אבל הוא לא תואם מכנית לדור 8. ב-Dell המצב קצת יותר טוב ושרתים כמו R720/R720XD יכולים לקבל פתרון שמזכיר את הפתרון של HP ואילו בדגמי R730/R730XD יש אופציה שנקראת FlexBay.
    אם אתם רוצים להשתמש בשרת פיזי יותר ישן – תיתקלו בבעיה הואיל וה-Backplane לא מאפשר חיבור SFF-8639 (מה שנקרא היום U.2).
    בתצורת PC (אם זה MIDI, Tower או כל פתרון אחר) לעומת זאת הדברים יותר פשוטים: אין Back Plane אז אין בעיה להעביר כבל מכרטיס עם חיבוריות U.2/SFF-8639 לכונן  2.5".
  • כונני 2.5" או דיסקים SSD ככרטיסי PCIe? כונן 2.5" מהסיבה הפשוטה: בשביל לקבל ביצועים תצטרכו חיבורי רשת גדולים. 2 חיבורים של 1 ג'יגהביט לא ינצלו את ה-PC שאנחנו בונים, ולכן או שנשתמש בצמד של 10 ג'יגהביט (SFP לסוגיו או הרגיל) ומעלה, או מספר חיבורי 1 ג'יגהביט ב-Teaming או אם נרצה לייצא iSCSI – נשתמש ב-MPIO אבל גם אז מומלץ על חיבורי 10 ג'יגהביט. אנחנו הולכים לעבוד עם המון IOPS ולכן מומלץ כוננים עם חיבור U.2 כי אנחנו נצטרך את התושבות עבור כרטיסי רשת.
  • זכרון – כמה שיותר, יותר טוב. מערכות כמו ZFS על FreeBSD או לינוקס משתמשות בזכרון זה כ"מטמון" ולכן כמה שיש יותר זכרון, כך נקבל ביצועים (שבחלק מהמקרים יכולים להימדד בננושניות, אם המידע עדיין נמצא ב-RAM) ובמקביל אפשר להפעיל פונקציות כמו DeDupe, דחיסה ועוד. בכל מקרה אני ממליץ לפחות 64 ג'יגהבייט של זכרון ומעלה (אם ה-IOPS חשובים)
  • דיסקים NVMe – תשכחו מדיסקים SAS מכניים, דיסקים SAS SSD. ה-NVMe "בועט" בכל דבר קיים מכל בחינה אפשרית. הדיסקים הללו נחשבים יקרים אולם אנו צריכים רק זוג מהם והמחירים דווקא די מפתיעים. לדוגמא: כונן SSD עם MLC בחיבור U.2 עולה 569$ בחו"ל לצרכן. אותו כונן SSD בחיבור SATA עולה .. 729$ וכפי שציינתי, ה-NVMe מהיר פי כמה וכמה מ-SAS או SATA, כך ש-2 דיסקים כאלו יתנו לנו את המהירות קריאה/כתיבה שנצטרך (מתוך הנחה שאנחנו צריכים את כל הסטורג' שנבנה ל-70% קריאה ו-30% כתיבה). אני ממליץ לרכוש את ה-400לפחות.
  • כרטיס SATA: אם אתם הולכים לבנות את הפתרון עם לוח של PC, קנו כרטיס SAS/SATA. לא צריך כרטיס עם זכרון מובנה או סוללה כי ZFS (אם תחליטו לעבוד איתו) חוסך את הצורך בכך. מספיק כרטיס כמו M1015 או M1115 במצב "IT MODE" ללא שום הגדרות RAID. אם אתם עובדים עם שרת שיש לכם (1U, 2U וכו') תצטרכו להעביר את הבקר למצב JBOD. עלות כרטיס כזה – בין 80-100$ חדש, אפשר למצוא יותר זולים משומשים (הם נחשבים ל"סוסי עבודה" עד היום). בכל מקרה למעט אם על הלוח יש בקר מובנה של LSI – לא להשתמש בחיבורי ה-SATA על לוח האם, הם יוציאו ביצועים מחפירים.
  • כונני SSD SATA: בכוננים אלו יאוחסן בסופו של דבר החומר (כונני ה-NVMe משמשים כמטמון משני). אני מניח שחלקכם ירימו גבה ויתמהו מדוע לא כונני SSD SAS והתשובה לכך: הם יקרים בהרבה והם לא יתנו ביצועים יותר גבוהים ומה שיותר חשוב – כמעט אף חברה לא מייצרת אותם יותר (HP מוכרת אותם אבל אינטל, סמסונג ומיקרון לא מייצרים אותם יותר). כונן SATA SSD משתמש במלוא רוחב הפס של SATA (כ-550 מגהביט) ומכיוון שאנחנו משתמשים ב-NVMe SSD כמטמון גדול, הביצועים יגיעו ברוב הזמן מהם. הדיסקים SSD SATA מאחסנים את החומר.
    אלו דיסקים? אני ממליץ על דיסקים בגודל של 1 טרה או אם יש לכם תקציב – 2 טרה. מחירי ה-1 טרה (וחצי טרה) יורדים כל הזמן, כאן לדוגמא אתם יכולים לראות דיסק 1 טרה של סמסונג עם טכנולוגיית ה-V-NAND במחיר של $419. אתם יכולים גם לחשוב על גירסת 2 טרהבייט עם דגם 850 EVO (נכון, EVO נחשב "נמוך" יותר אולם טכנולוגיית ה-TurboWrite החדשה של סמסונג מצליחה להחביא את העובדה שמדובר ב-TLC NAND גם כשכותבים עשרות ג'יגהבייט במכה אחת!) במחיר של $700.
    כמה כוננים? כמה שיותר. כך נוכל לבנות RAIDZ עם שרידות של כונן 1 או 2 או 3 כך שהמערכת תמשיך לעבוד. ההמלצה שלי היא על 4 או 8. אם אפשר יותר –  מה טוב.
  • חיבור לכונני ה-NVMe: מה לעשות, רוב הלוחות (בשרתים ובלוחות PC) לא כוללים חיבורי U.2/SFF-8639 ולכן נצטרך כרטיס לחבר אותם. לצערי הכרטיסים שקיימים בשוק מציעים מקסימום 2 חיבורי U.2 והכרטיס שמומלץ הוא מחברת SuperMicro והוא כרטיס בעל השם: AOC-SLG3-2E4 ומחירו: $250. הוא מאפשר חיבור של 2 כוננים (יש גם דגם זול יותר – 2E4R – לא לרכוש אותו כי הוא בקושי תואם למספר לוחות אם).
  • זוג כונני SAS/SATA/SSD פשוטים – מהם תעלה מערכת ההפעלה (רוב לוחות האם הישנים לא מכירים בחיבורי ה-U.2 לשם Boot) ואותם נבנה כ-RAID-1. אפשר גם דיסק קשיח רגיל.
  • מעבד: ממליץ על מעבד Xeon סידרה D-1541 (סידרה E3 מוגבלת בכמות הזכרון ל-32 ג'יגהבייט) או מעבד i7 עם chipset שיאפשר 64 או 128 ג'יגהבייט זכרון.
  • כרטיסי רשת: מאוד ממליץ על כרטיסי 10 ג'יגהביט או על חיבורי סיב מעל 4 ג'יגהביט. כל המערכת הזאת לא תוציא IOPS רציני אם אין לה "עבודה" רצינית לעשות. חיבורי 1 ג'יגהביט בהצמדות יכולים לעבוד, אבל זה מאוד תלוי איזה פרוטוקול אתם מעבירים את הנתונים: iSCSI אז לכו על MPIO, אם זה NFS אז אפשר ללכת על Teaming/Bonding.

נעשה חישוב עם מכונה לדוגמא:

  • לוח אם עם מעבד i7 של SuperMicro דגם SUPERMICRO MBD-X10SDV-TLN4F-O. הלוח כולל בתוכו 2 חיבורי 10 ג'יגהביט, ו-2 חיבורי M.2 בתצורת PCIe כך שאפשר יהיה לקחת דיסקים קשיחים NVMe בתצורת "מקלות" ולחסוך כרטיס מתאם. המעבד (Xeon D-1541) כבר בפנים. מחיר: $939.
  • 4 מקלות זכרון שכל אחד מהם הוא 32 ג'יגהבייט ECC בתצורת LRDIMM של HP (סה"כ: 128 ג'יגהבייט זכרון) – מחיר: $1799
  • 2 "מקלות" בתצורת NVMe של סמסונג שישבו בחיבורי M.2 שקיימים על הלוח הנ"ל. כל "מקל" מכיל 512 ג'יגה. הדגם: SAMSUNG 950 PRO M.2 512GB PCI-Express 3.0 x4 Internal Solid State Drive (SSD) MZ-V5P512BW והמחיר: $638 ל-2 המקלות.
  • 8 כונני Samsung 850 Pro בגודל 1 טרהבייט בחיבור SATA – (מחיר $419 לכל כונן) סה"כ: $3352
  • מארז עם ספק 500W: נניח $100. (לגבי שרידות:
  • "מיני מארז" ל-8 כוננים 2.5" שנכנסים למארז PC ותופסים תושבת 5.25" (מחברים חשמל אחד ו-8 חיבורי SATA). מחיר: $120. פתרון של ICY DOCK מעולה לזה.
  • סך הכל: $6310. המחיר הוא בארה"ב כמובן. נעגל ל-$8000 במחירים בארץ. המחיר כמובן לא כולל עבודת הקמת ZFS (או מערכת קבצים אחרת), הגדרות ועבודה של מי שמקים את זה, אך אם ניקח לדוגמא כלל אצבע של 350 שקל לשעה כפול 27 שעות (3 ימי עבודה – אני בכוונה מגזים) אז תהיה תוספת של $2400 בערך, כלומר הכל כולל יוצא בערך $10K.

הערות על המערכת לעיל

  • קודם כל, המערכת למעלה היא תאורתית בלבד. חסר בה לדוגמא פתרון לספק כח כפול (בהזדמנות זו אני ממליץ להסתכל על FSP TWINS שיצא בקרוב) ופתרון של PC כשרת מאוד לא מקובל בחדר שרתים. במקרים כאלו הדברים היו שונים מעט אך המחיר לא היה כזה שונה.
  • נקודה נוספת שחשוב לדעת היא מה השימוש שלכם. צריכים לדוגמא IOPS גבוה לאורך זמן? אל תקנו NVMe שאינו אינטל 750 או מעליו לדוגמא כי בשאר המקרים רוב המתחרים נופלים ב-IOPS לאחר זמן קצר.
  • בלוחות אם (ובשרתים) חדשים יש מקום לאחד או 2 לכונני M.2 PCIe – עדיף להשתמש בהם במקום לרכוש מתאם.
  • כמות המקום נטו עם מערכת כזו תהיה: 6 טרהבייט (RAIDZ2) עם אפשרות החלפה ל-2 כונני SSD או 7 טרהבייט (RAIDZ1) עם אפשרות החלפה ל-1 דיסק SSD תקול.
  • אם רוצים מהירות עוד יותר גבוהה שלא "תנחת" בזמן כתיבה ל-SATA SSD, אפשר להחליף במקום ה-Samsung 850 Pro לאינטל 750. העלות תהיה בערך עוד $1600, כמות האחסון תרד ל-5.6 טרה (או 4.8 אם רוצים שרידות של 2 כוננים), אך בשביל טריק כזה, תצטרכו או HP G9 או DELL R730 שיכולים לקבל 8 כוננים בחיבור U.2, אבל אז אנחנו מדברים על הוספה של עוד $4K רק לשרת עצמו (בניכוי לוח האם לעיל) במחירי חו"ל. מה לעשות שאף חברה לא צפתה את הפופולריות של SFF-8639/U.2.

לסיכום: זהו אינו פתרון שמחליף את הסטורג' הגדול בשום מצב! זה כן פתרון שיכול להיות פתרון "באמצע" עד שהחברה תתקצב הרחבה לסטורג' המרכזי. זה כן פתרון שצריכים לתת למחלקה מסויימת מקום אחסון די זריז מבלי ש"ישחטו" את הסטורג' המרכזי, וזה כן פתרון ללקוחות קטנים ואפילו להרים טסט של כמה עשרות מכונות VDI (במקרה הזה גם תצטרכו כמה כרטיסי GPU רציניים, צרו קשר עם nVidia). נכון, סטורג' אמור להיות שורד בכל מצב אפשרי ואפשר בהחלט לבצע Cluster של 2 מכונות זהות כאלו גם ל-Active Active וגם ל-Active Passive, אבל לעניות דעתי צריך לדעת היכן לעצור בעניין ה"שרידות בכל מחיר" לסטורג' שהוא בעצם NAS והוא אינו מרכזי.

Comments

comments

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *