כמה מילים על פתרון סטורג' (קוד פתוח) משולב

לא מעט חברות מחזיקות ברעיון שפתרון אחסון (Storage) צריך להיות פתרון קנייני בצורת כמה חלקים (כולל "ראש") ומדפים של דיסקים. בשנים האחרונות יותר ויותר חברות מאמצות גם את רעיון ה-Hyper Converge – ערימה של שרתים שנותנים אחד לשני (והחוצה) את כל השרותים ביחד – רשת, דיסק, מחשוב, ובמקרים של Open Stack – שרותים נוספים.

הבעיה בד"כ היא במחשבה או בתכנון מעבר. אם לדוגמא יש לכם פתרון וירטואליזציה של VMWare ותרצו ליישם את VSAN, ההשקעה תהיה גבוהה. על כל שרת ממוצע תצטרכו לשלם 5000$ וזה עוד לפני הדיסקים והתצורה היחודית שיש צורך ב-VSAN (על כל 2 דיסקים מכניים או SSD בינוניים, דיסק SSD מהיר או Mixed Intense או ביחד). במקרים אחרים יש פתרונות HyperConverged כמו Nutanix, Simplivity וכו' שבסופו של דבר מחייבות אותך לרכוש כמעט הכל מחדש (אם כי כמובן אפשר במקרים מסויימים להשמיש שרתים שונים, תלוי מה ה"גיל" שלהם).

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

גם במקרים של פתרון קוד סגור או קוד פתוח, נצטרך דבר ראשון להעיף מבט על השרתים שיש לנו. רוב השרתים שמריצים פתרון וירטואליזציה כלשהי, אנחנו נראה שרוב התושבות בשרתים – פנויים (וכמובן שיצרני השרתים מנצלים זאת על מנת לתת פתרון Backplane חלקי, כך שגם אם תרצה למלא 24 דיסקים 2.5" בשרת, לא תוכל אלא אם תרכוש עוד 2 backplanes עם החיבורים. בד"כ ה-backplane שאתה מקבל בשרת יכול לחבר מקסימום 8 דיסקים), כלומר שמבחינת השקעה בברזלים אם נרצה פתרון סטורג' מבוזר, נצטרך לרכוש פתרונות backplane לשרתים, וכמובן דיסקים מכניים, SSD (מסוגים שונים – read intense או mixed Intese – תלוי בתקציב ובמה שאתם רוצים לעשות). נקודה נוספת שנצטרך לקחת בחשבון זו הרחבת זכרון. אין צורך "להשתולל", בד"כ לפתרון SDS נצטרך 16 או 32 ג'יגהבייט זכרון. הנקודה האחרונה שיכולה להיות קצת יקרה היא רשת – אנחנו נצטרך בכל מכונה חיבור של 10 ג'יגהביט לתקשורת פנימית בין ה-VM שמריצים את פתרון ה-SDS.

את פתרון ה-SDS נריץ כ-VM בתוך כל מכונה, אולם אנחנו צריכים קודם כל להחליט איפה בעצם לאכסן את הנתונים, באלו דיסקים. דיסקים בגודל 2.5" לדוגמא יהיו קצת בעייתיים כי כמות ה-DATA שאפשר לאכסן בהם היא לא גדולה אך המחיר הוא די גבוה. אם לדוגמא נדמיין שאנחנו מכניסים 20 דיסקים של 1 טרה בגודל 2.5", ועוד 2 דיסקים SSD שישמשו כ-Cache, אז נקבל "ברוטו" 20 ג'יגהבייט. אולם אם נחליף את הפאנל הקדמי (כולל הלוח המוצמד) לגירסת LFF (כלומר Large Form Factor), אז נוכל להכניס 12 דיסקים של 4 טרהבייט, אז נקבל "ברוטו" 48 טרהבייט ומחירי הדיסקים הללו יהיו יותר זולים מ-20 דיסקים של 2.5" (בד"כ נוכל להכניס 2 דיסקים SSD ל-Cache מאחורי השרת). מבחינת הוירטואליזיציה, אין לנו צורך להתקין אותה (בגירסת vSphere) על הדיסקים המקומיים, 2 כרטיסוני מיקרו SD יוכלו לעשות את העבודה. (בין כה כמות הכתיבה אליהן מאוד קטנה ואם כרטיס נופל, כרטיס שני "לוקח פיקוד") כך שאנחנו יכולים בסופו של דבר להצמיד את כרטיס ה-RAID ל-VM עצמו ולקבל מקסימום ביצועים.

מבחינת תוכנות SDS בקוד פתוח, ישנו Ceph וישנו GlusterFS. התוכנות הנ"ל זמינות הן כקוד פתוח והן כמוצר מסחרי עם תמיכה מסביב לשעון. במקרים כמו שאני מתאר, אני ממליץ דווקא ללכת על GlusterFS. הסיבה לכך היא פשוטה: Ceph היא מערכת SDS מעולה, אבל היא פשוט לא בנויה לעבוד עם משאבים מצומצמים שאותם נקדיש ל-SDS ב-VM. כעקרון, Ceph דורשת שרתים יעודיים שיריצו רק את Ceph ולכן היא לא מתאימה למשימה.

כעת, כל מה שנותן לעשות זה לחבר את הדברים. בכל מכונה נקים VM עם הפצת לינוקס כלשהי (GlusterFS קיים לכל הפצת לינוקס שתרצו), להגדיר אם אנחנו מעוניינים בשכפול והפצת קבצים (אפשר לראות את האפשרויות כאן, פוסט מורחב על הנושא יהיה בקרוב) ומאותו פתרון SDS נוכל להגדיר שיתופים איך שנרצה: CIFS, NFS, iSCSI ועוד. כך נוכל להנות גם מפתרון SDS יציב, שיכול לעמוד במצב ששרת או 2 נופלים (תלוי איך הוגדר GlusterFS, בד"כ הגדרות ברירת מחדל יתנו HA כך שאם מכונה נופלת, השניה לוקחת פיקוד), גם נוכל להרחיב את הפתרון בהמשך (הוספת דיסקים, JBOD, מכונות נוספות) והכי חשוב – נוכל להנות מפתרון שנותן גם ביצועים מהירים וגם התחזוקה עצמה תהיה די מינימלית.

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

חושבים לשדרג ציוד? תתכוננו לעליית מחירים

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

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

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

ונחזור לטכנולוגיה.

כיום כל שרת, סוויצ', סטורג' מורכב (וחלקית מיוצר) בסין. בכל ציוד כזה יש עשרות, מאות ולפעמים אלפי רכיבים שנוצרים במדינות אחרות שאינן סין, אך אותם שבבים, לוחות, קבלים וכו' וכו' מגיעים אל סין אל אחת מהיצרניות המחשבים/שרתים/חומרה הגדולות (כמו Quanta, Pegasus, FoxConn, Lotes ואחרים) ושם הדברים מורכבים ברמות שונות (רוב ה-PCB באותם ציודים לדוגמא מודפס בסין ועליו מורכבים השבבים וכו'), נארז ונשלח לארה"ב או למדינות אחרות בהתאם לבקשת הלקוח.

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

אני משער שעתה יאמר קורא הבלוג "חץ, ציוד שקונים פה בארץ לא מגיע ישירות מארה"ב אלא מגיע מאירופה, בריטניה ולפעמים ישירות מסין כך שהמסים האלו לא ממש חלים על רכישת ציודים לישראל", וזה נכון .. חלקית. אני אתן דוגמא מהעבר: לפני מס' שנים הייתי צריך לרכוש עבור לקוח כמה מאות דיסקים קשיחים לטובת הקמת ארכיב. באותם ימים התרחש צונאמי גדול בטיוואן ואחד מהמפעלים של יצרן דיסקים קשיחים הושבת, מה שאוטומטית העלה את המחיר ב-35-50% (ואלו היו דיסקים SAS Enterprise, ממש לא זולים) וגם היבואן בארץ העלה את המחיר צ'יק צ'יק ב-46% לאותו סוג דיסקים ספציפי, רק שבמקרה זה הגיע לי מידע ממישהי אצל אותו יבואן שהדיסקים שהזמנתי – נמצאים בחיפה, ובקיצור מנסים לעשות עליי "שיטת מצליח". אחרי סידרת צעקות היבואן החליט לרדת מהתרגיל.

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

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

חג שמח 🙂

להטמיע סטורג' בקוד פתוח או לא? מה השיקולים?

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

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

מכאן נעבור לצד הטכני: האם מערכות סטורג' בקוד פתוח יכולות להוות תחרות מול סטורג' קנייני מבחינה טכנולוגית? התשובה: כן. האם הן יכולות לתת את 3 השרותים העיקריים שחברות מחפשות (CIFS/SMB, NFS, iSCSI)? בחלק המקרים. האם הן יכולות לגדול (Scale Out)? גם – בחלק מהמקרים. על מנת לפשט דברים, יצרתי טבלה פשוטה עם 3 המתמודדים הידועים בקוד פתוח, מה הם מסוגלים לתת ומה לא.

סוג מערכת NFS iSCSI CIFS/SMB Scale Out Scale Up
ZFS 2 1 3
GlusterFS 4
Ceph

1 תמיכת iSCSI ב-ZFS על לינוקס עבור VMWare כולל תמיכת VAAI מחייבת Kernel 4.4 ומעלה.
2 תמיכת NFS ב-ZFS על לינוקס תלויה בגירסת הפצת הלינוקס
3 ניתן לעבוד עם ZFS בלינוקס כ-Cluster בשימוש כלים כמו Sanoid או PaceMaker.
4 למרות שניתן לעבוד עם GlusterFS ב-2 שרתים – הדבר אינו מומלץ מעבר לרמת POC.

אלו המערכות העיקריות. לכל מערכת יש מספר גרסאות מסחריות (למעט GlusterFS). מערכת כמו ZFS ניתן לרכוש מערכת עם "ברזלים" ישירות מ-Oracle או ניתן להתקין FreeNAS, או להקים על שרת לינוקס עם הפצת Debian לדוגמא. תוכנת Ceph ניתנת לרכישה מ-רד-האט או מ-SuSE.

כשזה מגיע לתמיכה/תחזוקה – הדברים שונים בהתאם לגודל העסק/חברה:

  • לעסק קטן שמחפש סטורג' ואולי סטורג' עם שרת ב-Standby (כלומר Active/Passive – כ-Scale Up) הייתי ממליץ לבחור פתרון מבוסס ZFS. אם הלקוח מחפש פתרון Scale Out של כמה טרהבייט, אז אמליץ על GlusterFS וחוזה תמיכה עם אינטגרטור.
  • לעסקים בינוניים וגדולים, אם העסק מחפש פתרון מבוסס קוד פתוח ב-Scale Up, הייתי ממליץ על ZFS ופתרון Scale Out מבוסס Gluster. אם החברה מחפשת פתרון Scale Out בגדלים של Petabyte, אני ממליץ על Ceph. במקרים של GlusterFS ו-Ceph אני ממליץ לחברה לרכוש את התוכנה מהיצרן כולל תמיכה, כך שהאינטגרטור יתן תמיכה ואם יש עדיין בעיה – ניתן לפנות ליצרן התוכנה כך שבכל מקרה החברה מכוסה מבחינת תקלות תוכנה.
  • לחברות גדולות המחפשות פתרון סטורג' גדול מבחינת כמות DATA (שוב, פטהבייטים ומעלה) – אני ממליץ על ישיבה ויעוץ לגבי הפתרון מכיוון שבכל מקרה הפתרון הוא יקר ויש צורך לשמוע את 2 הצדדים (פתרון קנייני ופתרון מבוסס קוד פתוח).

בכל אחד מהסוגי לקוחות, הפתרונות המוצעים כוללים פתרון שרידות כך שלמעט תקלות חומרה או הפסקת חשמל, המערכת אמורה לשרוד נפילה אם יש תקלת תוכנה בסטורג' עצמו. אגב, בהזדמנות זו אני רוצה להדגיש: כאשר אתם קונים פתרון סטורג' שהוא Scale Up מ-NetApp או Dell/EMC, פתרון השרידות שלו הוא חלקי: זה שיש בקר RAID כפול, 2 מעבדים – תקלות כמו בעיית זכרון (ECC יכול לתקן תקלות עד גבול מסויים), או בעיה בלוח האם ב"ראש" – הסטורג' יפול, וכדאי לקחת זאת בחשבון כשרוכשים פתרון.

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