נקודות לגבי שרתים לבניה עצמית

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

כפי שכתבתי בפוסט קודם בסידרת ה-My Labs: אני מעדיף לבנות את ה-LAB שלי בעזרת מחשבים עם מעבדי דסקטופ של AMD מסידרת Ryzen 7 2700. יש לך 8 ליבות ו-16 נימים, עד 64 ג'יגהבייט זכרון, ו-2-3 מכונות כאלו אמורות להספיק לכל LAB קטן..

אמורות.. חשבתי לעצמי..

ואז הגיעו כמה הצעות מעניינות. מצד אחד הרעיון שלי לגבי VDI זול (שמצריך מעבדים כמו Xeon E5 V4), או בקשות לגבי בניית סטורג' מבוסס 100 דיסקים 3.5", בקשות לגבי סטורג' משולב במתודת Scale Out, וירטואליזציה HCI במחיר זול, הקשחת חומרה, וגם בקשות כמו ניטור אפליקציות שונות ב-Scale out ב-Scaling של כמה עשרות Nodes אך לא במובן של אם "זה רץ", אלא מה ההשפעה מבחינת Latency, זמנים וכו'.

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

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

  • שרתי מותג בתצורת 1U או 2U ישנים הם אסון מבחינה אקוסטית כשמתחילים להרחיב אותם. קחו כל שרת 1U ותוסיפו כרטיס או 2. לא חשוב מה הכרטיסים שתוסיפו. ברגע שתפעילו את הכרטיסים ותפעילו מחדש את השרת, תראו איך המאווררים עולים בכמה דציבלים טובים מבחינת רעש, גם אם יש קירור ממזגן או שהמעבדים לא עושים כמעט כלום. הכרטיסים חוסמים חלק מהקירור, שבב ה-BMC שאחראי על ניהול כל הקירור וה-PWM של המאווררים – מחליט על דעת עצמו להעלות ברמה את מאמצי הקירור (למרות שאין ממש צורך. שרת יכול לעבוד יופי גם אם הטמפרטורה בשרת היא 25 מעלות לדוגמא). בשרתים 2U הבעיה פחות קיימת – עד שאתה מכניס כרטיסים של 40 ו-56 ג'יגהביט (לדוגמא: מסידרת ConnectX של Mellanox) – ואז שוב הדצבילים עולים. זו, אגב, אחת הסיבות מדוע שום ספק ענן ציבורי רציני לא רוצה להשתמש בשרתים כאלו – הם בנויים ברמת Engineering של "כיסוי תחת" מושלם, למרות שהציוד יכול לתת יותר ולעבוד בטמפרטורות יותר גבוהות (מה שחוסך לספק הענן כסף בקירור).
  • אחת הבעיות הנוספות בשרתי מותג היא שהטכנולוגיה ישנה למרות שטכנולוגיה חדשה יותר היתה קיימת בעת יצור השרת. קחו שרתים כמו R610 ו-R620 (או G7 ו-G8 של HPE) ותגלו שרוב תושבות ה-PCIe (אם לא כולם) הם PCIe 2.0 ולא PCIe 3.0. רוצה לחבר JBOD ב-SAS 12G? זה פשוט או שלא יעבוד או שיעבוד לאט כי השבבים של LSI ו-Adaptec לדוגמא דורשים PCIe 3.0.
  • בעיה נוספת שאינה נמצאת רק בשרתי מותג היא עניין הזכרון: אם אין לך מקלות זכרון DDR3 ECC כשכל מקל הוא 32 ג'יגהבייט, תוכל להכניס מקסימום 16 מקלות של 16 ג'יגהבייט ולקבל מהירות של 1333 מגהרץ. כל מקל נוסף שתכניס בתושבות הזכרון הפנויות – ומהירות הזכרון של כל השרת יורדת ל-1033 ואם אתה ממלא את כל התושבות (18 או 24, תלוי בלוח אם) – זה ירד גם ל-800 מגהרץ עלובים, כך שמקסימום הזכרון שניתן להשתמש בלוח אם עם מעבדי Xeon E5 V1 או V2 במהירות זכרון מקסימלית – היא 256 ג'יגהבייט זכרון עם מקלות של 16 (מחירי המקלות של 32 ג'יגהבייט זכרון עדיין גבוהים).

מהבעיות – נעבור לפתרונות:

  • מבחינת לוחות אם, אני מעדיף לעבוד עם Supermicro. הם מייצרים לוחות מעולים שידידותיים לשינויים. כך לדוגמא ניתן להוסיף תמיכת NVME לתוך ה-BIOS, גם כש-NVME לא היה קיים בזמן יצור הלוח. אפשרי גם להתקין Coreboot (בחלק מהמקרים, לצרכי אבטחה) במקום ה-BIOS הרגיל, וכל הציוד הקיים על הלוח נתמך גם בהפצות לינוקס ישנות ללא צורך בחיפוש אחר מודולים ודרייברים, כולל שינוי מהירויות מאווררים, שליטה על ה-IPMI ללא צורך להיכנס ל-BIOS וכו'.
  • אחת הנקודות שחשוב לשים לב בבחירת לוח אם – זה הגודל שלו. אפשר למצוא לוחות מעולים של Supermicro אך שהם בגודל EE-ATX. בניגוד לרושם הראשוני, הגודל במקום רבים מופיע כ-Extended EATX ואנשים לא שמים לב לכך (כולל הח"מ) ולוח כזה לא נכנס לשום מארז שרת (וגם לא ברוב מארזי ה-Tower, אלא אם בא לכם להצטייד במקדחה לחורר דברים, לחתוך פלסטיקים וכו' וכו'), ולכן אם רוצים לרכוש לוח אם כזה, כדאי לבחור ATX או E-ATX בלבד.
  • בחירת מעבדים – הנה נקודה שנשמעת די טריוויאלית אך היא אינה כה פשוטה שמסתכלים מקרוב. בלוחות SuperMicro מסוג X8D או X9D אפשר להשתמש ב-Xeon E5 V1 (שלא כתוב עליו V או V1) ובמקרה של X9D אם תכנון הלוח (כתוב כ-Revision על הלוח) הוא מגירסה 1.20 ויש BIOS אחרון – אפשר להשתמש ב-Xeon E5 V2. בלוחות X10D אפשר להשתמש במעבדי Xeon E5 V3 או Xeon E5 V4 עם זכרון DDR4 ECC. אתם לא מחפשים כח עיבוד רציני? אפשר או לרכוש לוחות עם האות S במקום D (ה-S מציין לוח מעבד יחיד ו-D מציין זוג מעבדים) ואז מכניסים מעבד אחד או שאפשר לרכוש 2 מעבדים כשבמעבד מצויינת האות L (הכוונה Low Power).
  • מעבדים וטכנולוגיה – סביר מאוד להניח שכל מי שרוצה לרכוש שרתים, ירצה להריץ עליהם פתרון וירטואליזציה כלשהו, ואין שום בעיה להריץ vSphere על כל המעבדים, החל מהדור ראשון ועד הנוכחי, אבל אם רוצים להשתמש בטכנולוגיית וירטואליזציה כמו SR-IOV (פוסט על הנושא בבלוג העסקי בקרוב) – חייבים מעבד Xeon E5 V4 ומעלה. אפשר לנסות על Xeon E5 V3 אבל המימוש קיים בערך ב-60-80% מהמקרים, תלוי בלוח, ב-BIOS וכו'.
  • מבחינת מארז ללוח אם לשם בניית השרת – ישנם לא מעט מארזי 3U זולים שניתן לרכוש מ-eBay והם יחסית קלים במשקל כך שלא יהיה צורך לשלם סכומי עתק על המשלוח. עם מארזים כאלו ניתן להשתמש בקירור יותר קונבנציונאלי למעבדים, ניתן להשתמש במאווררים 120 מ"מ שקטים וניתן להשתמש בספק ATX רגיל (מי שמעוניין יכול כמובן להכניס 2 ספקי Flex ATX לשרידות), ואם הולכים על מארז 4U, אפשר להשתמש בפתרון קירור עם רדיאטור בגודל 120 מ"מ לכל מעבד ולהשאיר את המאוורר האמצעי לקרר את את הלוח, זכרון וכו' – זה בהחלט מספיק.
  • מעבדים – ניתן למצוא מעבדים זולים מהסידרת Xeon הראשונה, V2 וגם חלק ממעבדי V3 (אלו עם ה-4 ליבות). מעבר לכך – המחיר קופץ. פתרון די פופולרי שקיים הוא לרכוש מעבדים מאותה משפחה מסידרת ES שהם בעצם Engineering Samples. חשוב לציין: אלו מעבדים שאין להם כיתוב שם רשמי על המעבד (כתוב מספר כלשהו ו-Confidential) ובחלק מהשרתים (במיוחד בשרתי מותג) הם לא יעבדו. המהירות שלהם תהיה פחותה מהמהירות הרשמית בהשוואה לדגם הרשמי ויכול להיות (סיכוי מאוד קטן) למצוא בעיית תאימות כלשהי באפליקציות מסויימות (לא נתקלתי בבעיה כזו). אין שום אחריות למעבדים כאלו מצד אינטל. גם כאן, Supermicro הם היחידים שאני מכיר שכל ה-ES עובדים בלי בעיה על לוחות האם של החברה. אפשר לקחת פחות סיכון ולרכוש את ה-QS שהם בעצם שוחררו זמן ממש מועט לפני היציאה הרשמית של המעבד, ושם מהירות השעון היא כמו המעבד הרשמי ואם היו באגים, המיקרוקוד שקיים ב-BIOS כבר מטפל בבעיה. בכל מקרה אני לא ממליץ לאף חברה לרכוש מעבדים דוגמאות ES או QS.

עוד דברים שיכולים לעזור:

  • חושב לעבוד במהירות 10 ג'יגה? (לפחות מהסטורג' שלך למכונות). במקום לחבר Point to point, יש Switch של חברת MicroTik ב-2 גרסאות. יש גירסה של 8 פורטים ו-16 פורטים, חיבורי +SFP. ה-8 פורטים עולה כמה מאות שקלים וה-16 פורטים עולה בסביבות ה-1300 שקל, כך שתצטרך לרכוש כרטיסי רשת וכבלי DAC/TwinAX. חשוב לשים לב – אם אתה עובד עם vSphere אז לא לרכוש כרטיסי רשת ישנים של Chelsio (הם לא נתמכים ואין VIB שנותן להם תמיכה).
  • מחירי UPS צנחו וכיום ניתן לרכוש UPS של 1000VA ולחבר אותו ל-3 מכונות למקרים של הפסקות חשמל קצרצרות (חצי דקה עד דקה גג, תלוי בעומס של המכונות שלך) או כמיישר מתח. מחיר של UPS כזה הוא בסביבות 400-500 שקל (תלוי היכן קונים).
  • אם אתה מתעקש לקחת שרתי מותג ורוצה מקסימום שקט, קח שרת 2U ואל תכניס בו דיסקים (למעט 1 או 2 ל-OS ואם זה ESXI – אז תשתמש ב-Disk On Key בחיבור שקיים לך על לוח האם). אחד הדברים ששמתי לב בכל הקשור לאיוורור – הוא שאם יש דיסקים, המאווררים חייבים ליצור לחץ סטטי גדול מאוד כדי להכניס מספיק אויר לקירור. אם אין דיסקים, לא צריך לחץ סטטי חזק והשרת יותר שקט.

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

כמה מילים על UPS

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

עד לפני חודשים ספורים ב-LAB שלי כל המכונות היו שרתי מותג ושרת האחסון מבוסס לינוקס+ZFS היה מכונת Core i5 פשוטה עם 32 ג'יגה זכרון ודיסקים. אם היתה מתרחשת הפסקת חשמל והחשמל היה חוזר לאחר זמן מה, כל השרתים היו מופעלים מיידית, אך מכיוון שלשרתים לוקח זמן רב להגיע למצב שהם מטעינים את ה-OS, הזמן ה"פנוי" הזה היה די והותר עבור מכונת ה-i5 לעלות, לבדוק שהכל תקין מבחינת ZFS, לייצא את ה-NFS ושאר שרותים, כך שכשהשרתים היו מתחילים לעלות, כל השרותים שהם זקוקים להם חיצונית – היו זמינים להם. את ה-UPS עצמו לא הייתי צריך כי רוב הזמן המכונות הוירטואליות היו סטטיות "ריקות" שמריצות Hypervisor (כך ש-reboot פתאומי לא היה ממש משנה משהו) ומכונות ה-VM היו עולות בין כה מחדש, כך שב-99% מהמקרים הפסקת חשמל לא היו ממש מזיקות לי. כל המערכת כולה, החל מהרגע שהחשמל חזר ועד שהכל למעלה – עולה תוך 10 דקות בערך.

UPS באופן עקרוני יכול לעזור במצבים מסויימים. אם יש לך מכונת דסקטופ עם GPU יוקרתי וביצעת Overclock לדוגמא למעבד ו/או לזכרון, המכונה תעבוד 24/7 ותצרוך הרבה יותר חשמל מהמצב הרגיל, מה שאומר ש-UPS של 1000VA (וולט אמפר) יחזיק לך אולי דקה או 2 גג. אתה יכול להגדיר את ה-UPS כך שלא יעשה כלום או שיתחיל את תהליך הכיבוי או להריץ סקריפט משלך כשאין חשמל. כמה זה עוזר? תלוי. יש מקרים ש-Windows לדוגמא בעת כיבוי מציג חלון שאומר שאפליקציות X,Y,Z פתוחות והחומר לא נשמר, מה שדי מבזבז את הזמן שנשאר בסוללת ה-UPS. בלינוקס ובמק המצב יותר טוב והמערכת כשמקבלת פקודת כיבוי מתחילה לכבות את השרותים במקביל עד לחלק ה-poweroff שמורץ ואז המכונה תיכבה מעצמה בצורה חלקה ללא נזקים.

בזמן האחרון ה-LAB שלי קיבל תפנית חדה ועד סוף חודש הבא (תלוי בשירותי השליחויות בחו"ל, מכס וכו') יתווספו ל-LAB שלי עוד 5 שרתים באורח קבע ושרת האחסון שלי יוחלף בשרת עם מעבד Xeon מרובה דיסקים ו-SSD. שרת כזה לא עולה תוך 45 שניות כמו השרת הנוכחי וכששרתי הוירטואליזציה השונים לא מקבלים שרותי NFS ו-iSCSI בזמן boot – הם גם לא מפעילים את המכונות הוירטואליות שאמורות לרוץ עליהם, ולכן מה שאצטרך לעשות בעצם זה לחבר את ה-UPS ל-Raspberry Pi ולדגום את ה-UPS. אם יש הפסקת חשמל, הוא ישלח פקודות דרך ipmitool כדי לכבות את המכונות ושרת הקבצים כמכונה אחרונה. חזר החשמל? הסקריפט ירוץ הפוך (שרת קבצים קודם כל, בדיקת שרותים, ולאחר מכן הפעלת שרתי הוירטואליזציה).

אז למי ששואל אותי לגבי עמדתי בעניין UPS – כן, אני ממליץ לכל אחד, במיוחד שזה עולה רק בסביבות ה-400 שקל ויכול להציל אותך מהפסקות חשמל קצרצרות (כמו שיש כאן באזור). למי שיש LAB לעומת זאת, אני ממליץ לעשות חישובי צריכה ולקנות את ה-UPS בגודל המתאים (אם יש לך נסיון בלינוקס אז אתה לא חייב את הגירסה עם הכרטיס רשת. יש בלינוקס את NUT ואתה יכול לעשות איתו את הכל ופשוט לחבר את ה-UPS לאיזה מכשיר Raspberry Pi או תואם). אני לא אהבתי כל כך UPS כי אני אוהב לחיות מבחינת טכנולוגיה "על הקצה" ואוהב לעשות Stress לציוד שברשותי (ושהינו בבעלותי) ולבדוק אם המערכת חיה גם אחרי אירועי הפסקות חשמל, חום וכו', אבל גם אני עכשיו עם UPS 🙂

התובנות שקיבלתי מה-LAB שלי

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

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

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

מה שאני כן ממליץ זה לבחור את אחת מהאופציות הבאות:

  • לקחת מחשב דסקטופ שקיים אצלכם, למלא אותו בזכרון (במידה וצריך), להתקין עליו כרטיס רשת (אני ממליץ על כרטיס המבוסס על שבבים של אינטל), לרכוש SSD זול ולהתקין לדוגמא ESXi (יש צורך בכרטיס הרשת הנוסף מכיוון ש-ESXi אינו תומך בכניסות רשת שנמצאים על לוח האם).
  • לרכוש מחשב מבוסס AMD Ryzen 7 (כמו ה-2700) ולמלא אותו בזכרון בהתאם לתקציבכם, SSD זול, כרטיס רשת – ולהתקין ESXI. במקרה הזה תקבלו פי 2 יותר ליבות בהשוואה למעבדים של אינטל ותמיכה ב-עד 64 ג'יגהבייט זכרון.

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

מכאן – נעבור לתובנות.

בקיץ האחרון היו לי מספר שרתים 1U ו-2U של חברות כמו Dell, HPE, IBM. כולם שרתים ישנים (מעבדי E5-2620 דור ראשון ושני) – והיו לי בין 3 ל-8 מכונות, תלוי בחודש ובדילים שהשגתי, מה שמכרתי ועוד. הסביבה שבא נמצאו השרתים היתה ללא מזגן ולפעמים נכנסו גם קרני שמש.

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

מחשבים – בין אם דסקטופ ואם מדובר בשרתים, יכולים לפעול בלי שום בעיה גם אם בסביבתם הטמפרטורה נעה בין 30-36 מעלות צלזיוס. דווקא במערכות דסקטופ ניתן לבנות את עקומת ה-RPM של המאווררים כך שיפעלו יותר לאט או יותר מהר בטמפרטורות מסויימות (פונקציה זו קיימת בתצורה סופר-בסיסית בשרתים תחת שמות כמו ECO, Silence וכו' אך מבלי להגדיר/לשנות מספרים).

ולהלן תובנותיי:

  • כל עוד מדובר במכונה שלא יבוצע לה Overclock ואין בה כרטיסי GPU, אפשר יהיה להרכיב לה 3-4 מאווררים (2-3 מקדימה בתצורת PULL, מאוורר מאחורה בתצורת PUSH), יחד עם המאוורר שמגיע עם המעבד – מכונה כזו לא צריכה מיזוג או תנאים מיוחדים (יש לי 2 מכונות דסקטופ כאלו שעובדות כך כבר 6 שנים).
  • מתוך הנחה (ולאחר בדיקות) שניצול ה-CPU אינו עובר את ה-60-70% – אפשר להתקין פתרון קירור של Noctua מסידרת ה-Low Profile (כל עוד יש את האיוורור שציינתי לעיל), כך שהמכונה תהיה שקטה גם בקיץ.
  • במידה ובונים מכונה ורוצים עליה שליטה מרחוק עוד ברמת הכיבוי/הפעלה – מומלץ לרכוש לוחות אם עם IPMI. במקרה של אינטל – קשה מאוד למצוא לוחות כאלו שמקבלים מעבדי דסקטופ, ומעבדי Xeon הם יקרים ולכן ניתן לוחות אם שתומכים במעבדי Xeon ישנים יותר (אני ממליץ E5 V2 ומעלה) או שניתן לרכוש לוח כזה עבור מעבד Ryzen מודרני.
  • שרתים מוכנים – ישן, אך לא ישן מדי: מאוד מפתה לרכוש שרת ישן בן 6-7 שנים בכמה מאות או ב-1000-1500 שקל כשכמעט הכל כלול (מעבדים, זכרון, רשת – אין דיסקים), אולם לא ניתן בשרתים כאלו להוסיף ציוד כמו SSD NVME, כרטיסי רשת מרובי כניסות וכו', וכמו כן מבחינת ביצועים – מעבד דסקטופ מודרני זול "בועט" בכל Xeon דור ראשון או שני (כשמדובר על אותה כמות ליבות ולפעמים כשב-Xeon יש כמות ליבות כפולה). ראו, אגב, הערותיי למעלה אם אתם חושבים להקים "LAB" שבעצם מבוסס על מכונה אחת.
  • אם אין לך בעיה שהמערכת לא תעבוד זולת שרותים בסיסיים בהפסקת חשמל ושכל המידע שלך בשרת האחסון לא יזוק כתוצאה מהפסקת החשמל – לא חייבים UPS. פוסט ופרטים על כך – בקרוב.
  • אפשר לבנות שרתים שקטים גם בתצורת 2U. וידאו ופרטים על כך – בקרוב.

הקיץ הזה אני אצטרך כפי הנראה (בהתאם לפרויקטים שיכנסו) מספר שרתים, שרת ה-ZFS העיקרי שלי יוחלף למשהו הרבה יותר מאסיבי (320 ג'יגה זכרון, 20 דיסקים קשיחים, Optane SSD ו-2 מעבדי Xeon וכנראה תקשורת במהירות 40 ג'יגה) ותהיה גם מערכת ניהול חכמה למקרים של הפסקת חשמל והפעלת שרתים עם שרותים בסיסיים שיפעלו ללא תלות בחשמל רציף. הכל יוקלט בוידאו ויפורסם ביוטיוב, פוסטים חדשים יופיעו בנידון וגם הקוד לניהול ישוחרר באופן חופשי ב-GitHub. אתם מוזמנים להירשם לבלוג (או לעקוב אחר הפייסבוק שלי או ערוץ הטוויטר שלי), ואני אשמח לקרוא את תגובתכם.

ה-LAB הבא פרק 8: רשת 10 ג'יגהביט?

כשאנחנו בונים LAB לבית שלנו, אחת הנקודות החשובות היא חיבוריות בין אמצעי האחסון (NAS ברוב המקרים) לבין השרתים שלנו. אחרי הכל, לא חשוב איזו מערכת הפעלה השרתים יריצו, צריך לחבר אותם ל-NAS כדי להעביר נתונים, להתקין מכונות VM או קונטיינרים, להעביר נתונים וכו'. יש לנו בעצם 2 "רשתות" – הרשת האחת היא בין השרתים ל-NAS, והשניה היא בין השרתים (והשלישית זה תקשורת כניסה/יציאה לאינטרנט). בד"כ אנחנו נשתמש במתג (Switch) כלשהו כדי לחבר את הכל כך שכל מכונה תקבל כבל תקשורת אחד במהירות 1 ג'יגהביט או שנחבר מספר חיבורים פיזיים ב-Teaming כדי לקבל מהירות יותר גבוהה מ-1 ג'יגהביט.

נשאלת השאלה: האם אנחנו צריכים מהירות יותר גבוהה מ-1 ג'יגהביט? הבה נראה:

נתחיל ב-NAS שלנו (לא חשוב איזו מערכת הפעלה או איזה File System יש על ה-NAS). סביר להניח שהוא יכלול לפחות 4 דיסקים ומעלה. בואו נסתכל לדוגמא על דיסקים Red Pro של Western Digital (המתחרים נותנים את אותם נתונים). לחצו על התמונה להגדלה:

כפי שאתם יכולים לראות, דיסק קשיח שמעביר כמות נתונים גדולה ברציפות, מעביר אותם במהירות החל מ-164 מגהבייט לשניה ועד 240 מגהבייט לשניה במקרה של דיסק 10 טרהבייט. סביר להניח שנשתמש ב-RAID כלשהו (או RAIDZ ב-ZFS) כך שאם נעביר קובץ שמתחיל אפילו בג'יגהבייט אחד, מהר מאוד נגלה שצוואר הבקבוק שלנו הוא חיבור הרשת. אם תסתכלו אצלכם בעבודה, החיבור בין ה-SAN לשרתים כלל אינו מבוצע על כבל רשת נחושת אלא על סיב אופטי במהירות 8 ג'יגהביט ומעלה (או בחיבור SFF-8088 או SFF-8640, תלוי בסטורג'). מכיוון שלרובינו לא יהיה SAN בבית נצטרך בעצם למצוא דרך לבצע חיבור מהיר בין ה-NAS לבין השרתים. יש כמובן את שיטת ה-Teaming לחבר מס' כבלי נחושת Ethernet ביחד ליצור רוחב פס של 4 ג'יגהביט, אבל ישנו פתרון יותר טוב ומה שחשוב – יותר אמין.

לשם כך נצטרך 3 כרטיסי רשת 10 ג'יגהביט +SFP כאשר 2 מהם עם כניסה יחידה וכרטיס אחד עם כניסה כפולה. כאן לדוגמא אפשר לקנות 2 כרטיסים וזה יעלה בסביבות ה-240 שקלים (יכול להיות פחות), וכאן יש לנו כרטיס עם כניסה כפולה במחיר של 208 שקל (כדאי לדבר עם המוכר, הוא ישראלי). כדי לחבר בין הכרטיסים, מומלץ להשתמש בכבל DAC (כלומר Direct Attach Cable) בין ה-NAS לשרתים, נצטרך לפחות 2 כבלים (אם יש לך 2 שרתים) או יותר (אם יש לך יותר). כאן אפשר לרכוש חבילה של 10 כבלים (באורך 2 מטר) מסוג TwinAx Copper במחיר של 660 שקל + משלוח. אם לעומת זאת אתה רוצה לרכוש בבודדים, אתה יכול להציץ כאן ולרכוש ב-20$ כבל באורך 3 מטר. לאחר רכישה והתקנה, כל מה שנשאר לעשות זה להגדיר חיבוריות 10 ג'יגה, הגדרת Jumbo Frames ולהגדיר ב-DNS כתובת IP שונה כדי שקבלת/שליחת קבצים במכונות תהיה דרך ה-10 ג'יגהביט ולא דרך ה-1 ג'יגהביט.

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

ה-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 הבא: פרק 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 טוב.

כמה מילים על מעבדי ה-EPYC החדשים של AMD

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

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

… עד שהגיעו מעבדי ה-Opteron ובמיוחד סדרות 6100, 6200, 6300 שהגיעו עם תושבת חדשה (G34, להבדיל מתחנות עבודה ודסקטופים) – שהיו מיועדים לשרתים. המעבדים הגיעו עם כמות ליבות מרשימה: מ-4 ליבות ועד 16 ליבות בכל מעבד. כזה – עוד לא היה בשוק.

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

וכאן "התפוצץ הסעיף" להנהלת אינטל. אינטל לא היתה מוכנה ש-AMD תיכנס לשוק השרתים, גם כשהמעבדים הציעו ביצועים נמוכים יותר. באינטל החליטו לשלוף את כל כלי הנשק האפשריים ולשבור את השוק בכל צורה אפשרית – חוקית ולא חוקית! אינטל יצרו קשר עם כל יצרן לוחות אם, יצרני שרתים, בוני מכונות (אינטגרטורים) וכו' והיא פתחה ב"דיאלוג" מהסוג שמזכיר שיחות עם גנגסטרים. כך לדוגמא ליצרני שרתים היא "המליצה בחום" להוריד דרסטית את כמות דגמי השרתים שיוצעו עם מעבדי AMD מכמות כמעט דו ספרתית ל-1 או 2 (ואם אפשר 0 – מה טוב). לאלו שהבינו את הרמז, אינטל "פיצתה" אותם דרך Kick Back, אלו שלא ממש הבינו את הרמז, הבינו שפתאום משלוחי מעבדים שצריכים להגיע .. מתעכבים. הסיפורים הללו לא היו ממש סוד שמור, והרגולטרים של האיחוד האירופאי החליטו לחקור לעומק לאחר שהתקבלו תלונות מ-AMD. התוצאה? הרגולטורים הטילו קנס ענק של 1.4 מיליארד דולר על אינטל (קנס שאינטל ערערה עליו, היא נצחה בערעור אבל עדיין סיפור הקנס לא נגמר).

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

בזמן שאינטל שולטת בשוק, אינטל די "נרדמה בעמידה" בכל הקשור להתפתחות המעבדים. כאחד שעוקב צמוד אחר גרסאות מעבדים חדשים שמשוחררים וקורא את כל המפרטים שאפשר, אני יכול לאמר שלא ממש נפלטו ממני קריאות התרגשות לאחרונה בכל הקשור למעבדים הן לדסקטופ והן לשרתים. כן, אינטל החלה להוציא את מעבדי ה-Xeon Phi שלה, מעבדי SkyLake X עם ה-AVX ועוד כמה דברים חדשים, אבל ברמת המאקרו – אין הרבה מה להתרשם. ההבדלים בין דור לדור התבטאו באחוזים בודדים (בתנאי שטח) וגם לא מעט לקוחות הבינו שכשזה מגיע למעבדים לשרתים – ההבדלים בין דור 3 ל-4 (כלומר BroadWell) הוא לא כזה הבדל גדול. יש עוד כמה מעבדים חדשים במשפחה עם יותר ליבות – אך מחיריהם היו מטורפים. בכלל, מעבדי E7 של אינטל (4-8 מעבדים בשרת) היו מטורפים לכל הדעות ואני לא מכיר כמעט אף חברה שרכשה אותם.

ואז AMD הגיעו בחודשים אחרונים עם בשורות חדשות: משפחת ה-Ryzen (ה-7 וה-5, ה-3 יצא בהמשך השנה) ומעבדי X (כלומר Extra). כך לדוגמא AMD הציגה לראשונה מעבד עם 8 ליבות ו-16 שרשרנים (ה-1800X) עולה לצרכן כ-440$. המתחרה הנוכחי הכי קרוב שלו מהצד של אינטל הוא ה-Core i7 6900K עם 8 ליבות במחיר של $845 לצרכן כיום (אחרי הורדות המחירים של אינטל שבוצעו בשבועות האחרונים!). אם אתם תוהים לגבי הביצועים – ה-1800X בועט חזק ב-6900K. היכן ה-1800X והמעבדים של AMD נותנים ביצועים יותר נמוכים? כשמנסים להשוות אותם למעבדי ה-Kaby Lake בדברים כמו משחקים (אבל לא ברינדור וידאו, מבחנים סינטטיים שמצריכים ליבות רבות וכו'), כך שלראשונה AMD נותנת פייט רציני לאינטל גם בביצועים וגם במחירים. AMD פחות מוטרדת ממעבדי "הדור הבא" והיא פונה בעצם לאנשים ושואלת אותם: אתם רוצים יותר ליבות במחירים נמוכים יותר מהמעבדים הנוכחיים? אז הנה..

וכאן אנחנו מגיעים לשוק תחנות העבודה והשרתים. בשוק הזה אינטל שולטת ללא עוררין ומאמללת את כל מי שרוצה יותר. כמות זכרון מקסימלית בדסקטופ? 32 ג'יגה. רוצה יותר? לך קנה לוח אם מבוסס X99 Chipset, ושם תוכל "להשתולל" עד 128 ג'יגהבייט, כולה עוד 160-220$ בערך (על לוח האם בלבד. מעבד זה סיפור שונה במחיר). מה עם אלו שרצו משהו קצת יותר ממעבדי דסקטופ כמו ה-6700? בהתחלה אינטל המליצה ללכת על ה-Xeon E3, אבל שם, אבוי, כמות הזכרון (שוב) מוגבלת ברמת המעבד ל-32 ג'יגהבייט, כך שמי שרצה יותר כח ולא רצה לזרוק אלפי דולרים פר מעבד – היה יכול לרכוש את המעבדים היותר יוקרתיים של אינטל כמו ה-6900K וה-6950K שנתנו 8 ו-10 ליבות בהתאמה. המחירים, גם כאן  – ממש לא היו זולים, אבל לא היתה ברירה אחרת.

מתי אינטל התעוררה? שהשמועות החלו לצאת על כך ש-AMD הולכת לצאת עם מעבדים עשירים בליבות. פתאום אינטל יכלה להוציא מעבדים עם 8,10,12,16 ואפילו 18 ליבות!

ו-AMD די הפתיעו את השוק (כמה שאפשר לאמר "הפתיעו", היו הדלפות..). אינטל מתגאה ב-18 ליבות? מגניב. AMD מציגים: מעבדי EPYC עם עד 32 ליבות, 64 שרשרנים, 4 טרהבייט זכרון, 128 מסלולי PCIE וה-32 ליבות זה על מעבד יחיד, כלומר אם תשים 2 יהיו לך 64 ליבות ו-128 שרשרנים.

ב-AMD החליטו שאם כבר אז כבר, לשנות את השוק. הם יוציאו 2 משפחות של מעבדים. משפחה אחת תהיה משפחת P, אלו יהיו מעבדים עם החל מ-8 ליבות ועד 32 ליבות שישבו על לוח אם שיכול להחזיק מעבד יחיד, עם 128 מסלולי PCIE ועם תמיכת זכרון עד 2 טרהבייט! (זוכרים את המגבלה למעלה עד 128 ג'יגהבייט של אינטל?). מכיוון שלכל מעבד יש 128 מסלולי PCIE, אז יצרני הלוחות יכולים להתחיל להשתולל. רוב יצרני לוחות האם לא פרסמו עדיין את הלוחות שתוכננו למעבדים אלו, אבל SuperMicro שלחו לי לינק ל-PDF הזה שמראה את רוב הלוחות שיצאו עבור EPYC ויש עוד כמה בצינור מ-SuperMicro (ולמי שחושב לבנות סטורג', מומלץ להסתכל על דגם: AS -2123US-TN24R25).

והמחירים? אחרי הכל, מה שחשוב זה כמה המעבדים יעלו, וכאן AMD הציגו מחירים מעניינים. להלן הדגמים והמחירים (דגמי ה-P בשורות אפורות):

שימו לב: המחירים הללו אינם מחירים לצרכן ויש עדיין ויכוחים לגבי המחיר (AMD טוענים לדוגמא שדגם 7351P יעלה 750 ולא 700) כך שסביר להניח שהמחיר ישנה במעט. שוב, בהשוואה לאינטל, המחירים הללו זולים: מעבד Xeon עם 18 ליבות (ה-E5-2696V3) עולה $2125 וכאן מעבד 7551P עם 32 ליבות עולה 2000$, כך שאם תרכוש מעבד כזה תחסוך לך 125$ ותקבל 14 ליבות נוספות.

נקודה מעניינת נוספת לגבי משפחת P היא הנקודה ש-AMD מראה שמעבד P יחיד נותן ביצועים של 2 מעבדי Xeon אחרים כך שבעצם אתה חוסך ברכישה. הנה הגרף של AMD:

בגרף הזה AMD משווה בשורה האפורה 2 מעבדי Xeon מול מעבד יחיד ממשפחת EPYC בסידרת P.

כמובן, אי אפשר בלי סייגים: AMD כרגע מציגה רק תוצאות מבחן סינטטי אחד, ללא בחינה של Workload אמיתי. ברגע שהמעבדים הללו יגיעו לסוקרים המקצועיים באתרים השונים, אז נראה את כל התמונה, כך שכרגע התמונה נראית מאוד מבטיחה, במיוחד לאלו שמעניינים לקנות ו/או לבנות שרתים ותחנות עבודה רציניות (לא למשחקים. לזה קחו את Ryzen) – ולכן מומלץ לעקוב אחר הנושא. נקודה נוספת שחשובה לגופים בטחוניים ולכל אלו שהמידע שלהם חשוב מאין כמוהו והם ממש רוצים לחסום מצב שמישהו מנסה לפרוץ או לגנוב ציוד מהשרת (NVDIMM לדוגמא) זה לקרוא על 3 שכבות האבטחה שבנויות במעבד ונותנות מענה גם לאנשים הכי היסטריים (כמעט) מבחינת אבטחת מידע.

לסיכום: אין ספק ש-AMD הוציאה כאן משהו חדש שיצטרך להוכיח את עצמו מצד אחד, אבל מצד שני כל OEM וכל Vendor כבר הכריז על תמיכה ויצור פתרונות משולבי EPYC, מיקרוסופט הודיעה חגיגית ש-EPYC יקבל מקום של כבוד ב-Azure. לאלו שרוצים להקים לעצמם LAB טוב (ולא מחלקים יד שניה) ואלו שרוצים להקים לעצמם תחנות עבודה רציניות – ה-EPYC נותן פתרון שלא קורע את הכיס. האם חברות ירכשו שרתים מבוססי EPYC? שאלה טובה, תהיו בטוחים שמחלקות השיווק של אינטל יגיבו בעוצמה בנושא.

נשאר עוד חלק אחד, ה-ThreadRipper (שיהיה בעצם 2 מעבדי Ryzen 1800X בשבב גדול מאוד) של AMD, מעבד עם 16 ליבות, 32 שרשרנים ששאר פרטיו עדיין אינם ידועים. AMD תוציא לגביו פרטים כנראה באוגוסט. יהיה מעניין 🙂