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

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

כפי שכתבתי בפוסט קודם בסידרת ה-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. אתם מוזמנים להירשם לבלוג (או לעקוב אחר הפייסבוק שלי או ערוץ הטוויטר שלי), ואני אשמח לקרוא את תגובתכם.

על Windows ומעבדים מעל 16 ליבות

בשנים האחרונות אנחנו רואים יותר ויותר מעבדים חדשים מ-AMD עם יותר ויותר ליבות במחירים מאוד מפתיעים, הן לתחנות עבודה והן לשרתים. להלן 2 דוגמאות:

  • מעבד AMD Threadripper 2990WX עם 32 ליבות ו-64 נימים עולה 1700$ (מיועד לתחנות עבודה)
  • מעבד AMD EPYC 7551P עם 32 ליבות ו-64 נימים עולה $2700 (מיועד לשרתים בעלי תושבת מעבד יחידה)

לשם השוואה: המעבד לתחנות עבודה ושרתים הכי זול עם 16 ליבות מאינטל (Xeon SP Gold 6130) עולה נכון להיום $1932. ההצעה הזולה ביותר מעל 16 ליבות של אינטל היא מעבד Xeon Gold 6140 וכיום מחירה הוא $2500, כך שבמחיר של מעבד אחד מאינטל אפשר לקנות מעבד עם כמות כפולה של ליבות לתחנות עבודה, ובתוספת של 200$ אפשר לרכוש מעבד לשרת עם כמות כפולה של ליבות (בהשוואה ל-6140 של אינטל).

אם נרצה להקים מכונה כזו להריץ מכונות וירטואליות, לא חשוב איזה פתרון וירטואליזציה נבחר (למעט Hyper-V) – המעבדים של AMD יתנו תוצאות מצוינות וסקירות שונות הראו זאת. אם נרצה להשתמש במעבדים כאלו כתחנות עבודה מבוססות לינוקס, כל עוד יש לנו את העדכונים האחרונים להפצת הלינוקס שנבחר – הכל ירוץ מצוין.

אך מה יקרה אם נרצה לקנות מכונה כזו להריץ אותה כתחנת עבודה או כשרת Windows (לא וירטואלי)? צפו לביצועים נמוכים ב-30-50% בהשוואה ללינוקס עם אותם מעבדים.

כשאינטל שחררה את משפחת Xeon SP, אינטל הציגה בגאווה כמה המעבדים לשרתים (אז לא היה Threadripper) שלה הרבה יותר מהירים ממעבדי EPYC של AMD. סקירות עצמאיות הוכיחו שאינטל פחות או יותר צודקת (יש מספר מבחנים די תמוהים של אינטל ועל כך הופיע פוסט ב-Anandtech). רוב הסוקרים ציינו כי הבעיה של הביצועים קשורה לארכיטקטורת ה-NUMA של AMD.

שנתיים חלפו מאז ש-AMD הוציאה את משפחת מעבדי EPYC לשרתים. AMD הוציאה באותו זמן את משפחת ה-Threadripper דור ראשון (עד 16 ליבות) ואת משפחת ה-Threadripper דור שני (מבוסס על ארכיטקטורת +ZEN). עם הדור השני, AMD הוציאה את המעבדים 2970WX ואת 2990WX -האחד עם 24 ליבות והשני עם 32 ליבות. ההבדל בין מעבדים אלו לבין המעבדים ממשפחת EPYC – היא שמעבדי Threadripper משתמשים ב-4 ערוצי זכרון ולחלק מהליבות אין גישה ישירה לזכרון, בשעה שמעבדי EPYC מקבלים גישה ל-8 ערוצי זכרון.

המחיר הזול גרם ללא מעט אנשים להתעניין לראשונה במעבדים עם 24 ו-32 ליבות ולא מעט אנשים רכשו אותם. המעבדים עובדים מצוין אולם מי שבחן אותם על Windows קיבל "הפתעה" – גם כאן, Windows הציג ביצועים נמוכים ב-30-50% בהשוואה ללינוקס (הבעיה אינה קיימת בדגמים כמו 2950X שהם עם 16 ליבות).

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

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

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

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

לכאורה ניתן להחליט משהו פשוט: לא רוכשים מעבדים של AMD אם מריצים Windows כמערכת הפעלה מרכזית "על הברזל", ואני יכול בהחלט להבין החלטה כזו, אולם הבעיה המרכזית אינה רק במעבדים של AMD. גם אינטל הולכים להוציא מעבדים חדשים עם אותה ארכיטקטורה כמו של AMD (הם יתחילו להופיע תחת משפחת Cascade Lake שתצא השנה). הבעיה היותר גדולה שקיימת בצד של מיקרוסופט היא תמיכה במעבדים מעל 16 ליבות ולא חשוב מי היצרן (גם אינטל). הסיבה שאף אחד לא התלונן עד כה? אף חברה שרוכשת שרת עם מעבדים מעל 16 ליבות לא מריצה ישירות Windows "על הברזל". עם Scheduler יותר טוב, גם מעבדים של אינטל ירוויחו מכך.

לסיכום: אין מנוס מלציין משהו פשוט. מיקרוסופט נרדמה בעמידה. מיקרוסופט עם Windows 2019 בהחלט מעוניינת שתריצו Kubernetes וקונטיינרים, אבל אם נסתכל לדוגמא במבחנים של Phoronix על מכונה עם 40 ליבות שמריצה Windows Server בגרסאות שונות ("על הברזל") מול הפצות לינוקס שונות – לינוקס ברוב המקרים פשוט "בועט" ב-Windows, גם כשלא מדובר כלל במעבדים של AMD. מישהו שם צריך להתעורר.

תקלות בפלאפון ומה כולם יכולים ללמוד מכך

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

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

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

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

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

בעבר הרחוק, אמצעי העזר שעמדו לרשותך היו קבצי TAR (בלינוקס, יוניקס) שהכנת לפני השדרוג (אם כמובן גיבית את הכל והתוכנה לא זורקת איזה קובץ so באיזה חור נידח והוא לא כלול בקובץ TAR) או גיבוי לקלטת. עם מערכות Solaris היה אפשר להשתמש ב-Veritas Volume Manager כדי ליצור Snapshot, בלינוקס בזמנו היה LVM אבל לא היה Snapshot וב-Windows (לפני שנות ה-2000) המצב לא היה טוב יותר.

עכשיו ב-2018 דברים השתנו. הרוב רץ על VM כיום אז אין בעיה ליצור Snapshot לכל המכונות המושפעות משדרוג ואם יש תקלה, אפשר לחזור אחורה. כל DB מאפשר לעשות dump שבמקרה הצורך ניתן לשחזרו, ובכל מערכת DR ניתן לעשות את הסינכרון הדו כיווני המתמשך כשעושים עבודת שדרוג.

כיום, גם מבחינת מערכות ההפעלה השדרוגים יותר נוחים. בתחום הלינוקס, כל מערכת ניהול חבילות מאפשרת שדרוג ושנמוך בקלות, וב-Windows אתה יכול לעשות Blacklist ל-KB מסויימים שה-QA של מיקרוסופט, כרגיל, עשה עבודה גרועה בבדיקת תאימות ושחררו זאת בכל זאת.

לכן, שדרוגים לא צריכים רק להיבדק רק על המכונה (או על רפליקציה של המכונה ב-LAB) אלא גם על המכונות שמושפעות מכך, ויש צורך לעשות גיבוי או snapshot לכל דבר שמושפע, כך שאם רכיב מסויים דופק דברים, צריך לעשות rollback לא רק לרכיב, אלא גם למכונות שהושפעו מכך (אם הושפעו). Snapshot, אני מעוניין להזכיר, שומר רק את ה-Delta (שינויים) בין המצב של המערכת לפני ה-Snapshot ולמצב הנוכחי, כך שלא מדובר במקום רב בדיסק, כך שאין צורך לחשוש לגבי מקום בדיסק בגלל Snapshot (כמובן שמומלץ כמה ימים אחרי השדרוג לבטל את ה-Snapshot ואם צריך לשחזר – להשתמש בגיבוי).

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

התחרות בין AMD לאינטל על ריבוי ליבות

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

נתחיל מאינטל: היא הציגה את המעבד I7-8086K במלאת 40 שנה למעבד הנוסטלגי 8086 שהתחיל את כל מהפכת ה-PC. המעבד הזה הוא בעצם ה-I7-8700K רק שבתוכו יש פיסת סיליקון מובחרת שיכולה להיות מואצת למהירות 5 ג'יגהרץ (בחלק מהליבות, לא כולם) ואינטל דורשת עליו מחיר יותר גבוה מה-8700K.

אבל את עיקר הכותרות קיבלה אינטל מהצגת מעבד עתידי כלשהו שיכיל לא פחות מ-28 ליבות ושהודגם רץ במהירות 5 ג'יגהרץ. כל מי שקצת מבין בכמות ליבות פר מעבד ובמהירות שעון וראה את ההכרזה – חכך את ראשו כי המספרים לא ממש מסתדרים, ורק אחרי ההדגמה התגלה ה"טריק" של אינטל: הם לקחו בעצם מעבד מאוד יקר ממשפחת השרתים (השמועות מדברות על Xeon SP Platinum 8180 שעולה 10000$), ביטלו לו את נעילת ההאצה, והדגימו אותו על לוח אם סופר-מפלצתי והקירור היה קירור מאסיבי – Chiller שדורש 1000W בקירור מים. כל הטרראם הזה הוא אינו פתרון שאינטל יכולה למכור (זה לא פתרון שאתה יכול לרכוש הביתה או לחדר שרתים בחברה אלא אם יש לך מערכת הזנת חשמל מאוד גבוהה) וסביר להניח שאינטל גם לא תמכור מעבד כזה במהירות הזו (תזכרו – בשביל פתרון כזה צריך ספקי כח מיוחדים, לוח אם מיוחד וחתיכת פתרון קירור חיצוני). מדוע אינטל לא ציינו בהדגמה שמדובר ב-Overclock? כי הם "שכחו".

מדוע בעצם אינטל נכנסים לתחרות הזו? כי AMD המתחרים יכריזו למחרת על מעבדי Threadripper עם 32 ליבות (ולאינטל יש מחלקת ריגול שלמה כך שהם יודעים על הדברים מראש) אז הם יצאו בהכרזה מוקדמת על מעבד חדש. האם כדאי להתחיל להתלהב ואולי בהמשך לרכוש מעבד כזה? אני בספק. סביר להניח שכשאינטל תמכור מעבד כזה, המחיר שלו יהיה לא פחות מ-4000$, ועדיף לחברות שרוצות דבר כזה ורק מעבדים של אינטל – לרכוש מכונה עם 2 מעבדים עם 14 ליבות (כמו ה-i9-7940X או מה שאינטל תוציא בחודשים הקרובים), שם המחיר יהיה הרבה זול וצריכת החשמל תהיה נמוכה בהרבה. אינטל גם הכריזה לאחר הכנס כי יהיה גם מעבד עם 22 ליבות לצרכנים (שוב, כמו ה-Xeon SP Gold 6152).

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

נעבור מכך, אם כן – ל-AMD.

בכנס של AMD הכריזו על מספר מוצרים עתידיים (בלי יותר מדי פרטים) ועל מעבדי ה-Threadripper החדשים שיקבלו את ארכיטקטורת +Zen שתשפר ביצועים בכל הקשור לתקשורת פנימית בין הליבות ותקשורת עם הזכרון, וכאן AMD הכריזה על 2 מעבדים חדשים במשפחת ה-Threadripper: מעבד אחד עם 24 ליבות ומעבד שני עם 32 ליבות. AMD שמחו להציג את תוכנת Blender עם השוואה מול המעבד ה-i9-7980XE של אינטל שמכיל 18 ליבות וכמובן שהמעבד עם 24 ליבות של AMD ניצח. באותו הזדמנות AMD הציגו שוב את Blender עם 32 ליבות אולם הפעם ההשוואה היתה ללא תצוגה מהצד של אינטל.

הבעיה ב-2 המעבדים החדשים פשוטה וקשורה למשפחת ה-Threadripper שהוא בעצם גירסה קצוצה של מעבדי EPYC לשרתים של AMD. במעבדי EPYC, תצורת הזכרון היא 8 ערוצים (כלומר אם נניח אתם רוצים שיהיה בשרת 128 ג'יגהבייט זכרון, עליכם למלא את כל 8 התושבות במקלות של 16 ג'יגהבייט ולא 4 מקלות של 32 ג'יגהבייט כדי לקבל ביצועים אופטימליים). ב-Threadripper תצורת הזכרון היא כמחצית מכך (4 ערוצים) כי Threadripper במקור היה עד 16 ליבות והיה צורך על כל רביעיית ליבות למלא זכרון ב-4 תושבות. עם המעבדים החדשים לעומת זאת, תצורת הזכרון נשארת אותו דבר כך שמעבד עם 32 ליבות, כך שמחצית מהליבות לא מקבלים גישה ישירה לזכרון, מה שפוגע בביצועים. נוסיף את הנקודה ש-AMD מדגישה תאימות לאחור (כך שאם יש לך מערכת עם Threadripper ואתה רוצה לשדרג למעבד עם 32 ג'יגהבייט זכרון, כל מה שתצטרך לעשות הוא פשוט לשדרג BIOS/UEFI ולהחליף לאחר מכן מעבד, רק אל תנסו לעשות Overclocking, לשם כך תצטרכו לוח חדש יותר עם אותם חלקים אך עם ערכת VRM משופרת, המעבדים החדשים צריכים יותר מתח).

יוצא מכך שההכרזות של AMD על מעבדי Threadripper החדשים (שיצאו באוגוסט) הם לא משהו שכל כך שווה להתלהב ממנו. כן, סביר להניח ש-AMD ימכרו מעבדי Threadripper עם 32 ליבות ו-64 ניבים במחיר של פחות מ-2000$ (מעבד לשרתים EPYC 7551P עם 32 ליבות עולה כיום 2300$) ומי שרוצה מעבדי AMD עם 32 ליבות ומקסימום ביצועים למעבד, עדיף שירכוש את EPYC (כותב שורות אלו מתכנן להחליף מספר שרתים בפתרונות מבוססי EPYC, הביצועים בוירטואליזציה מעולים בהשוואה למחיר פר מעבד ובצריכת החשמל שלהם).

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

ה-LAB הבא: פרק 11 – החום

אתחיל בתמונה: מה שאתם רואים משמאל לקוח מתוך vSphere (מתוך ה-VCSA) ומציג בעצם את העומס על 2 שרתים שנמצאים כאשכול אצלי (הם ב-DRS כך שהעומס מחולק וב-2 המכונות מצב המעבד נראה כך). כמו שאתם יכולים לראות, העומס על המעבדים הוא קטן מאוד.

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

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

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

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

בתכנון השרתים.

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

בשרתים לעומת זאת, אפשר לראות את התכנון הלקוי שאפיין שרתי 1U בעשור האחרון. קשה להאשים את היצרנים – בסופו של דבר, רעש זה הפרמטר האחרון שהם התחשבו בו, ולכן הם החליטו שהפתרון הכי טוב לשרתים הם צלעות על המעבדים, ו-6-7 מאווררים קטנים אך חזקים בחזית השרת (אחרי הכוננים וה-Backplane), כך ששרתי 1U של היצרנים המוכרים מרעישים בברירת המחדל כשחם בחדר, גם כשהמעבדים לא עושים כמעט כלום. אגב, בשרתים מהדור האחרון היצרנים (לפחות HPE) "נזכרו" בחלק מהדגמים להשתמש בפתרונות כמו צינורות נחושת להעברת האויר ובכך השרתים יותר שקטים, רק שרוב האנשים לא ממש חושבים לרכוש שרתים מהדור האחרון ל-LAB הביתה..

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

אז מה? לא לקנות שרתים 1U? אם אתה לא יכול לסגור אותם בחדר ממוזג או לשים אותם במקום שיש בו מיזוג שפועל רצוף (במיוחד בימים כאלו שהחום ביום יכול להגיע ל-36 מעלות ומעלה) – אז יהיה עדיף לוותר על הפיתוי ולחשוב על פתרון אחר.

אם לעומת זאת, אתה רוצה לבנות שרת 1U אז תוכל להשתמש במס' טריקים שיוכלו לעזור לך "להשתיק" את השרת גם ללא צורך במזגן:

  • בחר במעבד נכון. אם לא מדובר בשרת וירטואליזציה אלא שרת קבצים או מדיה, אפשר לקנות לוחות שמשובץ בתוכם מעבד (שלא ניתן להחלפה) או לחלופין קנה מעבד שמעטפת צריכת החשמל שלו נמוכה (AMD לדוגמא הוציאו את ה-Ryzen 5 2400GE שמעטפת צריכת החשמל שלו היא 35 וואט ועדיין יש לו מעבד גרפי מכובד לדברים פשוטים ויש לו 4 ליבות).
  • השתמש בפתרון איוורור אקטיבי הכולל מאוורר. לחברת Dynatron לדוגמא יש מאוורר ל-1U וכל עוד המעבד לא מתאמץ אתה לא ממש תשמע אותו (כך שזה לא ל-HTPC עם מעבד חלש וישן). לעומת זאת לאותו מעבד AMD שציינתי לעיל הוא בהחלט יכול להתאים הואיל וכמות החום שהוא יוציא היא קטנה.
  • את המאווררים בקופסת 1U מומלץ לזרוק לפח ולרכוש מאווררי 40 מ"מ של חברת Noctua. אלו מאווררים שתוכננו מלכתחילה להיות שקטים מאוד והם כוללים גם 2 ערכות חוטים כדי להשתיק את המאווררים עוד יותר, והם כוללים גם גומיות בצדדים להשתקת ויברציות. בקיצור – אלו מאווררים מעולים.

בשרתי 2U יש יותר מקום וניתן לבצע כל מיני Hacks כדי להשתיק אותם ועל כך – בפרק הבא.

ה-LAB הבא פרק 10: חסימת פרסומות למכשירים בבית

קוראי בלוג זה הותיקים בוודאי יודעים על דעתי על פרסומות באתרים (אין לי בעיה עם פרסומות, כל עוד הם לא קופצים לך על הפרצוף ומפעילים מוסיקה בווליום בגלל שהעברת את העכבר בטעות ליידם ובוודאי לא פרסומות שגורמות למחשב לעבוד בצורה איטית!), ולכן החלטתי הפעם להדגים התקנה של אובונטו LTS עם PiHole, תוכנה בקוד חופשי שהופכת את המכונה שהיא רצה עליה לשרת DNS פנימי בבית/LAB כך שכל המשתמשים בבית שמשתמשים ברשת הפנימית/WIFI יוכלו לגלוש ללא פרסומות (כמעט).במילים אחרות, Pi Hole הוא מעין "פרוקסי" למכשירים/מחשבים בבית  שלך שמונע את הפרסומות מבלי שתצטרך להגדיר כל מכשיר/מחשב עם כל מיני חוסמי פרסומות.

לשם כך יש צורך ב-VM אבל למי שאין LAB או מערכת וירטואליזציה בבית, גם פתרון של Raspberry Pi-3 יעודי (ב-69$ כולל כל מה שצריך) יכול להיות פתרון מצוין לכך.

בעקרון מה ש-PiHole עושה הוא בעצם משמש כשרת DNS פנימי ויש צורך להגדיר בנתב הביתי את כתובת ה-DNS לשרות ה-DHCP אל ה-Pi Hole עצמו כך שכל בקשת DNS תעבור דרך האפליקציה ואם האתר מבקש גישה לשרת פרסומות, שרת הפרסומות חסום, וכך מקבלים גלישה טובה נטולת פרסומות (טוב, ברוב המקרים, לא כולם, במיוחד באתרים ישראליים ובפייסבוק). אם יש לכם שרת DNS פנימי כחלק מה-LAB, תוכלו להגדיר את ה-Pi Hole שיפנה אל שרת ה-DNS הפנימי הנוכחי שלכם ואם אתם רוצים שרת DHCP במקום שרות ה-DHCP של הנתב שלכם, אפשר לבטל שרות זה בנתב ולהפעיל זאת ב-Pi Hole.

בוידאו כאן תוכלו לראות הדגמה של הקמת שרת אובונטו LTS, הקמה והגדרות של Pi Hole.

ה-LAB הבא פרק 9: הרפתקאות עם שרתי HP דור 7

השבוע רכשתי (במחיר טוב! כמה? מוזמנים לקרוא את הפוסט שלי בנושא בבלוג העסקי) 3 שרתי HP DL360 G7. אלו שרתים די בסיסיים (בכל זאת, Xeon מלפני 8 שנים!) אבל קיבלתי אותם עם המון זכרון (208 ג'יגה!) ורציתי להקים עליהם VMWare vSphere 6.5 האחרון.

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

הדבר הראשון שהיתה בעיה – מערכת ה-iLO (זו מערכת הגישה מרחוק, ה-KVM המובנה פנימית) היתה לא מעודכנת (גירסה 1.15) וכתוצאה מכך לא היה ניתן כלל להיכנס לשרת מרחוק דרך דפדפן. לאחר בדיקות בגוגל התברר כי קודם כל יש לשדרג את הקושחה לגירסה 1.28 ורק לאחר מכן לשדרג לגירסת הקושחה האחרונה (נכון להרגע: 1.89). מכיוון שזו מערכת ישנה, אם אתם רוצים לראות את המסך מרחוק, תצטרכו .. להתקין JAVA ו"להילחם" בכרום שיתן לכם להוריד את קובץ ה-jnlp כדי שתוכלו להפעיל אותו. אם לעומת זאת אתם עם Firefox, מזלכם האיר לכם, יש תוסף יעודי "טבעי" של iLO ל-Firefox. בכל מקרה אין גירסת HTML5 לממשק ה-KVM לצפיה במסך. זה קיים רק ב-iLO 5 ומעלה ואי אפשר לשדרג iLO בשרת.

אחרי שסידרנו את עניין הגישה מרחוק, הדבר המומלץ הבא הוא לעדכן קושחות של השרתים. עדיין אין לנו מערכת הפעלה מותקנת ולכן מומלץ לעשות זאת עם קובץ ISO של יצרן השרת. כאן מגיעה הפתעה די מאכזבת: ל-HP אין שום בעיה שתורידו דרייברים ללא תשלום או רישום, אבל כשזה מגיע ל-ISO הזה הם רוצים שתשלמו על הארכת אחריות בכדי לקבל גישה לקובץ (שנקרא SPP – שזה Service Platform for Priliant וזו גירסה עצמונית של SUM – מערכת העדכון של HP). מכיוון שאין סיכוי שאני אשלם על שרת ישן "חידוש אחריות", פניתי ל"חבר האינטרנטי" (גוגל). נחסוך לכם את החיפוש, כאן אתם יכולים להוריד את ה-ISO מחודש יולי (מצאתי מקום אחר שנותן להוריד עדכון מהחודש, אבל אין שום הבדלים בין קבצי ה-ISO בכל מה שקשור לשרתים G7).

אז איך נפעיל את ה-ISO? שנתחיל לחפש USB Disk on key? לא צריך, אפשר דרך iLO.. כלומר אפשרי, אבל רק אחרי שתרכוש רשיון של iLO Advanced (אם אין לכם בשרת, לי לא היה באחד מהשרתים). כמה עולה? הו, טוב ששאלתם:

לשנה זה עולה $221 ול-3 שנים $339 וזה כמובן לא מזכה אתכם בשום תמיכה (התמיכה היחידה שתקבלו זה איפה להכניס את המספר ועדכונים.. שהם רק ל-iLO). טוב, גם הפעם אני לא ממש מעוניין לשלם על הרשיון אז שוב – גוגל שנותן לך לינק ל-Reddit כאן עם 2 רשיונות. תכניס, תפעיל (לא, זה לא מתחבר לאינטרנט לבדוק אם הרשיון "כשר").

אחרי שהפעלנו את הרשיון, ניתן להפעיל את ה-Remote Console, וניתן למפות קובץ ISO מהמכונה המקומית שלכם ולהפעיל את ה-SPP. כמות העדכונים שהיו היא .. אחת. עדכון לקושחת כרטיסי Qlogic. אם ציפיתם שהוא יעדכן את ה-iLO באותה הזדמנות – טעיתם. זה לא כולל עדכון של iLO. מדוע? ל-HP הפתרונים…

אז אחרי שהתקננו את העדכונים ל-iLO ויש לנו גישה מהדפדפן, אחרי שהרצנו את ה-SPP והוא עדכן את קושחת כרטיס הרשת הפנימי – נרצה להתקין וירטואליזציה אולי? אולי VMWare? רעיון מעולה, רק ששוב – זה לא כזה פשוט…

ל-HP יש IMAGE מוכן שתוכלו להריץ אותו דרך ה-iLO (אני ממליץ להכניס USB Disk on Key או כרטיס SD לשרת ועליו להתקין את ה-ESXi במקום דיסקים קשיחים). אתם מוזמנים להוריד אותו ולהתקין, הכל ילך חלק עד ש… תנסו להעמיס על השרת ותוך 6 דקות על השעון תיראו במסך ה-KVM מוצף בצבע סגול עם הודעות שגיאה ורגיסטרים. זה נראה כך:

לא, החומרה שלכם לא דפוקה, זה הדרייבר SMX של HP שהותאם לעבוד עם שרתים דור 9 ו-10, אבל בדרך הם שברו תאימות לשרתים דור 7 ו-8. מה עושים? משנסים מותניים, מתקינים VMWare PowerCLI ועוקבים אחר ההוראות כאן איך ליצור ISO חדש הכולל דרייברים מגירסה vSphere 6.0. אחרי שהכננו את ה-ISO, מפעילים דרך ה-iLO ומתקינים על ה-USB Disk on Key או על כרטיס ה-SD. מנסיון – זה עובד מעולה. עכשיו אפשר להתחיל לעבוד …

… בערך.

אם כל ה-Datastore שלכם מאוחסן באיזה סטורג' או NAS – אין בעיה שתתחילו לעבוד עם המערכת. לעומת זאת, אם אתם חושבים להכניס דיסקים SATA – תתבעסו לגלות שמהירות ה-SATA היא 3 ג'יגהביט (במקום 6 ג'יגהביט של SATA 3), כך שאו שתיקחו דיסקים SAS או שתחליפו לבקר אחר (ותשיגו כבל מיני SAS 8087 לחבר בין ה-Backplane לבין הכרטיס). חושבים להכניס SSD? קנו בקר אחר. איזה? כזה. מבחינת הרחבת זכרון, אתם יכולים להכניס עד 192 ג'יגהבייט אם זה זכרון 8500R (במהירות 1066 מגהרץ) או 288 ג'יגהבייט אם זה זכרון 10600R (במהירות 1333 מגהרץ).

ולבסוף רשמים: איך הרעש? כרגע מופעלים 2 מכונות כשבכל אחד מהם מעבדי X5650. אני כרגע מריץ סה"כ 10 מכונות VM (יהיו עוד הרבה) והם בחדר ממול, הרעש שהם עושים הוא פחות ממכונת ה-i5 שמתפקדת אצלי בתור NAS, כך שהם בהחלט שקטים.

לגבי חשמל .. היו רגעים שהגעתי לתצרוכת של 240-260 וואט, כרגע זה נראה כך:

כך שבסופו של דבר זה יחסית לא לוקח הרבה חשמל (כמובן, ברגע שאני אקים עוד כמה VM וייבא עוד כמה, התמונה תשתנה, אבל 200-260 וואט זה עדיין טוב.

לסיכום: האם הייתי ממליץ על רכישת שרתי DL360/DL380 G7? אני חושב שכן (כל עוד אין לך בעיה לעבור את המסכת שתיארתי לעיל אך מצד שני, בכל שרת תצטרך לעשות זאת פחות או יותר. בכל הקשור ל-iLO, פה זה עניין של מפתח מספרים, בשרתים אחרים מדובר במפתח חומרה כך שכן תצטרך לרכוש כזה, אם כי ב-eBay תוכל למצוא זאת בכמה דולרים).

ה-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 שמחובר לשרת כלשהו, אז מחברים כרטיס כניסה כפולה לשרת ומגדירים את הכל כרגיל.