החל ה"מרדף" אחר החלפת הדיסקים קשיחים שלכם

כמעט בכל חברה גדולה בארץ יש שרתים ואם נסתכל בשרתים – ברוב המקרים נמצא דיסקים קשיחים מכניים. הם לא מהירים כמו דיסקים SSD, אבל הם "סוסי עבודה" שעושים עבודה טובה. אני די בטוח שהיו למנמר"ים או אנשי IT הצעות להחליף את הדיסקים האלו ב-SSD ובוודאי בחלק מהמקרים הדיסקים המכניים הוחלפו ב-SSD, אבל בד"כ חברות לא ממהרות להחליף – בגלל המחיר. אחרי הכל, מחיר ממוצע של SSD ל-Enterprise עולה הרבה יותר מאשר דיסק מכני SAS או NL-SAS ל-Enterprise.

מי שקורא את הפוסטים בבלוג זה, אולי קרא את הפוסט הזה שכתבתי על סוגי SSD וגם כתבתי על סוג שבבי NAND חדש עם תאי QLC (כלומר ניתן לכתוב 4 ביטים בתא אחד, בניגוד ל-SLC שבו ניתן לכתוב רק ביט אחד, אבל בהשוואה ל-QLC הוא הרבה יותר מהיר בכתיבה). החסרון הגדול של QLC זו הכתיבה האיטית ולכן דיסקים SSD מבוססי QLC NAND Flash לא מיועדים להתחרות מול SSD רגיל.

הם מיועדים להתחרות בדיסקים הקשיחים שיש לכם בשרתים.

הבה נודה על האמת: דיסקים מכניים בגודל 2.5" לא התקדמו כמעט בשנים האחרונות. ברוב המקרים הדיסק הכי גדול ל-2.5" ל-Enterprise הוא בגודל 2 טרהבייט (יש כמובן גם 5 טרהבייט אם כי הם אינם מיועדים ל-Enterprise ובכל מקרה לא בטוח הם יוכלו להיכנס לשרת שלכם אם השרת הוא של HP לדוגמא – המערכת פשוט תקפיץ הודעה שזה לא נתמך והיא לא תציג התראות מדיסק כזה). המהירות שלהם אינה גבוהה (בין 200-270 מגהבייט ב-Sequencial Read).

חברת Micron, בשיתוף פעולה עם אינטל, הציגו אתמול את ה-SSD מבוסס QLC הראשון שלהם. עדיין אין הרבה פרטים ציבוריים עליו ובאתר Toms Hardware כתבו כמה מילים לגביו.

טכנית, הדיסקים הללו, כפי שציינתי לעיל, מיועדים להיות "באמצע" – בין כוננים מכניים ל-SSD שכולם מכירים ל-Enterprise. הכתיבה שלו לא מהירה בהשוואה לשום SSD שקיים בשוק (כן, גם בהשוואה ל-SSD שעולה 1000 שקל בחנות מחשבים), אולם מהירות הקריאה שלו היא כמו מהירות קריאה של SSD ל-Enterprise, כלומר אתם תקבלו מהירות של 550 מגהבייט לשניה (שוב, ב-Sequencial Read, ב-Random התוצאה תהיה מעט שונה ואם משתמשים ב-Queue Depth התוצאות יהיו לא רעות .. הייתי מרחיב אבל יש אמברגו עד לסתיו הקרוב).

הגדלים של הדיסקים הללו יהיו שונים מגדלים של דיסקים מכניים. ה-5210 ION יהיה זמין בגדלים החל מ-2 טרהבייט ועד 8 טרהבייט (אני מעגל את המספרים), כך שתיאורתית דיסקים כאלו יכולים להחליף גם דיסקים מכניים בגודל 3.5" (ניתן לאכסן תיאורתית בשרת בגודל 1U עם 10 כניסות דיסקים – כמעט 80 טרהבייט של DATA).

והשאלה הכי חשובה לפני שחושבים לרכוש דבר כזה בעתיד: לאיזה עומסי עבודה זה מתאים? ובכן, התשובה היא במובהק לעבודות Read Intensive. זה לא מיועד לאכסן שרת SQL או נתונים של שרת SQL, זה לא מיועד לשמש כדיסקים לוקאליים עבור הרצת מכונות VM. זה מיועד יותר לאחסן תוכן סטטי, כך שאם אתם מריצים פורטל ארגוני גדול בחברה לדוגמא, דיסק כזה יכול לאחסן את התכנים עבור הפורטל (בנוסף לדיסק רגיל שיאחסן את השרת ה-Web ו/או ה-Application Server). חשוב לזכור: כמות הכתיבה/מחיקה על כל תא היא מוגבלת (בסביבות ה-1000 פעם, אבל בד"כ בקר ה-SSD עושה עבודה חכמה שלא תגיעו לזה)

חברת מיקרון היתה הראשונה להכריז על QLC, ותהיו בטוחים שבמהלך החודש הקרוב כל השאר יכריזו, כי כולם עבדו על יצור שבבים עם QLC: סמסונג, טושיבה, סאנדיסק/WD, אינטל (עם מיקרון), וגם SK Hynix. הרכישה תתאפשר החל מסביבות אוקטובר-נובמבר בשנה זו.

לסיכום: SSD עם תאים QLC מגיע לשוק. זה לא מתאים לכולם. כרגע יהיו הכרזות ל-Enterprise ובהמשך זה יזלוג לשוק הסמי-מקצועי ושוק הצרכנים. האם הייתי ממליץ לצרכן לרכוש דיסקים SSD כאלו? הפיתוי יהיה גדול הואיל והוא יהיה יותר זול מ-SSD מבוסס TLC או MLC (וצרכנים לא מודעים יקנו כאלו "כי זה SSD") – וזה יכול להתאים לשוק הביתי, אך לא לשוק המקצועי (במיוחד אם יש צורך לטפל בקבצים גדולים במהלך העבודה).

הסברים על SSD למשתמשים ביתיים ובחברות

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

כל מי שמשתמש במחשבים בצורה רצינית ומבין בנושא בוודאי מכיר ושמע על SSD, הכוננים האלקטרוניים ששומרים את המידע על שבבי NAND (כלומר: Flash). היתרון העצום שלהם על כוננים מכניים הוא כמובן מהירות הגישה: פי 2-20 בהשוואה לכל כונן דיסקים מכניים.

הבעיה מגיעה לכך שכמעוניינים לקנות כונן SSD, ההיצע בשוק ענק, הטקסט השיווקי מטעה בלא מעט מקרים, ואפשר להוסיף על כך כל מיני הצהרות של אנשים טכניים שהיו נכונים לפני 6-9 שנים אך לחלוטין לא נכונים כיום (כן, קרה לי כבר פעם שמישהו מאוד בכיר טען בישיבה כי כונני ה-SSD לא יחזיקו מעמד 5 שנים. יש לי 4 כונני SSD בשרת ZFS שמחזיקים כבר 6 שנים של SanDisk בלי שגיאה אחת והם דווקא מהסוג הכי פשוט שיש!).

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

ניקח כונן SSD, ונפתח אותו. כך הוא נראה בצידו העליון:

כך נראה הכונן. בחלקו השמאלי יושבים מספר שבבי NAND שעליהם יאוחסן המידע. השבב עם ה-M (של חברת Marvell) הוא בעצם ה"מוח" של כונן ה-SSD. הוא הבקר שמצד אחד "מדבר" עם המחשב (החיבורים מימין) ומצד שני הוא האחראי לפריסת הנתונים על שבבי ה-NAND, תחזוקת הנתונים, טיפול בשגיאות, קריאה, כתיבה וכו'. במקרים רבים יש עוד שבב או יותר שמשמשים כזכרון חוצץ (Buffer) אשר מקבלים את הנתונים מבחוץ (אם לדוגמא אנחנו מעתיקים קובץ מבחוץ אל תוך ה-SSD) והבקר כבר דואג לקבל את הנתונים מהזכרון החוצץ ולפרוס אותם אל שבבי ה-NAND. יש עוד פעולות כמו Garbage Collection ו-TRIM שלא ניכנס אליהם אבל הם דברים מאוד חשובים לאורך חיי ה-SSD.

נעבור מכאן לשבבי ה-NAND. אלו השבבים שבהם מאוחסנים הנתונים שלנו. בתוך כל שבב כזה נמצאים מיליוני תאים שמאחסנים את הנתונים והגישה אליהם נעשית דרך הפינים מתחת לשבב. ישנם מספר סוגי תאים (SLC, MLC, TLC, QLC) פרי פיתוח של השנים האחרונות וההבדל ביניהם הוא בעצם כמות הנתונים שאפשר לאכסן פר תא. SLC לדוגמא זה Single Level Cell, כלומר בכל תא אפשר לאחסן נתון אחד וה-SSD הראשונים היו בנויים מ-SLC, כך שהם היו מהירים מצד אחד, אך כמות המידע שהיה אפשר לאחסן – היתה קטנה. MLC הגיע לאחר מכן ולמרות ש-M זה Multi, כמות הנתונים שהיה אפשרי לאחסן היתה בעצם 2 נתונים בתא. (מדוע לא קראו לזה פשוט DLC ש-D הוא Dual, אין לי מושג ירוק). אחרי MLC הגיע TLC (שנמצא ברוב כונני ה-SSD בשוק היום לסקטורים שאינם שרתים) ששם אפשר לאחסן 3 תאים והאחרון (QLC) יכול לאחסן כמות נכבדה של 4 נתונים בתא אחד.

אחת הבעיות הכי מאתגרות בתחום ה-SSD ו-NAND היתה בעצם האפשרות לאחסן כמות גדולה (אני מדבר על תקופת ה-SLC ו-MLC). יש גבול לגודל שבב שאפשר לייצר (ככל שהשבב יותר גדול, הסיכוי לתקלות בו יותר גבוה, בגלל זה מעבדים ו-GPU הם יקרים), ולכן סמסונג (ולאחר מכן חברות אחרות) החלו לעבוד על טכנולוגיה חדשה – במקום ליצור תאים יותר ויותר קטנים על מנת להכניס נתונים רבים – לבנות לגובה, וזה מה שנקרא 3D. בהתחלה סמסונג יצאה עם שבב שיש בו בעצם 32 "שכבות" ולאחר מכן 64 שכבות וכרגע הם מתחילים לייצר 96 שכבות ועובדים על 128 שכבות, כאשר בין כל השכבות יש מעין "מוטות" ותקשורת בין השכבות והבקר כמובן יכול לגשת לכל השבבים ולכל השכבות.

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

עכשיו שאנחנו מבינים באופן עקרוני מהו SSD ומה הם התאים שבתוכו, נכיר את סוגי ה-SSD. יש מס' סוגים, אך נתרכז ב-2 סוגים, ה"קופסא" וה"מקל".

נתחיל ב"קופסא" – אלו בד"כ כונני ה-SSD שאנחנו מכירים ללאפטופים ושיכולים כמובן להיות מחוברים לתחנות עבודה, דסקטופים וכו'. כל כונני ה-SSD הם בגודל אחיד של 2.5" (יש גם 3.5" אך הם מיועדים לסקטור השרתים והם עולים עשרות אלפי דולרים) והחיבור שלהם הוא חיבור SATA רגיל בדיוק כמו חיבור דיסק קשיח מכני (לאלו שיש להם מחשב ישן דסקטופ, ניתן לרכוש כמובן בזול מתאם בין 3.5" ל-2.5" ב-eBay ובאתרים אחרים, ובחלק מהמוצרים היצרן מוסיף מתכת להתאמה, כמו חברת Kingston). אין צורך בדרייברים על מנת לקבל פעילות של כונן ה-SSD (אך יכול להיות שתצטרכו תוכנה מסויימת, עליה אדבר בהמשך). דיסק SSD כזה הוא דבר מעולה לאלו שיש להם מחשבים ניידים עם דיסקים מכניים והם מעוניינים להשביח את המחשב הנייד שלהם. ישנן מספר תוכנות חינמיות שיכולות להעביר את הנתונים מהדיסק המכני לדיסק SSD (לשם כך תצטרכו לרכוש מתאם USB ל-SATA על מנת לחבר את כונן ה-SSD בחוץ ולהשתמש בתוכנה להעביר את הנתונים ורק לאחר מכן להעביר את ה-SSD לתוך המחשב הנייד).

חוץ מגירסת ה"קופסא" יש לנו את גירסת ה"מקל" – אלו בעצם כונני SSD בתצורה שמתברגת על לוח האם של המחשב (ושל מחשבים ניידים חדשים, בחלק מהמקרים). מדובר ב"מקל" ברוחב 22 מ"מ ובאורך 80 מ"מ (יש גם גירסה של 110 מ"מ) שאותו אנחנו מחברים לחיבור מיוחד ומבריגים. החיבור נראה כך:

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

עוד סוג חיבור שיש הוא חיבור ה-U.2, הוא מופיע בריבוע הכחול בתמונה:

חיבור זה הוא חיבור PCIe, כלומר הוא בדיוק כמו חיבור NVME SSD רק שהוא יותר מיועד לכונני SSD שיושבים במחשב דסקטופ מקדימה. החיבור הזה קיים רק בחלק מהלוחות אם החדשים והיקרים והוא מצריך כונן SSD "קופסא" עם חיבור PCIe (בד"כ בקופסת ה-SSD יהיה כבל מתאם מיוחד).

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

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

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

  • סמסונג – המלכה בשוק. דגמים של ה-960 וה-970, ה-PRO או EVO (ה-PRO יותר מהיר)
  • אינטל – ה-900P או ה-905P בסידרת ה-Optane. שימו לב שהם יקרים מאוד אך ה-905P הוא ה-SSD הכי מהיר שיש כיום בשוק נכון לשעת כתיבת שורות אלו. שימו לב – הפתרונות של אינטל יעבדו רק אם יש לכם מעבדי AMD Ryzen או i7/i5/i3 מהדור השביעי (Kaby Lake) או דור שמיני (Coffee Lake).
  • Western Digital – סידרת ה-Blue או Black בגירסת M.2 NVME.

אלו שלא מומלצים – אני בד"כ לא פוסל SSD כי כמעט תמיד יש סקטורים שזה יכול להתאים להם גם אם הם לא מהירים כל כך, אך במקרה של אינטל, סידרת ה-Optane Memory Series – בגדלים 16,32,64 ג'יגהבייט אני ממליץ לא לרכוש. הם מבחינה טכנית פשוט זבל וכל דיסק SSD מכל יצרן יתן ביצועים הרבה יותר גבוהים עם הפרשי מחירים זעומים.

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

האם כדאי לוותר על הדיסק המכני? התשובה שלי: לא. דיסק מכני הוא מצד אחד זול ומצד שני יכול להכיל הרבה יותר מידע מאשר SSD (סתם לידיעה, סמסונג 850 EVO בגודל 4 טרהבייט יעלה לכם בחו"ל 1500-1700 דולר). בד"כ יצרן ה-SSD יציע תוכנה יחד עם ה-SSD שתעביר את ה-Windows ל-SSD וידע לנטר את הדיסקים כך שנתונים שהקריאה שלהם שכיחה יועברו ל-SSD והנתונים שבקושי קוראים אותם ישארו בדיסק המכני. לאינטל יש תוכנה כמו RST שעושה זאת ול-AMD יש הסכם עם חברת Enmotus למכור תוכנה ב-20$ שנקראת FuzeDrive (היא אמנם מצריכה התקנה של Windows על ה-SSD מחדש, אבל היא עושה עבודה הרבה יותר רצינית מה-RST של אינטל), ויש כמובן תוכנות צד ג' בשוק ל-Windows (חלקן חינמיות). למשתמשי Linux – אם אתם משתמשים ב-LVM במחשב שלכם, אז ה-LVM יכול לקבל כונן או ווליום או Partition כ-Cache ואפשר כמובן להשתמש בדברים כמו bcache כדי לקבל את אותה תוצאה.

דברים נוספים שכדאי לדעת:

  • מעתיקים קבצים של כמה ג'יגהבייט כל אחד? אל תצפו לכתיבה מהירה לאורך כל ההעתקה ברוב כונני ה-SSD (למעט ה-900P/905P וה-970 PRO). הסיבה? הזכרון החוצץ (Buffer) מתמלא ומתחיל לכתוב את הנתונים לשבבי ה-NAND וברגע שאין זכרון פנוי, הכתיבה נהיית איטית.
  • עובדים בפוטושופ ופתחתם קובץ עם מאות שכבות? אם זה לא SSD מהמהירים – יכול להיות שזה יהיה איטי במעט. זיכרו: דיסקים SSD זולים הם טובים בהעברת נתונים רציפה כאשר מדובר בהעברת קובץ גדול, אולם כשיש לו עוד 200 קבצים נוספים, הוא יהיה איטי.
  • מחירים: מחירי ה-SSD יורדים אבל לאט. אם מחירי הדגמים שציינתי לעיל יקרים, אתם מוזמנים להתסכל דור אחד אחורה או לקרוא כל מיני אתרים שמציינים מיקומים שונים לכונני SSD ומחירים.
  • אחריות – כיום כמעט כל יצרני ה-SSD נותנים מינימום 3 שנות אחריות, אינטל וסמסונג בד"כ נותנים 5 שנות אחריות ולדגמים מסויימים אפילו 10 שנות אחריות. חשוב לכל ה-Corporate.
  • משתמשי לינוקס ובחירת File System – אין ממש הבדל. כיום גם XFS, EXT4, BTRFS תומכים בפרמטר mount או עם פקודת fstrim. מערכת ZFS לעומת זאת תתמוך בגירסה 0.8 בפונקציונאליות הזו (אם כי קיימים טלאים שאפשר להשתמש בהם).
  • קונים גירסה M.2 והולכים לגרום למחשב "להזיע"? חפשו ברשת קירור טרמי ל-M.2. אחד החסרונות של M.2 (בחלק מהמקרים) הוא כשה"מקל" חם מאוד – הביצועים יורדים על מנת לשמור עליו. הפתרון הזה לדוגמא, הוא פתרון טוב.

ומה העתיד? אינטל דוחפת חזק את פתרון ה-XPoint שלה שהוא כרגע המהיר ביותר בשוק (אבל גם היקר ביותר – ה-905P שלהם בגירסת ה-600 ג'יגהבייט עולה 1220$ והוא יותר מהיר מגירסת ה-Enterprise שלהם!) אבל סמסונג לא נמצאת מרחוק עם ה-Z-SSD שלהם שמציע ביצועי קריאה יותר מהירים מכל דבר אחר בשוק (ביצועי כתיבה, לא משהו בדור הנוכחי).
סביר להניח שבשנה הבאה נראה SSD מבוסס QLC (שזה 4 נתונים נכתבים/נקראים בכל תא). החסרון הענק שלו הוא מהירות הכתיבה שתהיה די "זוחלת" (בהשוואה ל-SSD אחרים), אבל מצד שני נוכל לרכוש SSD כאלו בגדלים של 4 ו-8 טרהבייט במחיר שלא מגיע לאלפי דולרים ובכך נוכל להחליף כוננים מכניים ב-SSD.

לסיכום: כונני SSD נותנים ביצועים הרבה יותר מהירים מכונני דיסקים מכניים, אבל הם גם "חיות" שונות וכדאי לשים לב להבדלים. השוק מוצף ב-SSD שונים ולכן כדאי לבצע מחקר קטן לפני ששולפים את כרטיסי האשראי. כדאי לשים לב להוראות יצרן לדברים כמו לא לפרמט SSD ל-100% ואם מדובר ב"מקל" M.2 לגבי עניין החום.

מה ההבדל האמיתי בין SSD רגיל ל-SSD ל-Enterprise?

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

הרשו לי להציג לכם את ה"יורש" של הסמסונג 850 PRO  שיצא שלשום – אחד מכונני ה-SSD שהצליח במשך 3 שנים להתעלות מעל רוב כונני ה-SSD הביתיים מבחינת ביצועים. זהו הסמסונג 860 PRO. מבחינת ביצועים הן מבדיקות והן "על הנייר" – זו חיה: 560 מגהבייט לשניה בקריאה ו-530 מגהבייט לשניה בכתיבה (זהו כונן בחיבור SATA). מבחינת IOPS יש לו בהחלט מה להתגאות: 100000 בקריאה, 90000 בכתיבה, ואורך החיים שלו – אתם יכולים לכתוב עליו ולמחוק – עד 4800 טרהבייט בכל משך ימי חייו. שום דיסק מכני לא נותן דבר כזה כמובן. מחיר: $238 לחצי טרהבייט.

והנה ה"אח הבכור" – ה-960 PRO בגירסת M.2 NVME. הביצועים? 3.5 ג'יגהבייט קריאה, 1.9 ג'יגהבייט כתיבה. IOPS? טוב ששאלתם: 440000 בקריאה, 360,000 בכתיבה. המחיר: $300 לחצי טרהבייט. אפשר לכתוב עליו באורך חייו כ-400 טרהבייט. (כן, ה-860 מחזיק הרבה יותר).

תכירו את ה-SSD החדש ביותר של אינטל (כתבתי עליו בעבר) – ה-900P. הוא יקר יותר ($628 לגירסה של 480 ג'יגהבייט), הוא יותר איטי בגישה לנתונים (2.5 ג'יגה בקריאה, 2 ג'יגה בכתיבה) אבל כשזה מגיע ל-IOPS, הוא בועט בכולם: 550,000 בקריאה, 500,000 בכתיבה.

אז מי מהם מתאים לחברות ומי לא מתאים לבית? ומדוע ההבדלים?

נתחיל ב-900P (הוא "האח הקטן" של ה-DC P4800X). נניח שאתה רוצה SSD מהיר לבית, אתה עורך וידאו נניח או מוכן לשפוך סכומים רציניים על המחשב למשחקים שלך. הכסף לא ממש משנה לך. האם כדאי לקנות אותו? התשובה היא לא. אם נעמיד את ה-900P במבחן מול ה-960 PRO או ה-860 PRO, שתיהם ינצחו אותו בקלות, כלומר אתה יכול לחסוך 300 דולר ולקבל SSD שיתאים לך לבית.

עכשיו נלך לחברה. נניח שאנחנו מקימים Storage משלנו, נניח שאנחנו מקימים שרת SQL כלשהו (לא חשוב אם זה מיקרוסופט, אורקל או PostgreSQL או MySQL) או שרת אפליקציה שאמור לתת שרות למחשבים רבים או משתמשים רבים. כאן דווקא ה-900P יתן ביצועים הרבה יותר גבוהים בהשוואה ל-2 ה-SSD של סמסונג, הם "יחנקו" מהר מאוד.

ה-SSD ל-Enterprise בעקרון בנוי לתת שרות לכמה שיותר משתמשים/מחשבים/תחנות, כמה שיותר Clients, בשעה שה-2 השניים בנויים לתת שרותים לכמה שפחות, כלומר למחשב אחד, לכמה אפליקציות שרצות במקביל במחשב הביתי/תחנת עבודה. במילים אחרות – אם לא מעמיסים על דיסק SSD ל-Enterprise אתם תקבלו ביצועים רחוקים מאוד ממה שמוצהר ע"י היצרן.

פרסמתי כאן בתחילת השנה פוסט על SSD ל-Enterprise והוא רלוונטי בדיוק לפוסט זה. בפוסט הקודם הזכרתי את ה-QD (ה-Queue Depth) שצריך אותו כדי לתת שרותים לכמה שיותר Clients וזה בדיוק מה ש-SSD ל-Enterprise מצטיין בו ו-SSD לבית גרוע בו. ניקח לדוגמא את ה-960 PRO, אם תסתכלו בסקירה זו תיראו שברגע שמתחילים להעמיס עליו, הביצועים צונחים דרמטית.

עכשיו נשארנו עם בעיה אחת: נניח ואנחנו רוצים ביצועים מאוד גבוהים לשרתים עם דיסקים מקומיים (כן, לאלו שמריצים vSphere עם דיסקים מקומיים לדוגמא) אבל המחיר מפחיד. ה-DC P4800X לדוגמא בגירסה צנועה של 375 ג'יגהבייט עולה $1700 (המחיר קצת יקר באמזון, המחיר הרשמי הוא $1520) וגירסת ה-750 ג'יגהבייט עולה מחיר "צנוע" של $3,653. במחיר כזה, גם חברות גדולות מתחילות לחשוב פעמיים אם לקנות במחיר כזה.

מה ניתן לעשות? ישנן מס' אפשרויות:

  • לקנות כמה קטנים. אפשר לדוגמא לרכוש 2 כרטיסי 900P (אגב, אם השרתים שלכם חדשים, אז ניתן לקנות את ה-900P בגירסת U.2 שנכנסת מקדימה) ולחבר אותם ב-RAID-0 ולהגדיר אותם כ-Cache. זה מתאים למצבים שאנחנו רוצים להריץ את השרת כשרת קבצים או כשרת NFS/SAMBA ואליו נחבר לדוגמא שרתי vSphere.
  • אם אנחנו רוצים להריץ שרת SQL או שרת אפליקציה כבד, נוסיף דיסק SSD כלשהו למערכת, עליו נתקין את מערכת ההפעלה והאפליקציות אך ה-DATA ישב ב-RAID-0 (מתוך הנחה שיש לכם גיבוי יומי!) כ"כונן" נפרד.
  • נבחר כונני Enterprise יותר זולים. לאינטל יש את ה-750 שישן קצת (מ-2015) אבל נותן ביצועים יותר טובים, יש את ה-P4600 ו-4700, שהם מעולים. חברות גדולות, כמובן, לא קונות כוננים ישירות מאינטל או סמסונג, ולכן מומלץ לחברות אלו לבדוק מיצרן השרת שלהם אלו דיסקים ניתן לקנות (לא מומלץ לקנות עם חיבור SAS, לכולן יש פאנל קדמי לחיבור דיסקים SSD בחיבור U.2 או SATA).

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

כמה מילים על SSD ל-Enterprise

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

נתחיל ב"קרב" של SAS מול SATA: כשזה היה בדיסקים מכניים, אז כמובן ה-SAS ניצח, אבל כשזה מתקדם ל-SSD, אתם תראו יותר ויותר פתרונות ל-Enterprise שהם מבוססי SATA. רגע, כבר נכתבו אלפי מאמרים והרבה מרצים הרצו כמה SATA נחות לעומת SAS, אז מה קרה שהיצרניות מייצרות SSD כ-SATA ועוד ל-Enterprise?

התשובה לכך פשוטה וקשורה ל… תור, ספציפית לדבר שנקרא QD (כלומר: Queue Depth). המושג QD אומר בעצם כמה פעולות הבקר והדיסק יכולים להתמודד מבחינת תור. נסו לדמיין את עצמכם בסופרמרקט, זה עתה סיימתם להכניס מוצרים לעגלה ואתם עוברים לקופות. בד"כ אתם לא תגיעו ישר לקופאית, אלא תמתינו בתור כמו כל אחד אחר (טוב, תמיד יש תחמנים אבל זה משהו אחר) עד שיגיע תורכם להעלות את המוצרים מהעגלה למסוע, לתת לקופאית להעביר את המוצרים בסורק ולבסוף לשלם על המוצרים. ככל שיש יותר קופות פתוחות, התורים מתקצרים, וזה ההבדל הגדול בין דיסק SAS ל-SATA: בדיסק SATA יש 32 ערוצי תורים, ב-SAS יש 254 תורים, כך ש-SAS תמיד ישרת את הפניות יותר מהר.

עכשיו נשנה את הסיטואציה: אין קופאיות, העגלה בעצמה סורקת את המוצרים שלך ואז אתה מעביר את כרטיס האשראי בעמדות תשלום. האם התור יתקצר? בוודאי, תוך 2-3 דקות תוכל לסיים את הקניה, להעביר לשקיות ולצאת (טוב נו, בתיאוריה) – וזה מה שקורה עם SATA SSD: בגלל שה-SSD מאד מהיר והוא יודע בדיוק כל קובץ היכן הוא נמצא ואין צורך בראשים שיגיעו ויתחילו לקרוא את הנתונים ממקומות שונים, אז כתיבת/קריאת הנתונים תהיה מאוד זריזה, בוודאי כשנשווה זאת מול דיסק SAS מכני ולא חשוב מה תהיה מהירות ה-RPM שלו. בנוסף, דיסק SSD SATA טוב מגיע למהירות קריאה/כתיבה לפחות כפולה מכל דיסק SAS מכני והוא מריץ את ה-QD המוגבל שלו הרבה יותר יעיל ומהר מדיסק SAS מכני.

עוד סוג דיסקים שקיים הוא SAS SSD. טכנית, הדיסק נותן מהירות כפולה מדיסק SATA SSD, אך אם תבדקו אצל יצרנים שונים, תראו שהם פשוט כבר כמעט לא מייצרים כאלו מהסיבה הפשוטה: אם אתה רוצה משהו יותר מהיר מ-SATA, עבור ל-NVME. סמסונג, לדוגמא, מייצרת רק דיסק SSD אחד בחיבור SAS, והוא ה-PM1633a שמיוצר בגודל מרשים של 15.3 טרהבייט. המחיר? 4500$ לחתיכה. משום מה אני בספק אם יהיו רבים בארץ שיקנו אותו.

דיסקים NVME לא מתחברים לשום בקר RAID אלא מתחברים דרך חיבור U.2 (שהוא בעצם PCIe X4) ישירות ללוח ולמעבד (אם כי בחלק מהמקרים הוא עובר דרך צ'יפ "Switch" שנקרא PLX כי בלוח אין הרבה יציאות PCIe בלוחות מבוססי אינטל, ב-AMD Epyc התמונה אחרת לגמרי).

דיסקים SSD NVME בנוים בתצורה כזו של שרידות מאוד גבוהה, כך שאפשר לעבוד עליהם כיחידים או שניתן לקבוע זוג (דרך ה-BIOS/UEFI) כ-RAID-1 בשביל שרידות טובה או RAID-0 בשביל איחוד מקום (הדיסקים האלו הרבה יותר אמינים מכל דיסק SAS והם יודעים בעצמם לתקן שגיאות, בגלל זה יש להם גם אחריות של 5 שנים), אבל לפני שרצים חשוב לשים לב לא לקנות את הכי יקרים מהסיבה הפשוטה: אם אתם מייעדים את הדיסקים לשימוש אותו שרת מקומי בלבד או אם אתם מכניסים את זה לשרת קבצים שישרת 2-4 שרתים, אז הדיסקים המאוד יקרים לא יתנו לכם את הביצועים שאתם צריכים, בשביל שיתנו ביצועים גבוהים, צריכים כמה שיותר שרתים ושרותים שיכתבו ויקראו לדיסק, כלומר צריך למלא את ה-QD והרבה – בד"כ QD של 128 ידע לנצל את הדיסק הזה ואגב, אם SAS יכול לתת 254 תורים, דיסק NVME יכול לתת.. 50,000 תורים וכמה שתמלא את התור הזה הביצועים יהיו יותר גבוהים, לכן מומלצים דיסקים NVME מהסוג כמו של סמסונג כמו ה-PM863a  שמכיל 1 טרהבייט ועולה (בחו"ל) 480$. חשוב גם להכניס למחיר פאנל קדמי שיודע לתמוך ב-NVME (זה מגיע רק בתוספת תשלום ובחלק מהדגמים רק לחלק מהפאנל).

נקודה חשובה נוספת בשיקול היא דיסקים SSD עם או בלי סופר-קבלים (Supercapacitors). ישנם דיסקים רבים ל-Enterprise שמכילים זאת ובכך הם שומרים נתונים שעדיין לא נכתבו בעת הפסקת חשמל. זהו דבר חשוב אם אתם קונים דיסקים NVME, אולם אם הדיסקים הם SATA SSD, בד"כ הסוללה על הבקר תשמור את הנתונים עד לחזרת החשמל. כדאי לקחת זאת בחשבון.

לסיכום: מעבר ל-SSD זה דבר שיכול רק להועיל. לא חייבים לשרוף את התקציב השנתי על דיסקים ולא תמיד חייבים דיסקים Enterprise במקרים של SSD, אבל אם גם הולכים על דיסקים Enterprise, אין תמיד הצדקה לרכוש את היקרים ביותר – מכיוון שהם לא יתנו את הביצועים אם הדברים שאנחנו הולכים לבצע לא "קורעים" את ה-QD. לא מומלץ לנסות להקים RAID-5/RAID-6 על דיסקים NVME (ולמען האמת גם לא על SATA SSD) כי זה יקצר את חייהם משמעותית ולכן עדיף לרכוש דיסקים מעט יותר גדולים ולחבר אותם (דרך ה-BIOS/UEFI או תוכנת Storage) כ-RAID-1/RAID-10.

העתיד: דיסקים, Storage ו-NVME-OF

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

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

התשובה: במקרים של דיסקים מכניים – בהחלט. במקרים של SSD – זה יוצא ההיפך. קחו דיסק SSD בחיבור SATA ותקבלו לדוגמא מהירות קריאה של 550 מגהבייט לשניה. לזה, שום SAS לא הגיע עם דיסקים מכניים (אלא אם מכניסים את ה-Cache של הבקר אבל זה יפה במבחנים, לא לעבודה במציאות) וכך עולם הדיסקים חזר "אחורה" ל-SATA ופורמט ה-SAS די "מת" למרות מאמצים מצד יצרני בקרים ושרתים להוציא (מאוחר מדי, LSI היו הראשונים להוציא מוצרים ב-2013) את SAS-12G, וכך המצב בשנתיים האחרונות בשוק הוא שדיסקים SSD קיימים בגירסאות SATA בלבד – אבל הדיסקים עצמם מכילים את כל תכונות ה-Enterprise כמו תיקון תקלות אוטומטי, שמירת מידע עצמאית בעת הפסקת חשמל, שרידות גבוהה בעבודות כבדות ועוד.

דיסקים SSD מבוססים SATA מאפשרים לחברות להמשיך לעבוד כאילו הם עובדים עם דיסקים מכניים או דיסקים SSD ישנים, ורבים נוטים עדיין לעשות את הטעות לעבוד כ-RAID-5,50,60 כשהם שוכחים 2 דברים מאוד חשובים:

ה-RAID-5 וה"אחים" שלו 50,60 ביצעו 2 דברים חשובים: נתנו ביצועים גבוהים הנובעים מעבודה עם ריבוי דיסקים וחלוקת העבודה בין הדיסקים, ושרידות יותר גבוהה מכיוון שאם הולך דיסק אחד או 2 (בהתאם לשלב ה-RAID) – המערכת היתה ניתנת לשיקום לאחר החלפת הדיסקים. עם SSD לעומת זאת (גירסת Enterprise!) הביצועים שהדיסקים האלו מוציאים די "חונקים" כל כרטיס רשת. תחשבו על כך: 2 דיסקים SSD ב-RAID-0 מוציאים מהירות תיאורתית של 1100 מגהבייט לשניה (בקריאה). נתרגם זאת לג'יגהביט ונקבל .. 8 ג'יגהביט, כלומר כרטיס רשת של 10 ג'יגהביט יהיה תפוס ב-80% בזמן שהוא משדר את ה-DATA מצמד הדיסקים, ושוב – אני מדבר על 2 דיסקים בלבד. אז מה בעצם נותן בקר דיסקים? ביצועים? יש כבר לדיסקים, לא צריך גם Cache. שרידות? ב-SSD ל-Enterprise יש יכולות הרבה יותר מרשימות של שרידות פנימית מאשר כמעט כל בקר RAID בשוק. ובכל זאת, חברות ממשיכות לעבוד כך. מדוע? אני חושב שזה עניין של הרגל.

בשנתיים האחרונות נכנסנו לעידן חדש של דיסקים SSD, מה שבהתחלה נקרא PCI SSD והיום פשוט נקרא NVME SSD. לדיסקים הללו לא תמצאו שום RAID כי הדיסק מחובר ישירות לתושבת PCIE X4 (בחיבור שנקרא כיום U.2, חלק מהיצרנים לצערי עדיין משתמשים בחיבור קנייני משלהם, לרווחתם של יצרני הדיסקים והשרתים, לצערם של הלקוחות ש"ננעלים" בכך שלא ניתן להכניס דיסקים יותר טובים מצד ג'). הדיסקים הללו כיחידות עצמאיות נותנות יותר ביצועים מכל מה שתשיג עם SSD ו-RAID, מהירויות של 2-4 ג'יגהבייט לשניה בקריאה ועד 2 ג'יגהבייט בכתיבה עם עשרות עד מאות אלפי IOPS (וכמובן את המילה האחרונה בשרידות, ושוב – שרידות הרבה יותר גבוהה מכל דיסק מכני שאתם מכירים) ושם כבר אין RAID (ואם רוצים RAID 0,1,10 – עושים זאת בתוכנה. הביצועים לא יהיו נמוכים יותר בהשוואה לבקר יעודי, האמינו לי, גם אם תנסו את זה על מעבד i5 פשוט [ניסיתי בעצמי מול בקר יוקרתי של LSI ]).

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

אם נסתכל מבחינת דיסקים, בשנה הנוכחית השוק מנסה להסתגל למצב חדש שבו יש הרבה יותר ביקוש מהיצע. דיסקים NVME SSD של 3-4 טרהבייט, גם אם תנפנף מול היצרן בכרטיס אשראי פלטיניום, תשלום מיידי או ערימת מזומנים – תיאלץ במקרים רבים לחכות וזה כרגע עדיין "מכה" ב-HP, DELL וגם ב-Lenovo. היצרנים נתפסו "במערומיהם" עם דרישות היסטריות לשבבי Flash מצד כל יצרני המחשבים והטלפונים. כולם רוצים שבבי NAND ועכשיו. יצרני השבבים גדלים (חברת TSMC לדוגמא, אחת החברות הגדולות ליצור שבבים – מתכננת בניה של FAB נוסף בסין בדיוק בשביל זה) ושבבי ה-3D NAND החדשים מאפשרים ליצור שבבים עם כמות אחסון יותר גדלה בליטוגרפיה בשיטות יותר "ישנות" כך שניתן פר Waffer ליצור יותר שבבים. שלבים אלו ואחרים יתורגמו לשחרור לחץ בשוק במהלך השנה שנתיים הקרובות.

אבל גם אם הבעיה תיפתר, נמצא את עצמנו בבעיה אחרת: בשביל ביצועים רציניים צריך NVME SSD וגם אם יש לך דיסקים חדשים וגדולים כאלו, איך בדיוק תשתמש בהם? זה לא שיש לך בקר RAID להגדיר Virtual Disk שעל זה אתה מתקין Windows, Linux, vSphere וכו'.. אפשר כמובן להוסיף דיסק קשיח כלשהו (ולהשתמש בבקר הפנימי כדי לבנות RAID-1 מדיסקים פשוטים) כדי להתקין את מערכת ההפעלה וכו', אבל הדבר הבא שהיצרנים ידחפו נקרא NVME-OF (זהירות, לינק לקובץ PDF). זהו הסטנדרט חדש שנבנה ע"י החברות שבנו את סטנדרט NVME, ועם הסטנדרט הזה אנחנו משתמשים בכמה מושגים שבוודאי שמעתם עליהם:

  • ה-AFA (כלומר All Flash Array) – מערכת סטורג' (או שרת) שבנוי כולו מדיסקים NVME SSD.
  • על מה נעביר את הנתונים? זוכרים ROCE? אז הוא חוזר לסיבוב נוסף, ולאלו שאוהבים לשפוך כסף כאילו אין מחר (בנקים, מכוני מחקר יוקרתיים וכו') – Infiniband.
  • ובאיזו שיטה? זוכרים iSCSI? אז נגזור משם את ה-Target ו-Initiator, שיהיה לכם חיים יותר קלים.
  • אבל מה עם כתובות IP וכו'? זה ישאר, רק שהפעם זה "נעקר" מה-OS ומועבר לביצוע ע"י כרטיס הרשת (כלומר TCP Offload).

עכשיו נשלב את הכל ביחד: נבנה שרת מבוסס Dual Xeon עם 128 ג'יגה (עדיף יותר, תלוי בכמות ה-Clients וכו') מבוסס לינוקס עם קרנל 4.8.7 ומעלה, עליו נרים מערכת שתהווה בעצם Target ובה ישבו לא רק הדיסקים אלא גם מספר כרטיסי רשת עם פס רחב (25 ג'יגה ומעלה או Infiniband). הכרטיסים יחוברו למתג תואם ומשם יחוברו לשאר השרתים שאנו מעוניינים. את חלוקת ה-Volumes וכו' נעשה על ה-Linux והמערכת בלינוקס תשדר זאת דרך ה-ROCE כבלוקים (אפשר עם שילוב TCP/IP, אפשר גם בלי אבל אז יתחילו הצרחות ממחלקת ה-IT) וה-Initiator בשרתים יתחבר ל-Target (יהיו גם אפשרויות אותנטיקציה, הצפנה וכו'). שרתים ישנים יוכלו להעלות את ה-Initiator לדוגמא דרך IPXE (או PXE לחובבי טכנולוגיה קלאסית) ומשם ה-OS יעלה ויקבל תמיכה מלאה כאילו מדובר בדיסקים מקומיים.

והביצועים? אם נשווה זאת לדיסקים NVME מקומיים, ההבדל יהיה באחוזים בודדים. מכיוון שכל השיטה מעיפה כל דבר שמוסיף Latency, הביצועים נראים כאילו מדובר בדיסקים מקומיים, רק שאין צורך לבצע תחזוקת דיסקים פר שרת והכל מבוצע ממקום אחד (ומנסיון, התחזוקה לא כזו מורכבת). סתם דוגמא: גם אם שפכתם כסף והפכתם את המערכת תקשורת שלכם ל-100 ג'יגהביט, תקבלו (במספר חיבורים במקביל) קצב של 93 ג'יגהביט בקריאה, ו-40 ג'יגהביט בכתיבה. עכשיו תנסו לדמיין מערכת VDI לאלפי משתמשים ואיך זה יעבוד, וכן – יש Initiators ללינוקס, Windows ול-VMWare כבר כיום.

כמובן שחובבי מיקרוסופט לא ישארו בצד ואם הם רוצים להקים לעצמם Target מבוסס Windows Storage Server אז הם יצטרכו להמתין קצת לגירסה הבאה.

לסיכום: דיברתי כאן על דיסקים SSD, על תקשורת שגבוהה בהרבה מ-10 ג'יגהביט, על NVME-OF (ממש על קצה המזלג). הטכנולוגיה קיימת כבר כיום (חברת Mellanox  כבר דוחפת ומדגימה אותה), אבל שום חברה לא עוברת מהיום למחר לטכנולוגיה חדשה שמצריכה החלפת מתגים וכרטיסי רשת ורכישה רצינית של NVME SSD ושרתים לכך. אלו דברים שלוקחים זמן, לפעמים שנים – אבל זהו הכיוון שהשוק ל-Data Center עובר אליו. חברות סטורג' רבות ישמחו למכור לכם את הפתרון לאחסון מחר בבוקר, אבל לפחות מבחינת TCO ו-ROI (ואם החברה מוכנה לאמץ מעט ראש פתוח) אני ממליץ לחשוב על פתרון בניה עצמית. הוא הרבה יותר קל ממה שרבים נוטים לחשוב (סתם דוגמא: הוא הרבה יותר קל מאשר הקמה וניהול של שרת ZFS) והוא פתרון שיכול להיות Scale Out די בקלות וזול בהרבה אם חושבים להרחיב – מאשר פתרון קנייני.

מוגש כחומר למחשבה 🙂

על דיסקים SSD בתצורת NVMe/PCIe

בשנתיים האחרונות נכנסה טכנולוגיית דיסקים (SSD) חדשה לשוק – טכנולוגיית ה-NVMe SSD (או PCI SSD – זה אותו דבר). רבים לקחו את עניין ה-SSD הנ"ל כמשהו שהוא יותר אבולוציה מאשר רבולוציה. עד היום היה לנו דיסקים SATA, NL-SAS, SAS ועכשיו יש לנו PCI/NVMe. לא?

זהו, שלא כל כך.

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

ואז הגיע ה-NVMe SSD עם "הפתעה": אין בקר RAID. תכניסו דיסק NVMe/PCIe לתוך השרת שלכם (אם הוא תומך בטכנולוגיה), כנסו להגדרות ה-RAID חומרה שלכם והופס .. הדיסקים החדשים לא מופיעים. לא, לא מדובר בתקלה. מדובר במשהו שתוכנן כך מראש.

בקרי RAID נועדו בראש ובראשונה ליצור לנו "אשכולות" של דיסקים שיחדיו יוכרו כ-RAID Volume. קח לדוגמא אנו יכולים לקחת מספר דיסקים ולבנות RAID 5, או 2 דיסקים ולבנות מהם RAID-1 או RAID-0 אם אנחנו רוצים לאכסן דברים שלא אכפת לנו שימחקו אם דיסק נפל (לדוגמא: Cache לאפליקציות). בקר ה-RAID גם "לקח אחריות" על כל מה שקורה מבחינת חיי ותקינות הדיסקים: בעיות כתיבה/קריאה? הוא יקרא מדיסק אחר. צריך לשמור נתונים בעת הפסקת חשמל? יש זכרון וסוללה על בקר ה-RAID וכך הנתונים ישמרו עד שיחזור החשמל וכשהוא יחזור הבקר יכתוב את הנתונים בצורה נכונה לדיסקים. זה הרעיון המרכזי של בקר RAID.

ב-NVMe לעומת זאת, הדיסק לא מדבר לשום בקר. הדיסק, כמו כל כרטיס PCIe, מדבר ישירות למערכת דרך ה-DMI, כלומר הנתונים עוברים ישירות אל הזכרון (RAM) בשרת וכך נחסך כל ה"תיווך" של הבקר.

אבל עדיין – כמו שכולנו יודעים – צריך בקר לאמצעי אחסון. יש תקלות קריאה/כתיבה, צריך לשמור נתונים בעת הפסקת חשמל, וכאן בדיוק הסיבה מדוע דיסק NVMe הוא דיסק שהוא יקר מדיסק SATA SSD או SAS SSD. בתוך הדיסק עצמו יש בקר (בחלק מהמקרים עם מעבד ARM בעל 2 או 3 ליבות) שכבר מטפל בכל עניין תעבורה ותחזוקת הנתונים. הדיסק עצמו מחולק פנימית ל-RAID-0 (רק בניגוד ל-RAID-0 רגיל, במקרה ויש תקלה בנתונים, הבקר יודע לטפל בה מבלי שהנתונים ינזקו), יש "סופר כבלים" (Super Capacitors) שיודעים לשמור נתונים במקרה של הפסקת חשמל, ומבחינת ביצועים – ה-NVMe ל-Enterprise נע בסביבות ה-2.4 ג'יגהבייט כתיבה לשניה ו-3 ג'יגהבייט קריאה לשניה. יותר זריז מכל SSD RAID שתכינו!

ומה לגבי עמידות/שרידות? הרי לא תסכימו לזרוק את כל הנתונים על דיסק אחד מבלי שיהיה לכך איזה סוג של בטחון, והתשובה לכך נקראת DWPD או Endurance (תלוי ביצרן דיסקים). ה-DWPD מציין כמה פעמים אתה יכול לכתוב על כל הדיסק נתונים ביום והדיסק עדיין יהיה תקין. קחו לדוגמא את ה-DC P3600 של אינטל, שמתאים ל-Enterprise: אם נניח מדובר בגירסת 2 טרהבייט, אז אתה יכול לכתוב עליו עד 6 טרהבייט ליום (מחיקה וכתיבה) והדיסק יעבוד טוב ויעמוד באחריות יצרן.

אז כפי שניתן להבין – אין כיום שום בקר RAID לדיסקים PCI SSD ושיטת העבודה צריכה להיות שונה. חושבים לדוגמא להרים ESXI על מערכת עם 2+ דיסקים כאלו? בהצלחה, תצטרכו לפרמט כל דיסק כ-Datastore בפני עצמו. לעומת זאת, אם אתם מרימים מערכת הפעלה Windows, ודאו שמדובר ב-Windows 2012 ואם זה לינוקס אז Ubuntu LTD האחרון או RedHat/CentOS 7 ומעלה. בתוך מערכת ההפעלה תוכלו לבחור את הדיסקים ולהקים את ה-RAID שרציתם (ותרו על RAID-0 – לא תקבלו ביצועים יותר גבוהים בגלל הארכיטקטורה של NVMe ו-RAID-5 יהווה בזבוז ושחיקת דיסקים לשווא). כמובן שלשם כך יהיה כדאי לצרף לשרת דיסק SSD שאינו NVMe/PCIe כדי להתקין עליו את מערכת ההפעלה.

באם אתם חושבים להרים שרת קבצים (לא חשוב איזו מערכת הפעלה) שתהיה מאוד מהירה וניתנת לגידול בהוספת דיסקים או JBOF – אז מערכת מבוססת דיסקים כאלו (ועדיף שתהיה מחוברת לכרטיסי רשת 10 ג'יגהביט ומעלה בלבד!) תהיה פתרון מעולה. אם אתם רוצים פונקציות כמו הסטורג'ים הגדולים (טוב, לפחות חלק מהפונקציות) כמו DeDup, Compression וכו' – כדאי לחשוב על ZFS.

לסיכום: דיסקים PCIe SSD הם ההווה והעתיד בכל מה שקשור לביצועים. זה לא אומר שצריך לזרוק את כל הדיסקים SAS לפח (מגנטי או SSD) אבל אם משלבים את ה-NVMe SSD כדאי לקחת בחשבון את היתרונות שלו ולהיערך בהתאם ואם אתם קונים שרתים חדשים, אני ממליץ לוודא כי ניתן להכניס אליהם דיסקים של יצרנים אחרים (במיוחד סמסונג, סאנדיסק ואינטל – כולם מאוד אמינים, מנסיון) ואתם לא "נעולים" רק על הדיסקים שמשווק יצרן השרתים שלכם (כמו HPE דור 9) מכיוון שהתחרות בשוק כיום מאוד אגרסיבית והמחירים צונחים משנה לשנה בעשרות אחוזים. דיסקים כאלו גם יכולים להוות בסיס טוב אם אתם רוצים להרים אשכולות (Clusters) מכיוון שכל דיסק נחשב כמספר דיסקים+בקר RAID. השמיים הם הגבול.

אהההמ.. ואם אתם רוצים להקים "חייה" של דיסקים NVMe, תכירו את המכונות האלו של SuperMicro 🙂