ה-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 תוציא לגביו פרטים כנראה באוגוסט. יהיה מעניין 🙂

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

קצת על IPXE

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

מבחינה טכנית – PXE הוא די פשוט: יש שרת TFTP שמגיש קבצים ב-UDP דרך פורט 69. אתה מקים שרת כזה, מוודא שיש שרת DHCP שיתן כתובות IP זמניות (או קבועות אם אתה נותן כתובות לפי MAC) למכונה שעושה BOOT PXE וכל מה שנשאר לך זה לוודא שתוכנת ה-PXE Client (יש כל מיני ללינוקס ו-Windows) יודע איך להעלות את המערכת שאתה רוצה להעלות.

הפתרון הזה הוא פתרון נחמד למעבדת מחשבים או למקום שצריך PXE פה ושם. אחרי הכל – תן לשרת TFTP להגיש קבצים ל-100 מכונות בו זמנית ותראה את השרות זוחל.

אני רוצה להכיר לכם את IPXE.

אם אנחנו מסתכלים היום על Data Center – בין אם ה-DC מורכב מחצי ארון עם 3 שרתים ועד לאולם שלם שמפוצץ שרתים – הדברים השתנו לחלוטין בעשור האחרון. שיטת העברת הקבצים הכי פופולרית היום היא HTTP, אנחנו יותר משתמשים ב-iSCSI וב-NFS, בחלק מהמקומות יש Infiniband, ועוד ועוד טכנולוגיות מודרניות, ובכלל – כיום כל VM יושב על iSCSI או על NFS והתקנה אוטומטית דרך פרוטוקולים אלו יכולה לסייע מאוד.

היחוד של IPXE הוא בכך שהוא לוקח את PXE המוכר ומקדם אותו לעידן של היום תוך מתן תמיכה טבעית ל-NFS ו-iSCSI והעברת קבצים עצמה יכולה להתבצע דרך HTTP (ולכולם יש כיום מערכות לנטר ולכוון תעבורת HTTP). מה עם שרת ה-TFTP? אותו עדיין נצטרך אך ורק להעביר קובץ יחיד (UNDIONLY.KPXE) ואולי עוד קובץ למערכות UEFI. את השאר אפשר להעביר בפרוטוקולים אחרים.

IPXE נותן לנו במכונה שעושה BOOT PXE גם אפשרויות של סקריפטים בשפה די פשוטה שיקח לכם זמן מאוד קצר ללמוד אותה. אפשר להכניס תנאים, לשרשר קבצי IPXE, וכמובן – יש תמיכה ל-NFS, iSCSI, Infiniband ופרוטוקולים אחרים. כך לדוגמא אם מרימים מערכת ESXi או לינוקס, אפשר להכניס פרמטרים להטענת kickstart להתקנה אוטומטית, להשתמש ב-WIM של Windows ועוד. צריכים מכונות דסקטופ ל-Windows? אתם יכולים לעקוב אחר ההוראות כאן לגבי פתרון שיכול להתאים לכם.

הנה לדוגמא מערכת שאני מקים אצלי ב-LAB בבית (מאז הוספתי עוד כמה שורות). לא משהו מורכב, אבל עם הסקריפט הסופר-פשוט שכתבתי – אני יכול להתקין מגוון מערכות הפעלה לכל VM חדש שאני יוצר מבלי לחפש כל פעם היכן ה-ISO. כל קבצי ההתקנה וסקריפט ה-IPXE יושבים אצלי על שרת NGINX (שרת Web) וסקריפט ה-IPXE פשוט מוריד את כל מה שהוא צריך בהתאם למערכת שבחרתי ולבסוף מריץ פקודת boot. משהו לא עבד? לחיצה על CTRL-B תתן לי "shell" נחמד שאיתו אני יכול לנסות את הפקודות ידנית או לראות את השגיאות לפרק זמן ארוך כדי לתקן אותם ולהפעיל את המערכת מחדש.

ipxe

מערכת נוספת שהכנסתי לתפריט היום (לא מופיע בתמונה) היא מערכת GParted שהיא מערכת לניהול Partitions. נניח שאני צריך לגבות Partitions מסויימים לפני שינוי והשרת עצמו הוא פיזי (ב-VM יש snapshots, במכונות פיזיות – זה קצת יותר מסובך). אני יכול להתקין תוכנת גיבוי ולעשות זאת ולקוות שהגיבוי הצליח, או שאני פשוט יכול למפות iSCSI Volume זמני דרך ה-iPXE, להפעיל את IPXE, לבחור את GParted ולגבות את ה-Partitions. אותו דבר אני יכול לעשות עם NFS ושאר טריקים לאחסון – כל זה מבלי להתקין שום תוכנה נוספת, לרכוש רשיונות וכו'.

הפתרון של IPXE הוא פתרון שמנצל את הכלים שלנו לשימוש מודרני ב-DC, הפתרונות שיש כיום להפצת קבצים יכולים יפה מאוד לעמוד בעומס של עשרות או מאות מכונות שרוצות PXE ועכשיו. בהמשך הדרך, כש-VDI יכנס יותר ויותר לתמונה, ה-Thin Client יוכל לקבל את המערכת שצריכה לרוץ עליו דרך PXE במקום לעדכן קושחות, לבצע טסטים על כל שינוי קטן וכו'.

לסיכום: גם אם יש לכם פתרון PXE, מומלץ להכיר יותר את IPXE. ה-IPXE נותן לנו פתרון שמשתמש בטכנולוגיות של היום ובדרך גם חוסך בכל מה שקשור לתחזוקה והתקנות של מחשבי דסקטופ, שרתים, מכונות VM ואחרים. לא חייבים לשנות כל 3 דקות את הגדרות ה-DHCP (יש ProxyDHCP ותמיכה לזה ל-IPXE) ובטווח הארוך זה חוסך הרבה עבודה. מנסיון.

קצת על פתרון אחסון חדש לציודים קטנים

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

עד לפני שנה פלוס, האחסון הפנימי שבטלפון/טאבלט/PC-במקל/PC מבוסס טאבלט היו מבוססים על ארכיטקטורת eMMC, זו אותה ארכיטקטורה ישנה שהיתה עוד בימי ה-Pocket PC ו-PALM (הצבעוניים). עם הזמן יצאו כמה גרסאות (גירסה 4 שלטה זמן בשוק ולפני בערך שנתיים וחצי יצאה גירסה 5, אתם יכולים להסתכל על ההבדלים מבחינת תכונות כאן). גם גירסה 5 של ה-eMMC לא בדיוק הציגה ביצועים מרשימים כל כך (בהשוואה אפילו ל-SSD ביתי!). כן, יכולות הכתיבה והקריאה היו די טובות למובייל, אבל כיום הדרישות הן ליותר: חברות מעוניינות לפתח תוכנות עריכה מתקדמות יותר, אנשים רוצים לעשות עריכות וידאו או תמונות, משהו קצת יותר מהבסיס –  לפני שהם משתפים את כל העולם ואחותו ויש עוד המון פונקציות שחברות פיתוח היו שמחות לפתח למובייל – אם יחידת האחסון היתה מגיבה קצת…יותר..מהר והיה אפשר לעשות יותר פעולות במקביל.

גם בתחום המיקרו SD חלו התפתחויות, אך ההתפתחויות הללו היו יותר שיפורים של פונקציות קיימות כמו כתיבה יותר מהירה וקריאה יותר מהירה עם תאימות אחורה ותמיכה לגדלים מעל 64 ג'יגהבייט (SDXC), אבל הבעיה העיקרית של כל פורמט המיקרו SD הן היכולות שלו – אתה יכול לכתוב בצורה רציפה או לקרוא בצורה רציפה (או למחוק וכו') אבל אתה לא יכול לעשות מספר דברים במקביל כמו קריאה וכתיבה ביחד. הפורמט של מיקרו SD לא מאפשר זאת ולכן אמצעי האחסון הזה הוא מוגבל מאוד ויותר משמש לאחסון מאשר לעריכת תמונה לדוגמא (העריכה תתבצע על ה-RAM והתוצאה תישמר על ה-eMMC/מיקרו SD ובמקרה של תוכנות מתקדמות – העריכה תתבצע על ה-eMMC והתוצאה תישמר על מיקרו SD).

sdומה לגבי האח הגדול של מיקרו SD, כרטיסי ה-SD? ובכן, מבחינת פונקציונאליות כרטיסים אלו זהים לאחיהם הקטן, אך מכיוון שהם גדולים יותר, החברות יצרו כרטיסים בעלי כמות אחסון כמו 512GB, דבר שעדיין לא ניתן לעשות כיום במיקרו SD. גם האמינות שלהם טובה יותר וכמובן – אם הם נופלים, קל לזהות אותם על הדשא, שטח וכו'.

ב-30 למרץ השנה פורום JEDEC הוציא סוף סוף הודעה על המפרט המיוחל שיחליף בהמשך את עניין כרטיסי המיקרו SD (ובהמשך את כרטיסי ה-SD), הלו הוא פורמט ה-UFS.

256GB-UFS_03

פורמט ה-UFS בא להחליף את כל מה שקשור לאחסון מבחינת מובייל/טאבלט וכו'. בפורמט זה "משאילים" את מה שיש לך ב-PC ומכווצים אותו לפורמט מובייל. כך לדוגמא, מהירות הקריאה היא כמו מהירות SSD בחיבור SATA (כלומר עד 550 מגהביט), מהירות כתיבה עד 95 מגהבייט לשניה, ו-IOPS של 40,000 וזאת בהשוואה ל-100 IOPS שאפשר להוציא ממיקרו SD.

UFS_02כפי שאתם יכולים לראות – פורמט ה-UFS הוא פורמט שאינו תואם לכרטיסי מיקרו SD. אינכם יכולים להשתמש בו בציודים נוכחיים, לא רק בגלל צורת הפלסטיק שמעט שונה, אלא גם בגלל כמות ומיקום הפנימים בתחתית הכרטיס. יקח כמובן זמן עד שהיצרנים יתמכו בפורמט זה אך לא זמן רב – כל החברות שמשתתפות בפורום JEDEC כבר התחייבו להוציא ציוד תואם וכך חברות כמו סמסונג, סוני, ניקון, קאנון, מוטורולה ואחרות עובדות בימים אלו על שילוב UFS במוצריהן. הראשונה שיצאה עם כרטיסים היא סמסונג, אך היצרנים האחרים גם יוציאו כרטיסים (בחבילה יכלל מתאם ל-PC) במהלך השנה הקרובה.

פורמט ה-UFS הוא הרבה יותר רחב מאשר כרטיסים אלו, הפורמט הוא גם לאחסון פנימי בטלפון וכו'. כך לדוגמא, אם יש לכם מכשירים כמו סמסונג Galaxy S6 ומעלה, האחסון הפנימי הוא מבוסס UFS, כך שהביצועים שם יותר גבוהים בהשוואה למכשירים אחרים מבחינת FILE I/O (אם כי עדיין אין תוכנות חיצוניות שמשתמשות בפונקציונאליות זו).

אז איפה UFS בעצם יסייע לנו? הנה מספר דוגמאות:

  • כל מי שרוכש מצלמת DSLR לקהל המקצועי-ביתי למיניהם מכיר את הבעיה – אתה יכול לצלם כמות של 15-20 תמונות ברצף ואחרי זה .. אתה צריך לחכות שהמידע יעבור מה-RAM לכרטיס. עם UFS אפשר יהיה "להשתולל" כי ה-UFS יכול לכתוב במהירות את התוכן לכרטיס.
  • כיום ניתן לצלם וידאו 4K בכל סלולרי מודרני מהשנה שנתיים האחרונות, אבל אם תנסו להשוות את איכות הוידאו שצילמתם בסלולרי לאיכות מצלמת וידאו טובה (לדוגמא: Sony PXW-Z150) יראה שההבדלים הם שמיים וארץ, וזה לא רק בגלל החיישן אלא יותר בגלל שהטלפון צריך לדחוס "באכזריות" את הוידאו כך שהוידאו מהסלולר בעיניים מקצועיות יראה די עלוב. עם UFS אפשר לשמור באיכות מאוד גבוהה את הוידאו ישירות לכרטיס וגם אפשר להקליט לפרקי זמן יותר ארוכים (רק שימו לב שהסוללה "תיאכל" בצילום כזה, הקלטות כאלו צורכות המון חשמל והטלפון מתחמם במהירות).
  • כל מקלות ה-PC הזולים (בסביבות ה- ~100$) מגיעים עם כמות מועטה של אחסון: 32 או 64 ג'יגהבייט והוספת כרטיס מיקרו SD כיום לא עוזרת הרבה. אפשר כמובן להתקין תוכנות על המיקרו SD אבל הביצועים יהיו מחפירים. עם UFS לעומת זאת, אפשר יהיה לוותר על התקנת מערכת ההפעלה שהיצרן התקין ולהעביר/להתקין אותה ישירות על כרטיס UFS יחד עם האפליקציות שלכם. הביצועים יהיו כמו SSD ביתי פשוט (לא כמו Samsung 950 Pro), אבל זה הרבה יותר טוב מהמצב כיום. אגב, תהליך זה יקח זמן הואיל ואינטל עד כה לא הוציאה שום Chipset שתומך ב-UFS בצורה "טבעית" ובמקלות PC היצרנים לא נוטים להוסיף צ'יפים מעבר למה שאינטל ממליצה.

לסיכום: UFS מביא סוף סוף את האחסון הקטן לעולם המודרני של משהו שמזכיר SATA (אם כי UFS יותר מתוחכם מ-SATA הואיל והוא יכול לקבל מספר פקודות לביצוע במקביל ולא אחד אחד כמו SATA). אני מתקשה להאמין שנראה בשנה שנתיים הקרובות את האחסון הקטן מתקרב ל"אח" הגדול (NVMe) שנותן מהירויות פנטסטיות, אבל זה יקרה במוקדם או במאוחר. מבחינה פרקטית אם אתם רוצים UFS ככרטיסון – תוכלו להשתמש בו ב-Galaxy Note-7 שיוכרז בהתחלת חודש הבא (2 לאוגוסט), סמסונג מכניסה במכשיר הסלולרי הזה התקן שידע לתמוך הן במיקרו SD רגיל והן בכרטיסון UFS (רק אחד יכול להיות בפנים). שאר החברות בוודאי יתנו פתרון כזה בהמשך השנה או בשנה הבאה.