ה-LAB הבא פרק 7 – קניית שרתים יד שניה

בד"כ אם נרצה להקים LAB ביתי, נרצה להכניס שרתים. אם אתה בונה את השרתים שלך מחלקים של מחשבי Desktop, אז פוסט זה לא יעזור לך הרבה. אם לעומת זאת אתה קונה את השרתים יד שניה מסוחר או חברה שמתמחה במכירת שרתים יד שניה – מומלץ לקרוא את הפוסט.

סוחרים וחברות המתמחים בקניה ומכירה של שרתים יד שניה, קונים בד"כ את השרתים (במחירים מצחיקים, בגלל זה יש להם קשרים עם כל מיני סוחרים שיודעים מי הולך לפשוט רגל ולמכור ציוד במחירי רצפה). בחלק מהמקרים (במיוחד סוחרים שאינם מנוסים) ינסו למכור את השרת כמו שהוא ואילו המנוסים יפרקו את השרתים לגורמים כדי למכור את החלקים במחירים שונים. הסיבה? בחלק מהמקרים חברות קונות שרת יד שניה ורק לאחר הקניה מתברר להם שהם צריכים פלאג או רשיון או כרטיסון קטן לדוגמא – על מנת לקבל שליטה מלאה. אחד המקרים הבולטים בדברים אלו הם שרתי IBM/LENOVO דגמי X3650 M3/M4: אם אתה מעונייין לדוגמא להתקין יותר מ-8 דיסקים באותו שרת אז תצטרך לרכוש:

  • SAS Expander כולל כבלים כדי לחבר את ה-SAS לבקר ה-RAID
  • Backplane עם 2 כניסות SAS + כבלים
  • כבל מפצל כח לחיבור ה-SATA.

את 2 הדברים הראשוניים תוכל למצוא בנקל ברשת ב-eBay ובמקומות אחרים, אך את הכבל השלישי תתקשה למצוא (כי IBM/LENOVO בקושי יצרו אותו) והעלות שלו כיום (רק של כבל מפצל כח!) היא 150-300 דולר.

אז נניח ואתה מחפש באתרים, שואל חברים וחושב לרכוש שרת כלשהו ל-LAB שלך. הנה כמה נקודות שכדאי לשים אליהן לב:

  • לא לרכוש דיסקים שמגיעים עם השרת. בניגוד למה שרבים חושבים, דיסקים – בין אם SATA או SAS נשחקים פנימית ומהירות ה-Seek יורדת. רבים בוודאי מודעים לעובדה שדיסקים מהעשור האחרון כוללים דבר שנקרא S.M.A.R.T שיכול לאמר לך בפירוש כמה זמן הדיסק פעל (בשעות), כמה סקטורים דפוקים יש בדיסק, מה השגיאות שיש ועוד ועוד, רק שחלק מהסוחרים (נתקלתי בזה לפחות פעמיים מסוחרים בחו"ל ב-eBay) מאפסים את ה-S.M.A.R.T (אי אפשר לאפס דרך תוכנה, צריך לעשות זאת דרך מערכת ה-Diagnostics בדיסק עצמו) ולעיתים גם מזייפים מדבקה חיצונית (שבה כתוב תאריך יצור הדיסק הקשיח). לכן – עדיף לרכוש דיסקים קשיחים בנפרד ואם יש לכם כסף ל-SAS – קנו SATA SSD, המהירות תהיה הרבה יותר גבוהה.
  • רוצים שליטה מרחוק? הוסיפו את הפלאג/רשיון. בשרתי לנובו/IBM יש IMM וללא פלאג לא תוכלו לראות מרחוק את המסך הוירטואלי ומה הוא מציג. ב-DELL תצטרכו כרטיסון שנותן לכם חיבור רשת פיזי נוסף, כניסה לכרטיס SD, ומאפשר צפיה מרחוק, חיבור עם AD ועוד. ב-HP תצטרכו רשיון מלא ל-iLO על מנת לאפשר צפיה מרחוק. נסו לדבר עם הסוחר על מנת להוסיף לכם את הפלאג/רשיון באותו מחיר.
  • בקר RAID – לא חשוב איזה שרת אתם קונים, כדאי לבדוק דרך גוגל את המפרטים (specs) של השרת, בדקו שם איזה כרטיס RAID יש בשרת והאם הוא תומך ב-SATA-3. זיכרו: הדיסקים הקשיחים של היום הם SATA-3 ואתם צריכים את מהירות ה-6 ג'יגהביט כדי להעביר נתונים, במיוחד אם תכניסו SATA SSD, אז אם הבקר אינו תומך ב-SATA-3, כדאי לבדוק אם הסוחר מוכן להחליף על חשבונו את הכרטיס או שתצטרכו להוסיף זאת מכספכם.
  • שרתי קבצים כמו ZFS או Ceph – אם אתם הולכים להריץ שרותים כאלו על השרת, תצטרכו שבקר ה-RAID יצטרך לתמוך במצב JBOD (או מצב "IT"). רוב הבקרים שנמכרים עם השרתים אינם תומכים במצב זה, ולכן תצטרכו או לבצע Flash לכרטיס (קצת מורכב, בהתחשב בכך שכרטיסים רבים וזולים בשוק אינם יודעים לתמוך ב-UEFI) או לקנות כרטיס RAID שכבר בוצע לו Flash ל-IT Mode.
  • מעבדים: ברוב השרתים החלפת המעבדים היא פעולה די פשוטה, כך שאם מצאתם שרת במחיר מציאה אך יש לו מעבדים חלשים, כדאי לקנות אותו ולקנות בנפרד זוג מעבדים אחרים – בהתאם לצרכים שלכם. כדאי לבדוק היטב אלו מעבדים יש ל-chipset במחשב (אתר ה-ARK של אינטל מאוד יעזור לכם) ובמפרט הטכני של השרת ואם המעבדים נתמכים – לרכוש. שוב: לעיתים אנשים מתבלבלים ומזמינים לדוגמא מעבדי E5-26XX V3 בשעה שהשרתים שלהם תומכים רק V2 או V1. רק בשרתים שתומכים V3 ניתן להכניס מעבדים V4 (וגם אז, רק לאחר עדכון BIOS).
  • כמה רעש משנה לכם? בשביל שקט, תצטרכו מעבדים חסכניים בצריכת חשמל (משפחת ה-Xeon L). רוצים ביצועים? תוודאו שיש לכם מקום שאתם יכולים לסגור בו ארון שרתים עם מיזוג וקחו את מעבדי X או E ובמקרים האלו כמה שיש יותר ליבות והוא יותר מהיר ואתם תנצלו את המעבדים – יהיה יותר רעש.
  • עוד משהו על דיסקים: 2.5" או 3.5?" רק חלק מהשרתים תומכים בהחלפת החלק הקדמי והכרטיס מאחוריהם (מה שנקרא Backplane) מ-2.5" ל-3.5", כך שאם בא לכם להכניס לשרת דיסקים של 6,8,10 טרהבייט, בדקו אם יש בכלל פאנל לשרת כזה לרכישה. אם אין ועדיין תרצו לצרף דיסקים כאלו, יכול להיות שתצטרכו לרכוש JBOD עם כרטיס SAS Expander בתוכו.
  • עדכונים: רוצים להתקין לכם ESXi? אולי Windows Server 2012/2012R2/2016? אולי הפצת לינוקס כלשהי? לפני הכל, הורידו לכם ISO שיעדכן לכם את השרת לגירסאות קושחה אחרונות ורק לאחר העדכונים התקינו את מערכת הפעלה (ואל תסמכו על ההתקנות האוטומטיות שיש כמו כל ה-smart start וכו' – עדיף להתקין ידנית, במיוחד שבמערכות לינוקס לדוגמא לא תצטרכו להתקין שום דבר נוסף מעבר להפצה, וב-ESXi יכול להיות שתצטרכו להתקין איזה VIB או 2 נוספים והשאר דרך VUM).
  • לא לזרוק שרתים: השרת לא עובד ואין אחריות? ברוב המקרים ניתן לקנות במאות שקלים לוח אם אחר וכמעט כל ציוד אחר לשרת, גם אם הוא בן 6-7 שנים.
  • אם אתם מתקינים ESXi, מאוד מפתה להתקין אותו על כרטיס SD. המנעו מכך, עדיף להתקין זאת על התקן USB קטן וחברו את זה בכניסת USB הפנימית במחשב, זה הרבה הרבה יותר אמין.

לסיכום: רוב היצרנים מייצרים שרתים כמו טנקים. גם אם תקנה שרת בן 6-7 שנים היום, הוא יכול לעבוד אצלך ב-LAB ולתת תוצאות טובות גם עוד 4 שנים. תן לו איוורור טוב/קירור טוב, חבר אותו למערכת לוגים (syslog וחבריו) ותנטר אותו (Zabbix וכו', יש templates שתומכים טבעית בכל סוגי השרתים), ואתה תהנה ממנו.

ה-LAB הבא פרק 6: כדאי לארח בחוות שרתים?

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

אז האם כדאי לארח שרתים בחווה? אחרי הכל זה נשמע מפתה: אתה צריך IP אמיתי אחד כדי להתחבר פנימה והחוצה לאינטרנט, והשאר אתה מבצע את הכל עם כתובות פנימיות ואם יש לך 2 שרתים ואתה רוצה להתחבר ביניהם, אתה צריך כבל רשת מוצלב, לא סיפור גדול.

בשביל לענות על השאלה הזו, צריך לדעת מה אתה בעצם עושה עם השרתים והעלות של החשמל. נצא מתוך הנחה שאירוח 1U בחוות שרתים ידועה עולה 400 ש"ח + מעמ בערך.

נניח ויש לך שרת אחד, נניח שאתה מריץ עליו ESXI + VCSA/VCENTER, השאר מכונות VM שלך. הדבר הכי חשוב לדעת: אלו מעבדים וכמה אתה מאמץ את המעבדים – את זה תוכל לדעת מתוך הגרפים של ה-vCenter שלך. אם אתה משתמש במעבדים דגם L של Xeon – אז צריכת החשמל שלך תהיה בערך כמו של PC במאמץ דרגה בינונית (כלומר 40-50% CPU עמוס), כלומר סביר להניח שחשבון החשמל שלך יהיה בערך 100-150 שקל תוספת. מעבדים דגם E ודגם X צורכים פי 2 חשמל (כמעט) ולכן חשבון החשמל שלך, סביר להניח שבמאמץ דרג בינונית – ההפרש עם השרת יגיע בסביבות ה-300-400 שקל, ואז אם יש לך רק שרת אחד, עדיף אולי לאכסן אותן בחוות שרתים.

לעומת זאת, כאשר יש לך יותר שרתים, אפשר לפזר את העומס על השרתים השונים ואז צריכת החשמל שלך תהיה פחותה. להלן דוגמא של אחד מהשרתים שרכשתי כשרצים עליו (כרגע) 10 מכונות VM והוא עם מעבדים L5640 עם 64 ג'יגה זכרון. הגרף הוא של השבוע האחרון (לחצו להגדלה):

כרגע 2 השרתים שרכשתי מראים את אותה צריכת חשמל, כך ש-2 השרתים שלי ביחד צורכים סה"כ כ-200 וואט (הגרף מייצג שרת אחד וזה הקו הכחול, הקו הכתום הוא הגבול העליון שהספק יכול לתת). לא בדיוק מרקיע שחקים מבחינת חשבון חשמל :). סביר להניח שהצריכה תהיה הרבה יותר גבוהה אם אכניס מעבדים מסידרת E או X, אבל אני מעדיף לקחת מעבדים יותר איטיים עם יותר שרתים מאשר מספר שרתים יותר קטן עם מעבדים יותר חזקים – כשה-Idle שלהם עוקף בקלילות את ה-100 וואט. (רוב המכונות שלי "רעבות" לזכרון, פחות למשאבי CPU), כך שטכנית אם אמשיך בצריכה הנוכחית, בחשבון דו חודשי יתווסף לי לתשלום 160 שקלים ומכיוון שצריכת החשמל של המכונות נמוכה, ולא יוצא הרבה חום, אני לא צריך להפעיל מזגן.

אז אם אתה קונה 4 שרתים עם מעבדי X או מעבדי E5-2670 ומעלה (סה"כ 8 מעבדים) – אז יכול להיות שצריכת החשמל שלך תהיה גבוהה. מחיר קילוואט שעה בארץ הוא 55.29 אגורות, חלק לפי הצריכה הממוצעת (כלומר אם אתה צורך נניח 200 וואט לשעה, אז התשלום יהיה 11.058 אגורות לשעה), תכפיל ב-720 שעות לחודש, תכפיל ב-2 – וזו תהיה תוספת המחיר שתצטרך לשלם (אם צריך מזגן או סטורג', סוויצ' (שבין כה לא לוקח הרבה חשמל), תחשב ותוסיף) – ואז תוכל לדעת אם שווה לאחסן בחווה או לא. כלל הזהב הוא: נסה חודשיים בבית, תראה את החשבון שמגיע, תראה את החישוב שלך ואז תחליט.

היכן זה ממש לא משתלם? אם כל מכונה שלך היא בגודל 2U, אז תצטרך לשלם 700-800 שקל לחודש, ובשום מקרה שום שרת למגיע לצריכת חשמל של 1400-1600 שקל (בהשוואה לחשבון חשמל שהוא דו חודשי).

לסיכום: הרעיון לאחסן בחווה שרתים של LAB ביתי נשמע רעיון מפתה: אין צורך בארון שרתים, אין רעש, אין צורך במזגן בשביל זה. אבל כשחושבים מראש על דברים כמו מעבדים עם צריכת חשמל נמוכה וארון זול (מומלץ עם דלת זכוכית ולא דלת מחוררת שמוציאה את כל הרעש ועם 2 מאווררים מלמעלה) – אז רעיון האירוח מתאדה לו כשחושבים על המחיר שתצטרכו לשלם. במקרים רבים תרצו לבנות לעצמכם אולי שרת שקט (נניח שרת סטורג') ואז תצטרכו מארז 3U או 4U – ואירוח מכונה זו בלבד תעלה לכם 1050-1200 שקל לחודש, ואצלכם בבית – כמעט כלום. לכן מומלץ להרים את הדברים בבית, להריץ למשך חודשיים ולראות כמה חשמל צרכתם (ברוב מערכות ה-IPMI כמו iDRAC, IMM, ILO ניתן לראות זאת) ואז להחליט.

ה-LAB הבא: על צריכת חשמל

במסגרת המאמרים על ה-LAB הבא, שמעתי לא מעט טיפים על הוספת תמיכת תלת-פאזי בביתי בשביל השרתים ואני מעוניין להפריך את המיתוס הזה בהזדמנות זו.

בואו ניקח מחשב דסקטופ רגיל. אנחנו נמצא בו מעבד של AMD או אינטל עם צריכת חשמל של עד 65 או 90 וואט (ללא Overclocking) זה ה-TDP שהוא ממוצע. מעבד כמו אינטל i7-6700K בעומס יצרוך 116 וואט. בחלק מהמקרים שיש שם גם כרטיס גרפי יעודי למשחקים וכו', צריכת החשמל שלו תהיה בין 100-300 וואט (ה-300 במקרים של VEGA מ-AMD, במקרים של nVidia זה בד"כ מגיע גג בצריכה מקסימלית ל-250 וואט). שאר הציודים במחשב לא ממש צורכים הרבה. מאוורר (גם בפעילות מלאה) צורך 0.6 וואט ודיסק קשיח צורך בין 5-9 וואט.

כלומר ספק כח של 300-500 וואט יכול בהחלט להספיק ל-PC רגיל. (שוב, בלי Overclocking)

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

אם נסתכל על החלק שצורך את הכי הרבה חשמל, מדובר כמובן במעבדים. הבה ניקח מעבד פופולרי בשרתים כמו ה-Xeon E5-2620 V4 בזוג. אם תסתכלו על הדף הזה, תראו שהמקסימום צריכה של כל השרת מגיע ל-368 וואט. שוב, ספק 500 וואט יספיק פה לחלוטין.

כל העניין של חיבור תלת פאזי הוא מהסיבה שאנחנו רואים את זה בחוות שרתים. ארון 42U עם 20 שרתי 2U, או 40 שרתי 1U (או הרבה פחות אם השרת הוא עם U יותר גבוה) אז כן – צריכת החשמל עולה ועולה ואז באמת צריך חיבור תלת פאזי.

אבל בבית, מה בדיוק נקים? 2-4 שרתים? ברוב המקרים זה יהיה 2-3), זה יהיה כמו להפעיל 5 מחשבי PC בתצורת Desktop. נוסיף לכך את העניין שמדובר ב-LAB וברוב המקרים מה שנריץ לא יתפוס באופן קבוע את המעבדים בצריכת 100% אלא יותר לכיוון ה-20-40% כך שצריכת החשמל עצמה לא תהיה גבוהה.

בלוח החשמל שלנו יש לנו מתג ראשי שמקבל כמות מסויימת של אמפר (בחלק מהמקומות זה 24, בחלק 32 וכו' – צריך לשאול את חברת חשמל לגבי הבית שלך), והמתגים המשניים יכולים להעביר X אמפר לאותם נקודות להם מחוברת נקודת המשנה (בד"כ זה 10 או 16 אמפר, תלוי במתג המשני). כשמתכננים LAB, כדאי לחשב צריכה פר שרת (Amp = Watt/Volt) וכמובן יש לקחת בחשבון ציודים אחרים שמחוברים לאותו מתג משני, כך שאפשר בהחלט להגיע למצב שלא צריך להגיע לקניית הרחבה לחיבור תלת פאזי.

נקודה נוספת חשובה: סוג המעבד. מעבדים כמו Xxxxx (כמו X5670) ומעבדי E5 צורכים לא מעט וואט, אבל אפשר גם ללכת על מעבדי L עם מעטפת צריכת חשמל נמוכה (65 וואט). החסרון: המהירות נמוכה ב-1 ג'יגהרץ לערך ממעבד E5, כך שאם אתה מוכן לאיטיות קלה, תוכל לחסוך בחשמל.

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

ה-LAB הבא: פרק 5, בחירת File system ורשת (חלק ראשון)

בפרק הקודם הזכרתי את עניין קנית JBOD או הקמת שרת קבצים, חיבור ב- +SFP. הפעם נרחיב קצת יותר לגבי אותו חיבור, אבל נתחיל במשהו פשוט. להלן צילום מסך מתוך מכונת VM עם Windows 10 בשרתים שלי:

מה שאתם רואים זה הרצת תוכנת בדיקת מהירות דיסק בשם CrystalDiskMark 6 והתוצאות … לא נראות מי יודע מה, בלשון המעטה. דיסק SSD פשוט ב-400 שקל יתן ביצועים פי 5 מזה ואם תבדקו בתשתית שלכם בעבודה, הביצועים יהיו הרבה יותר גבוהים. (מדוע? כבר אסביר).

נכון להרגע, מכונת ה-ZFS שיש לי היא מכונה די צנועה:

  • מעבד I5 דור שלישי
  • 16 ג'יגהבייט זכרון
  • 4 דיסקים, 2 דיסקים של 2 טרה ו-2 דיסקים של 4 טרה, והם ב-Mirror. הדיסקים כולם של Western Digital מסידרת RED (לא RED PRO) – טעות שעשיתי…
  • 2 דיסקים SSD ממש ישנים בגודל 256 ג'יגה של SANDISK, הם משמשים ל-Cache ול-Log

בקיצור – מכונה מהסוג המאוד נמוך.

ובכל זאת, מה שאנחנו רואים פה, הוא שלמרות שהציוד בקצה המאוד נמוך, המכונה נותנת תוצאות מרשימות. 1 ג'יגהביט בקריאה וכתיבה Sequence, כלומר צוואר הבקבוק איננו מכונת ה-ZFS, אלא התקשורת בינה לשרתים, כלומר לא חשוב איזה מכונה תקנה או תקים, כל עוד היא מחוברת בתקשורת 1 ג'יגהביט, זה מה שתקבל. אפשר כמובן לעשות Teaming ל-2 או 4 חיבורי רשת (לא מומלץ, מקבלים לא מעט נפילות, תלוי בציוד, כבלים) ולקבל תוצאות יותר טובות, אבל עדיין בהשוואה להטמעת ESXI בחברה גדולה – התוצאות יהיו נמוכות יותר.

אז איך נגיע לביצועים טובים מבלי לקחת משכנתא?

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

האפשרויות שלפנינו הן (אם נצא מתוך הנחה שיש לנו 2 שרתים שמריצים VM/קונטיינרים ושרת קבצים יחיד או שרת עם JBOD):

  • קניית 3 כרטיסי רשת: כרטיס אחד עם זוג פורטים 10GB בחיבור RJ45 ו-2 כרטיסים עם פורט RJ45 במהירות 10 ג'יגה. הכרטיס עם זוג הכניסות ישב בשרת הקבצים ומשם נחבר כבל רשת CAT6 (או 6E) לכל שרת בכרטיס רשת 10GB החדש שרכשנו והתקננו.
  • אופציה נוספת היא רכישת 3 כרטיסי רשת כמו מקודם, רק שהפעם במקום RJ45 אנחנו נקנה כרטיסים שהם +SFP שתומכים ב-Copper (או TwinAx) ונבצע את אותם חיבורים. היתרון? כבלי +SFP הרבה יותר חזקים והחיבור הרבה יותר טוב מ-RJ45.
  • אפשרות נוספת היא כמו האופציה הקודמת, רק עם סיבים אופטיים. אפשר לקנות כרטיסים עם חיבור אופטי (או כרטיסי CNA שמתאימים לעבודה גם עם אופטי וגם עם כבלי Copper). בנוסף לכרטיס ולכבלים יש צורך לרכוש Transceivers על מנת לחבר את הסיבים אליהם ואז לחבר לכרטיס. יש צורך בידע כיצד להגדיר את החיבורי סיבים.
  • אפשרות נוספת וקצת יותר מורכבת היא Infiniband. יש לרכוש כבלים מיוחדים וכרטיסים יעודיים לכך, ויש צורך בידע כיצד להגדיר זאת למערכות הפעלה אחרות.

מבחינת מחירים, כל האופציות שנתתי כאן הם פחות או יותר אותו מחיר (בהבדלים של 100-250 שקל) ואני ממליץ לערוך קצת סקירות שוק ב-eBay לפני קניה.

אם יש לנו יותר מ-2 שרתים שיריצו VM/קונטיינרים, אז אפשר להוסיף לשרת הקבצים עוד כרטיס עם זוג פורטים או לרכוש מלכתחילה כרטיס מרובע פורטים. אם לעומת זאת ה-LAB שלך הוא רחב וכולל 8-10 שרתים פיזיים, כדאי בהחלט לחשוב על Switch לאותו סוג חיבור שאתה רוצה לעבוד איתו.

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

וכאן שוב נחזור לעניין ה-Storage ובמיוחד ל-File system: שום NAS מוכן שתקנו (למעט אלו של iXsystems) לא יתנו ביצועים כמו ש-ZFS נותן. ZFS משתמש ב-RAM וב-SSD בצורה מאוד חכמה ובשעה שפתרונות סטורג' "ביתיים" משתמשים ב-SSD לשם האצת כתיבה/קריאה, ZFS משתמש קודם כל ב-RAM, בשיטת הטרנזאקציות ולוגים ועוד (אפשר לקרוא על כך כאן) ולכן אם אתם רוצים להקים כמה שרתים ועליהם עשרות VM או קונטיינרים, ZFS מתאים לכך הרבה יותר, חוץ מהעובדה שהרבה יותר קל ליצור איתו Snapshots שכוללים לדוגמא את כל מכונות ה-VM או קונטיינרים או תיקיות מסויימות והמערכת יוצרת אוטומטית snapshots יעילים וקטנים לפי מה שמגדירים אותה (אצלי לדוגמא יש snapshots כל רבע שעה, כל שעה, כל יום, כל שבוע, כל חודש וכל רבעון, וכל מה שיש לי ב-ZFS זה דיסקים של 6 טרה, ותתפלאו, כל ה-snapshots לא תפסו הרבה מקום ויחסית קל מאוד לשחזר קובץ/קבצים או תיקיה/תיקיות בעזרת פקודות shell פשוטות מאוד).

בנוסף, מכיוון ש-ZFS עושה המון שימוש ב-RAM כ-Cache רמה ראשונה (רמה שניה, L2 מבוצעת על SSD) – כמה שיותר זכרון שתתנו לו, הביצועים יהיו יותר גבוהים ועם שרתים יד שניה המחירים לא כאלו גבוהים. אם לדוגמא שרתי R610 שרכשתי, אם אכניס להם זכרון שירוץ במהירות 1 ג'יגהרץ אך עם 192 ג'יגהבייט זכרון, עלות הזכרון כולו (12 מקלות של 16 ג'יגהבייט) תעלה לי … 2000 שקלים, שזה פחות או יותר המחיר של .. 32 ג'יגהבייט DDR4. אגב, על R710 (ה"אח" היותר גדול של R610 – אותו דור) אפשר להלביש 288 ג'יגהבייט זכרון מאפס (כלומר ללא המקלות הקודמים ב-3130 ש"ח (פלוס משלוח ומסים לארץ). שוב, לשם השוואה – 64 ג'יגה זכרון DDR4 עולה יותר מ-5000 שקל.

בפרק הבא נדבר על רשתות, VLAN, ציוד מומלץ וכו'.

ה-LAB הבא פרק 4 – בניית Storage חלק שני

בפוסט הקודם דיברתי על בניית Storage ל-LAB שלכם, ודיברתי יותר על תוכנה (OS וכו') מאשר חומרה. הפעם אשלים את הפערים לגבי חומרה.

טכנית, הפתרון הכי פשוט ל-LAB קטן זה לקחת שרת 1U, למלא אותו בדיסקים, להקים בשרת VM, ולייעד חלק מה-Datastore שיהיה שרת iSCSI/NFS/CIFS וכו'. זה לא יתן את הביצועים הכי טובים (בכל זאת, אתם לא יכולים למפות את הכרטיס RAID ל-VM כי המערכת משתמשת בו, אלא אם תפרידו פורטים של SAS מהכרטיס RAID הפנימי לטובת כרטיס RAID אחר) – אבל כשהתקציב מצומצם וצריך משהו פה ועכשיו – זה יכול להיות פתרון.

אבל יש עוד פתרונות.

אחד הפתרונות הפופולריים הוא קניה של JBOD (כלומר Just a Bunch Of Disks, יש גם הסברים אחרים ל-JBOD). בעקרון JBOD הוא דבר די "טיפש" שאינו מכיל מחשב X86 בתוכו אלא בקר יעודי שכל תפקידו הוא להתחבר לחיבורי המיני SAS ב-Backplane (חיבור עם כבל SFF 8087) ולהוציא אותם החוצה, כך שאם יש לך לדוגמא ב-JBOD כ-3 שורות של 4 דיסקים לדוגמא, תצטרך לחבר 3 כבלי SFF-8088 (בתמונה מימין) בין ה-JBOD לבין המכונה שתריץ ה-OS שיתן שרותי קבצים.

ישנם קופסאות עם JBOD עם כרטיסים יותר חכמים שמוציאים את כל תעבורת הדיסקים שלכם על SFF-8088 יחיד ויש עוד כניסה שמאפשרת שרשור מתמשך של קופסאות JBOD (כך ניתן לשרשר עד 1024 דיסקים SATA או SAS), כך שבסופו של דבר, שרת 1U שמריץ פתרון וירטואליזציה, כרטיס RAID עם כניסות חיצוניות שממופה ל-VM – ותוכלו להרים יופי של פתרון שרת קבצים.

ויש כמובן את הפתרון שהרבה יעדיפו – לרכוש מארז 2U גנרי לשרת כמו Chenbro, iStarUSA, NorcoTek ואחרים, להכניס שם לוח אם דסקטופ עם מעבד פשוט וכמות זכרון צנועה וכרטיס רשת, לדחוף דיסקים ולבנות שרת קבצים כמכונה יעודית או לרכוש פשוט שרת 2U יעודי יד שניה. החסרון ברכישת שרת יעודי יד שניה זה שאתה עלול למצוא את עצמך עם ביצועים מופחתים ב-50%, הואיל ושרתים רבים הם ישנים ועדיין עובדים עם SATA 2, כלומר מחצית מהמהירות של SATA-3. במקרים כאלו אם מחליטים לרכוש שרת כזה, קנו כרטיס RAID יעודי וחברו אותו ל-Backplane במקום כרטיס ה-RAID שנמצא בשרת, רק תוודאו שהוא תומך ב-SATA-3.

לסיכום: ה-LAB שלך יכול לתת ביצועים טובים או גרועים – תלוי בפתרון Storage שתבחר להקים/לרכוש. אם בחרת לדוגמא להכניס דיסקים מכניים 2.5 אינטש של לאפטופים (כי מצאת בזול) – יהיה מצב שה-VM יעלו לאט וכל פעולה שדורשת שימוש בדיסקים תהיה איטית בגלל שמהירות הדיסקים הזו היא איטית יחסית (5400 סיבובים לדקה מול 7200 בדיסק טוב). לעומת זאת, אם תבחר דיסקים קשיחים במהירות 7200 RPM ותוסיף דיסק או 2 SSD שישמשו כ-Cache, הביצועים שלך יהיו (יחסית) טובים. נכון, זה רק LAB ביתי, אבל חוק מרפי אומר שלפעמים כשאתה בדיוק צריך לבדוק משהו ועכשיו – ביצועים טובים מאוד יעזרו לך.

ה-LAB הבא פרק 3 – בניית Storage

בפרק השלישי אנחנו נדבר על Storage. אם יש משהו שאנחנו צריכים ל-LAB – זה Storage. זה יכול להיות משהו קטן וצנוע, וזה יכול להיות 4 שרתים ב-Cluster שמריצים CEPH עם כרטיסים של 10 ג'יגהביט או GlusterFS עם 3-4 שרתים שיתנו לנו מה שאנחנו צריכים. בקיצור – הטווח רחב.

אז לפני שנשלוף את כרטיס האשראי, נרוץ ל-eBay ולאמזון לרכוש ציוד – צריך לבדוק מה הצרכים שלכם. אם לדוגמא אתם רק רוצים לבנות איזה NAS קטן לארח קבצים (ISO, סרטים, סדרות, כמה VMDK קטנים וכו') אז כל מה שאתם צריכים זה לוח אם עם מעבד בינוני (מעבד i5 או i7 מלפני דור או 2), 8-32 ג'יגה זכרון, וכמובן – דיסקים קשיחים. לצרכים כמו שתיארתי לעיל, ערימת דיסקים קשיחים מכניים + כונן SSD יספיקו. אם לעומת זאת אתם רוצים להריץ את כל ה-VM/קונטיינרים שלכם דרך NFS או iSCSI, אז נצטרך משאבים יותר רציניים כמו SSD מכובד (סידרת ה-PRO של סמסונג היא בחירה מעולה, גם Crucial MX300 זו בחירה טובה). אם לעומת זאת אתם רוצים לחבר את כל המכונות (ויש לכם יותר מ-20 מכונות VM רצות) לאותו Storage בחיבור 10 ג'יגהביט (RJ45 או +SFP) – אני ממליץ על 2 כרטיסי Intel Optane 900P בגודל 280 ג'יגה בתצורת RAID-0 שישמשו כ-Cache.

שאלת השאלות כמובן היא – מה להתקין מבחינת OS? יש לכך כמה תשובות:

  • אם אתה לא אוהב לינוקס/שונא לינוקס/לא מכיר לינוקס/פוחד מלינוקס – אתה יכול להתקין את XPEnology של Synology. גירסה זו אינה מקבלת תמיכה רשמית (ולא תמיד היא עובדת על מעבדי AMD בלי לבצע כמה שינויים) – אבל אתה מקבל את מה ש-Synology מוכרים: יצירת RAID, ווליומים, הרמת קונטיינרים ומכונות וירטואליות, שיתוף קבצים ותיקיות, שימוש ב-SSD כ-Cache ועוד ועוד. למעוניינים לראות איך להתקין את זה, כאן הוידאו שמדגים ומסביר בקצרה.
  • אם אתה מחפש לבנות NAS יותר רציני (עם חיבור ל-Active Directory, עם iSCSI יותר רציני, עם ביצועים יותר גבוהים וכו') ואתה לא רוצה להתקרב ללינוקס – FreeNAS יכול להיות פתרון מעולה בשבילך. חשוב מאוד – מכיוון ש-FreeNAS מבוססת על FreeBSD ו-FreeBSD לא מתעדכן תדיר כמו פדורה ואובונטו, אז עדיף להשתמש בלוח אם ומעבד דור או 2 אחורה ולאו דווקא משהו חדש שיצא לפני כמה חודשים (אחרת המערכת אפילו לא תפעל).
  • אם לעומת זאת, אתה רוצה ביצועים מאוד גבוהים ואתה מכיר לינוקס טוב והסטורג' שלך הוא מכונה אחת, לך על ZFS שרץ על לינוקס. תקים מכונת אובונטו 16 LTS (הגירסה לשרת, לא לדסקטופ), תתקין עליה ZFS ותתחיל להגדיר דברים. לא מכיר ZFS טוב או בכלל ויש לך סבלנות? קנה את הספר הזה ותתחיל ללמוד אותו.
  • רוצה לא רק ביצועים ויציבות אלא גם שרידות חומרה? הקם 2 שרתים, תתקין עליהם ZFS ומעל זה הקם לך GlusterFS. לאחר הקמת ה-GlusterFS (הוא לא מצריך מעבד עם 16 ליבות ו-128 ג'יגה זכרון. מעבד עם 4 ליבות, ו-8 או 16 ג'יגה זכרון יספיקו) תוכל להקים שרותים כמו NFS, iSCSI ו-CIFS כדי לשתף. על מנת לקבל שרידות, יהיה צורך להתקין חבילות Corosync ו-PaceMaker שאיתן תוכלו להגדיר VIP. מומלץ להשתמש בגירסת GlusterFS 3.8 (ב-3.10 ו-3.12 יש בעיות שמטופלות בימים אלו). אה … המערכת תהיה Active/Active 🙂

אם אתם משתמשים ב-Storage שלכם למערכות VM/קונטיינרים/Open Stack וכו' – גיבוי יהיה חשוב לכם. במקרה כזה, קנו שרת יד שניה, מעאפן ככל שיהיה, הכניסו בו דיסקים ו-SSD, תתקינו איזו מערכת מההמלצות למעלה, ותייצאו ממנו SHARE ב-NFS (או CIFS) ותגבו לשם, ולמי ששואל – Veeam עובד עם זה מעולה, מנסיון.

אחרי שהקמתם את ה-Storage שלכם, דחפו למכונה (אם אין) כרטיס רשת עם 2 או 4 כניסות (חוץ מהכניסה שאתם משתמשים כרגע) ויצאו את ה-Share פר כניסה או פר זוג (Teaming וכו'). לשם כך תצטרכו מתג טוב שיודע לתמוך טוב ב-VLAN, Tagging, 802.11q ושאר ירקות. איזה? אין לי המלצות קונקרטיות, שאלו חברים 🙂

לסיכום: אם אתם מקימים LAB כדי ללמוד דברים חדשים על מנת לשפר את הקריירה והידע המקצועי שלכם, כדאי לכם מאוד להקים Storage מקומי ולא להשתמש באחסון המקומי בתוך השרתים. לכל חברה שתלכו שמכבדת את עצמה – יש פתרון Storage כלשהו ועדיף שתלמדו איך ליישם פתרונות עם Storage דרך כניסות רשת נפרדות, איך משתמשים ב-Multipath וכו' וכו'.

ה-LAB הבא פרק 2 – שרתים יד שניה

בפוסט הקודם שלי דיברתי על אלו שרתים אני רוצה. יצא לי בימים האחרונים להסתכל על כמה מכירות של שרתים יעודיים יד שניה ב-eBay ובארץ ואני הולך לרכוש 2 שרתים, והחלטתי לשתף כמה טיפים בבחירה, החלפת ציוד פנימי ועוד.

בחברות בד"כ, השרתים שנרכשים נמצאים בחדר יעודי או בחוות שרתים. כל הרעש שהם מפיקים – לא מזיז לאיש. יש דלת, יש מזגן בחדר והכל עובד פיקס (טוב, תיאורתית לפחות. תנסו פעם להכניס לחדר כזה 4 שרתים כשבכל אחד מהם 8 מעבדי Xeon, נראה איך המזגן בחדר יקרר…).

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

מדוע המאווררים האלו יוצרים רעש כזה חזק? מכמה סיבות. לשם הדוגמא, ניקח שרת של DELL, ה-R710. נתחיל עם צלעות הקירור (לחצו להגדלה).

אם תסתכלו מקרוב על צלעות הקירור, תראו שהם מאוד צפופים. לשם השוואה, אם תסתכלו על כל פתרון קירור עם צלעות וקירור אויר, תראו שהרווח בין הצלעות הרבה יותר גדול. הסיבה לצפיפות היא שישנם הרבה יותר צלעות, מה שעוזר לחום לעלות בהדרגה ולא במכה אחת. נוסיף לכך שבמקרה של שרתים רציניים יש צורך לקרר את הכל, החל מהדיסקים הקשיחים (גם SSD), נמשיך בזכרון, במעבד כמובן, ברכיבים השונים וכלה בכרטיסים שנמצאים בסוף השרת (במיוחד אם יש לכם GPU רעב לוואטים רבים). במאווררי מחשבים רגילים, עצם יצירת הרוח היא פונקציה מספקת כדי לקרר את הציוד. בשרתים לעומת זאת, המאווררים צריכים לרוץ במהירות של עד פי 4-5 (כלומר עד בערך 20,000-25,000 סיבובים לשניה – RPM). מדוע? כי המהירות הזו יוצרת לחץ סטטי של אוויר שנמדד ב-CFM (כלומר Cubit Foot/Minute). במילים אחרות, המאווררים יוצרים מעין "מנהרת רוח" שנכנסת מהחורים היכן שנמצאים הדיסקים (ולכן אפשר להרגיש לפעמים דיסקים "קפואים") והאוורור יוצא בתפזורת מהצד השני. כל הספקים גם מוסיפים פלסטיק בשרתים יעודיים שמחלק את האוורור בין 2 המעבדים בשרת כך שהאוורור יספק את הציוד ב-2 החלקים בשרת.

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

נקודה חשובה נוספת היא בבחירת המעבדים בשרת. אם חשקה נפשכם בהכנסת המעבדים הכי חזקים לשרת (כמו ה-E5 2699 V4), תצטרכו לקחת בחשבון חיים מחוץ למטוס בואינג 747 גם כשהשרת לא עושה מאומה. מעבד כזה לוקח 145 וואט, נכפיל ב-2 (2 מעבדים) והרי לנו מפלצת שצריך לקרר אותה כל רגע וכל שניה, כאן המאווררים לא ממש יוכלו "לנוח" ולרדת לרמה סבילה של רעש לבן. לכן – כדאי לבדוק מה ה-TDP (מעטפת צריכת חשמל) של כל מעבד. כמה שיותר נמוך, המאווררים יצטרכו פחות לעבוד ואתם תוכלו לחיות בבית בשקט. בד"כ מעבדים של 60 וואט הם אידיאליים אולם ניתן גם לקחת מעבדים עם TDP של 90 וואט.

עניין נוסף הוא הדיסקים בשרת. ברגע שאין לכם דיסקים בשרת, יכנס הרבה יותר אוויר (אין דיסקים שחוסמים חלק מכניסת האוויר) לשרת והוא יתקרר הרבה יותר מהר, מה שיוריד את מהירות המאווררים ויתן שקט, ולכן אם אתם לדוגמא חובבי VMWare, השתמשו ב-Disk On Key (או בכרטיס SD שישב בשרת) כציוד ל-Boot ללא כמות גדולה של דיסקים (אפשר להכניס SSD או 2 ב-RAID-0 שישמשו כ-Read Cache עבור ה-vSphere) והקימו לכם שרת גדול (4U) עם דיסקים מכניים ו-SSD שישמשו כ-Storage שאותו תשתפו כ-NFS, CIFS, iSCSI לשאר השרתים (ואם יש לכם תקציב, הקימו עוד אחד כזה עם דיסקים יותר איטיים שישמשו לגיבוי). זיכרו: לא חייבים דיסקים בכל שרת ואפשר לעשות BOOT מ-PXE (תכירו את iPXE שנותן הרבה יותר מ-PXE רגיל).

אם אתם רוצים לחסוך בצריכת חשמל וגם לקבל שקט, תצטרכו לבנות לכם שרתים וכאן מומלץ לעבוד עם מארזים בגודל 4U (או 3U, תלוי בצרכים). במארזים כאלו ניתן להכניס 2 מאווררים שקטים של 120 מ"מ, 2 מאווררים מאחורה (בתצורת PULL כדי שישאבו את האויר מהמכונה ויוציאו אותו החוצה) ופתרון קירור רגיל מבוסס אויר למעבד שתבחרו. כל המאווררים לא לוקחים צריכת חשמל רצינית (בערך 0.6 וואט פר מאוורר) כך שהמכונה אולי תהיה גדולה, אבל צריכת החשמל שלה תהיה נמוכה משמעותית מצריכת חשמל של שרת יעודי רגיל.

בפרק הבא: על הקמת NAS טוב.

ה-LAB הבא שלי

מי שקורא את הבלוג הזה בוודאי קרא בעבר על ה-LAB שלי. למען האמת, עד היום היו לי בערך 3 LABS שהורכבו ממחשבים שונים, חלקם היו PC רגילים עם מפרט נמוך, בחלק מהזמן ה-LAB היה מורכב משרתים של HPE ובשנתיים האחרונות היה לי מיקס של מכונות החל ממיני PC ו-Raspberry Pi ועד צמד שרתים עם 8 מעבדי Xeon בכל מכונה (הושאל ע"י לקוח לטסטים עבורו).

אחד הדברים שאני מתכנן לבצע בשנת 2018 זה להקים LAB חדש מאפס, לעשות קונסולידציה (לוותר על הנתב שלי ולאחד את זה עם דברים אחרים), לעבור לפלטפורמה אחידה ואם יהיו פרויקטים רווחיים – להקים Storage חדש (כמובן שמבוסס ZFS) ושכל המכונות יהיו במבנה שרתים (1U, 2U).

אבל לפני שעושים את הדברים האלו, חשוב לדעתי לבדוק מהי הסביבה שכל זה ישב. אם מאן דהוא שוכר/רכש בית של 2 קומות ומעלה עם חיבור חשמל גדול ועתיר אמפרים/וואט, אז הוא יכול לרכוש לעצמו כמה שרתי מותג יד שניה, NAS כמו Synology, להוסיף נתב, להקים את הכל בארון 20U/40U, לאחסן את זה בממ"ד, להקים כמה נקודות AP בבית, אולי להוסיף מזגן (במקרה הצורך, בהתאם לטמפרטורות) ולסגור עניין. משם עושים את כל ההגדרות דרך SSH/RDP/דפדפן מבלי לסבול מהרעש של המכונות.

אני מצד שני חי בדירה שכורה בבניין די ישן. מצב החשמל אינו משהו (אם ידידתי שגרה איתי מפעילה פן וב-2 חדרים פועל מזגן – החשמל נופל) ואין פה שום ממ"ד וזה ישב בסלון, כך שלקנות שרתי מותג לא רלוונטי אם אני רוצה לישון בלילה. גם מעבדי זוללי חשמל כמו Xeon או Threadripper הם בעייתיים כי חשבון החשמל יקפוץ חופשי לאזור ה-2000 שקלים לחשבונית ו-NAS מוכן בד"כ לא ממש יעזור לצרכים שלי.

אז מה הולך להיות לי ב-LAB הבא: (התכנון כמובן אינו סופי ודברים עוד ישתנו)

  • מבחינת מעבדים – כל המכונות (למעט נתב) יהיו מבוססים Ryzen 7-1700. הסיבה? מעטפת חשמלית נמוכה (65W) יחד עם 8 ליבות ו-16 נימים. לינוקס רץ על זה מעולה, וגם vSphere 6.5U1 תומך ב-Ryzen.
  • מבחינת שרתים – 3 מכונות, 64 ג'יגה זכרון, דיסק SSD של 250 ג'יגה פר ESXI (לשימוש כ-Cache). יהיו 2 שרתי vSphere כ-Cluster שיופעלו מ-Disk on Key ועוד מכונה שתריץ לינוקס "על הברזל" כדי להריץ עליה דברים שמצריכים וירטואליזציה כמו VirtualBox (פרויקטים כמו MiniKube, MiniShift ועוד)
  • מבחינת תקשורת – יש לי כל מיני רעיונות בראש. התקשורת המרכזית תהיה על 1 ג'יגהביט אך התקשורת בין ה-ZFS למכונות הוירטואליות תהיה ב-10 ג'יגהביט. מבחינת מכונה שתשמש כנתב אני כנראה אבנה זאת מ:
    • קופסא 2U (או 3U) עם לוח רגיל ומעבד i3-7100T (מעטפת 35W) או לוח עם מעבד ATOM C3XXX. למי ששואל מדוע צריך מעבד כזה – 2 חיבורי VPN, אפליקציה כמו Suricata או כל פתרון IPS/IDS, ניתוב 10G, והמעבד נצרך במלואו.
    • 2 כרטיסי רשת – 1 עם 4 פורטים של ג'יגה והשני 4 פורטים של 10 ג'יגה +SFP כך שאוכל לחסוך רכישת נתב +10G SFP (כן, יש יד שניה זולים כמו של Quanta, תצרוכת החשמל שלהם בשמיים).
  • מבחינת Storage – בהתאם לתקציב ורווח, אני אקנה מארז 2U ל-12 דיסקים 3.5", פלוס 2 דיסקים SSD + מקל M.2 PCIE שישמש ל-SLOG ו-ZFS שנותן את כל השרותים שירוץ על אובונטו LTS או פדורה.
  • הכל ישב בארון 20U עם 2 דלתות ואולי מאוורר פנימי, בהתאם לצורך.

הפוסט הזה הוא פוסט ראשון בסידרת פוסטים. בפוסטים הבאים אני אתאר מדוע בחרתי את אותם דברים (או דברים אחרים), מה האלטרנטיבות והיכן ניתן לחסוך כספים.

המעבר מ-Digital Ocean לאמזון Lightsail

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

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

אם יש משהו אחד שאני ממש לא אוהב, זה הפתעות בחשבוניות, אז החלטתי להישאר ב-Digital Ocean. המחיר קבוע, זה עובד, אין הפתעות.

אמזון לאחרונה הכריזה על שרות LightSail שמתחרה בדיוק ב-Digital Ocean, Linode וספקי VPS רבים אחרים. היתרון בחבילה זו: המחיר קבוע, גודל המכונה קבועה (מבחינת ליבות, זכרון וגודל דיסק SSD מקומי) ויש לך כמה טרהבייט תעבורה החוצה כלולים במחיר. מכיוון שקיבלתי לאחרונה כמה דולרים בקרדיטים, החלטתי היום להעביר את הכל מהמכונה ב-Digital Ocean למכונה חדשה באמזון LightSail. המכונה הישנה רצה על אובונטו 15, החדשה על 16 וחשבתי שזה לא יהיה מורכב: rsync להעברת קובץ tar (של האתרים עצמם), קובץ dump של ה-SQL, סקריפטים והגדרות שונות – ונגמור עניין. לא אמור להיות מסובך.

מסובך זה לא היה, אבל תקלות – היו גם היו. הנה רשימה חלקית:

  1. האזור היחיד שאפשר להקים בו כרגע מכונה ב-Lightsail – זה אזור צפון וירג'יניה, שום מקום אחר. תרגום: תתכוננו לעוד 150 מילישניות Latency (אלא אתם משתמשים ב-CDN והקבצים הראשונים הם HTML/CSS).
  2. החלטתי לעשות dump ל-mysql כולו, כלומר all-databases ולהרים אותו על MariaDB החדש במכונה באמזון. הפקודה עברה בשלום, אבל restart ל-mysql הוציא הודעה על unix_socket plugin – לא נטען. מי שמקבל את התקלה הזו – יש פתרון כאן. מה שהפתרון לא מזכיר, זה שיש להקים לאחר עצירת ה-mysql תיקיה בשם /var/run/mysql/ כאשר לתיקיית mysql ההרשאות הן mysql:root אחרת לא תצליחו להפעיל את ה-MySQL כי הוא לא יכול לכתוב קובץ PID וההפעלה תיכשל.
  3. אם אתם משתמשים ב-Wordpress, תשמחו לדעת שהוא עובד מעולה עם PHP-7, ומאוד מומלץ לעבוד עם ה-FPM של PHP-7. ההבדל בין גירסה 5.6 של PHP לבין גירסה 7 – מהירות כפולה בלי לשנות אפילו שורת PHP אחת.
  4. המכונה שתקימו ב-LightSail לא תראו אותה ב-Instances או ב-VPC שלכם. אם אתם רוצים להשתמש בשרותים האחרים של אמזון דרך כתובות פנימיות, תצטרכו להפעיל שרות VPC Peering וכאן זה תלוי מתי נרשמתם לאמזון. במקרה שלי, מכיוון שאני רשום ל-AWS בערך מ-2009 אז כל נסיון VPC Peering נכשל, ויש לפתוח קריאה לתמיכה שיסדרו מהצד שלהם את הבעיה מהצד שלהם.
  5. מבחינת בניית חוקים ל-Security Groups/חומת אש – יש באג ב-LightSail: יש לך רשימת שרותים מאוד מצומצמת ש-Lightsail מכיר. רוצה להוסיף דברים כמו ICMP, SMTPS ודברים אחרים? אתה יכול לבחור Custom ולציין את מספר הפורט ואז … החוקים שיכתבו זה פתיחה של כל הפורטים. כרגע, מכיוון שאינך יכול לראות את מכונות ה-Lightsail בתוך VPC כלשהו, אינך יכול להגדיר Security Groups לאותו VPC ומכיוון שאינך רואה את ה-Instance בשום מקום (זולת האתר של LightSail) אינך יכול להגדיר גם שם את ה-Security Group למכונה שיצרת ב-LightSail. בקיצור – רוצה פורטים פתוחים/סגורים? תעשה זאת מתוך ה-VM.
  6. מבחינת השוואת מעבדים בין מה ש-Digital Ocean נתנו לי (המכונה שלי הראשית ששירתה את הבלוגים הוקמה שם לפני 4 שנים) המעבד היה XEON E5 דגם L (כלומר מהירות שעון נמוכה יותר – 1.8 ג'יגהרץ, וכמות ה-Cache היתה כמחצית ממה שיש ב-E5 ממוצע). באמזון דגם ה-E5 היה יותר חדש עם Cache מלא.
  7. מבחינת הפצות לינוקס – אינך יכול להקים מכונות מה-Market או מ-AMI שאתה בנית בעבר. יש לך רק מה שאמזון בנו שזה אמזון לינוקס (תואם CentOS בערך…), ואובונטו 16. לבחירתך ההפצות הללו כ"ערומות" או כהפצות + תוכנות קוד פתוח מוכנות, אבל שום דבר מעבר לזה. תשכחו מרשתות מורכבות וכו'.

לסיכום, המחיר עבורי הוא פחות או יותר אותו מחיר (רק שהפעם יש לי קרדיטים אז אני מאמין שה-3-4 חודשים הקרובים העלות היא על אמזון) – שזה במקרה שלי 40$ על אותה מכונה לחודש (2 ליבות, 4 ג'יגה זכרון, 60 ג'יגה דיסק, 5 טרה תעבורה בחודש החוצה). יש ל-LightSail פה ושם עדיין "מחלות ילדות" (בכל הקשור ל-VPC Peering) אבל אם שיחקת בעבר עם AWS, אתה תצליח להסתדר.

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

קצת עדכונים לגבי דיסקים חדשים

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

נתחיל עם סיגייט.

Seagate 8TB SMR driveחברת Seagate הכריזה על 3 דיסקים חדשים ששיווקם הרשמי יחל בינואר (אם כי אפשר למצוא אותם כבר עכשיו אך רק בכמויות). היתרון של הדיסקים החדשים – הגודל והמחיר. הדיסק הכי גדול – 8 טרהבייט יעלה לצרכן בארה"ב כ-260 דולר. לאלו שחובבים כמויות אחסון גדולות (כל איש IT רציני תמיד ירצה יותר אחסון) – במחיר של טיפה יותר מ-1000$ יהיו לך 32 טרהבייט של אחסון (ברוטו כמובן, לפני RAID וכו').

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

דיסקים מכניים מחולקים לפלטות, בכל פלטה יש כמות מסלולים גדולה (Tracks) וכל מסלול כזה מחולק לסקטורים. בדיסקים ישנים כל סקטור היה בגודל 512 בתים אולם מאז שהדיסקים החלו לגדול מעבר ל-2 טרהבייט, הסקטורים גדלו ל-4 קילובייט פר סקטור.

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

הדיסקים החדשים של Seagate עובדים בשיטה חדשה שנקראת SMR (ר"ת Shingled Magnetic Recording), וההבדלים הם שהפעם במקום שיהיה רווח בין מסלולים, המסלולים פשוט יושבים אחד על השני כמו רעפים שיש על גגות בתים. היתרון בשיטה הזו הוא שכך יש לך יותר מקום בדיסק ואפשר למכור דיסקים של 8 ובקרוב 10 ו-16 טרהבייט.

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

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

גרוע מכך – תחשוב שאתה עורך תוכן חשוב מאוד, אין לך UPS או כרטיס RAID מגובה סוללה (או שאתה לא עובד עם ZFS וכונן SSD שמשמש ללוגים) והדיסק כל הזמן עובד כי הקובץ שאתה עורך מאוד גדול. יש הפסקת חשמל? תתכונן לבעיות, כי אם בדיסק רגיל היה הולך סקטור או מספר קטן של סקטורים שבדיוק נכתב עליהם מידע, פה ילכו אזורים שלמים לעזאזל. תתכונן לעצבים.

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

למתחרים – Western Digital יש גם פתרון שאיתו הם מוכרים דיסקים גדולים (דיסק ממולא הליום) והגודל המקסימלי של הדיסק אצלהם הוא 10 טרהבייט, וגם הם משתמשים ב-SMR כדי לשמור/לקרוא מידע, כך שהשיטה של SMR רק תצבור תאוצה וביצועים בדורות הבאים. בשלב זה, גם Western Digital וגם Seagate מייעדות את הכונן לארכיבאות ואחסון ענן (משהו כמו S3 של אמזון).

מכאן נעבור לדיסק SSD חדש ושיטה חדשה של סמסונג:

סמסונג הוציאה את סידרת הדיסקים EVO 850 המיועדים לשוק הביתי והסמי-מקצועי. היחוד בסידרה זו שזו הסידרה הראשונה המבוססת על טכנולוגיית 3D V-NANO. בשיטה זו שבבי הפלאש בנויים בצורה שונה מ"פרוסות" שיושבות אחת על השניה (32 שכבות) והתקשורת בין השכבות נעשית בצורה תלת מימדית. הליטוגרפיה ברכיבים האלו "ירדה" מ-19 ננומטר ל-40 ננומטר, מה שמתורגם לביצועים יותר גבוהים ולאורך חיים הרבה יותר גבוה (האחריות על הכוננים האלו גדלה מ-3 שנים ל-5 שנים). הנה סרט של סמסונג שמדגים את ה- 3D V-NANO:

המחירים של הכוננים נעים בין 100$ ל-128 ג'יגהבייט ל-500$ ל-1 טרהבייט. מכיוון ששיטה זו חוסכת מקום, סמסונג תצא בשנה הבאה עם כוננים של 2 ו-4 טרהבייט.

לשוק העסקי ול-Storage, סמסונג מציעה את ה-EVO 850 PRO שחוץ מביצועים יותר גבוהים, אתה מקבל גם 10 שנות אחריות לכונן SSD. כמובן שהמחיר יותר גבוה (בסביבות ה-650$ ל-1 טרה). נקודה חשובה למשתמשי ה-מק/לינוקס: התוכנה שמגיעה עם הכונן ומאפשרת לבצע הצפנות ושאר פונקציות קיימת רק ל-Windows, למרות שהכונן עצמו עובד בכל מערכות ההפעלה.