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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ה-LAB הבא שלי

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

אז איזה כרטיס RAID לרכוש?

בפוסט הקודם דיברתי על כרטיס MegaRaid של LSI מבוסס מעבד 9220/9240 שגם נקרא M1015 של IBM, ויש לו שמות נוספים לפי החברה המשווקת (אינטל, HP, DELL, LENOVO ואחרים משווקים אותו בשמות שונים). אני ממליץ אותו לאלו שמעוניינים להרים שרת עם מערכת ZFS, מכיוון שהכרטיס הזה מצד אחד נותן חיבור אמין ויציב בין הדיסקים למערכת, ומצד שני הוא לא "מתערב" ממש בהעברת נתונים, והמקסימום מבחינת RAID שהוא יכול לעשות זה RAID-1/10. הוא יכול לבצע גם RAID-5/6 אבל אז כל העבודה נופלת על המעבד במחשב, בדיוק כמו RAID תוכנה. ב-ZFS זה יתרון, במערכות מבוססות RAID תוכנה אחרות – זה לא ממש יתרון.

ZFS זה טוב, אבל יש מצבים שאי אפשר (או לא מעוניינים) להשתמש ב-ZFS. אם לדוגמא אתם רוצים להשתמש בשרת Windows כשרת קבצים, או מערכות File System אחרות כמו EXT4 או XFS. במערכות הקבצים הללו מאוד מומלץ שיהיה כרטיס RAID אמיתי שידע לא רק לבצע את ה-RAID (שוב – החל ב-RAID 1/10 וכלה ב-5/50/60), אלא גם ידע לדווח לכם על שגיאות בדיסקים במקרה של תקלה.

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

אבל איזה דגם לרכוש? פה זה כבר תלוי בכם. הנה מספר דוגמאות:

  • אם כל הדיסקים יושבים בתוך השרת (או "שרת") – אז כרטיס שמסתיים ב-8i (ה-i זה internal וה-e זה external) עם מעבד 9260 יכול לתת לכם את כל פונקציות ה-RAID בחומרה (צ'יפ 9240 עושה RAID 1/10 בחומרה, אבל שאר מצבי ה-RAID נעשים על המעבד שלכם, לא על הצ'יפ של הכרטיס) ואפשר לחבר אליה עד 8 דיסקים SAS או SATA. אם יש לכם רק 2-3 דיסקים ואתם לא מתכוננים להתרחב, אתם יכולים לרכוש את גירסה 4i שאפשר לחבר עד 4 דיסקים. ההבדל במחירים בין 4i ל-8i זניח ולכן אני ממליץ ללכת על 9260 8i.
  • אם לעומת זאת אתם חושבים להכניס קופסת JBOD חיצונית שבתוכה ישבו הדיסקים ואת הקופסא אתם רוצים לחבר לשרת – אז חפשו כרטיסים 9260 עם אחת האופציות כמו 8e או 4e, הבעיה בד"כ בחיפוש כרטיסים כאלו שקל למצוא – אבל הם יקרים, כמה אלפי שקלים לכרטיסים חדשים. במקום זה הייתי ממליץ לכם לתחמן קצת ולקנות מתאם כמו זה בתמונה מימין – זה עולה בערך 100 שקל (כאן לדוגמא) כך שאתם מחברים את הכרטיסון הזה אל הכרטיס בקר שלכם מבפנים עם כבל SFF 8087 (רכשו כבל קצר של SFF 8087 מ-2 הצדדים) וכבל SFF 8088 בין הכרטיסון לקופסת JBOD. עם החיבור הזה אתם יכולים גם לשרשר בין מספר קופסאות JBOD לשרת.
  • סוללה – הפסקות חשמל קורות ורוב מערכות ה-RAID לא ממש יודעות לעמוד טוב בהפסקת חשמל (אם ה-UPS לא עבד לדוגמא). עם ZFS יש לו פתרון משלו, אבל במקרה של מערכות קבצים אחרות – סוללת גיבוי על כרטיס הבקר תעזור לסנכרן את המידע ברגע שהחשמל יחזור.
  • זכרון נדיף (FLASH) או זכרון RAM כתוסף לכרטיס על מנת להאיץ ביצועים – ותרו. בפוסט הבא נדבר על פתרון הרבה יותר רציני לגבי האצה.

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

חשוב לזכור: ישנם כרטיסים רבים שמאפשרים חיבורים של SAS או SATA אולם כרטיסים אלו אינם כרטיסי RAID, הם מאופיינים בכך שהם זולים מאוד (בערך 200-400 שקל). אם אתם רוצים לחסוך ויש לכם JBOD חיצוני – קנו כרטיס 8i, את המתאם בתמונה למעלה מימין וחברו בין כל הציודים. זהו פתרון שמתאים לבית או לעסק קטן. אם מדובר בחברה רצינית, אז תפסו שיחה צפופה עם אחד הסמנכל"ים הטכניים ורכשו כרטיס RAID רציני מבוסס 9280 עם פורטים פנימיים וחיצוניים.

בפוסט הבא נדבר על דיסקים ואיך לקבל ביצועים גבוהים גם עם דיסקים SATA פשוטים.

הסיפור עם כרטיס M1015 ותכירו את ה-Mobile RACK

כשאתה מחליט לבנות שרת קבצים רציני מבוסס ZFS, אחת ההמלצות הכי חשובות היא להעדיף בקר כמה שיותר פשוט כי ZFS לא ישתמש בשום RAID חומרתי, לא ב-Cache שעל הכרטיס ולא בשום פונקציה אחרת למעט כתיבה וקריאה ישירה אל הכוננים (לברזל). אחת ההמלצות האחרות (מ-SUN) היא להעדיף שלא להשתמש ביציאות SATA שיש על לוחות אם בתצורת דסקטופ מכיוון שיש ברבים מהם באגים במימוש/באגים בדרייברים שמדברים עם ה-CHIP שנותן שרותי SATA וכו'. (נוכחתי בכך בשבוע שעבר עם לוח קצת ישן של ASUS).

אחד הבקרי RAID הכי ידועים בשוק ושהם עדיין נמכרים בערימות, הם בקרי RAID של LSI מבוססים צ'יפ עם המספר 92XX. בסידרה יש את המספרים 9211, 9240, 9260, 9270 וכו'. חברת LSI מוכרת אותם ליצרני מחשבים וגם מוכרת אותם בהסכמי OEM כך שהלוח של הכרטיס נושא תוית שונה, אך עדיין בצד הקדמי יש את הלוגו של LSI, אולם כשמפעילים את הכרטיס, השם שמופיע על המסך בנוסף הוא שם ה-OEM. (לנובו, HP, DELL ו-IBM מכניסים את המערכת הזו בלוח האם עד היום)

אני רכשתי כרטיס כזה של IBM. ב-IBM מוכרים את הכרטיס תחת השם ServerRAID M1015, רק שכאן מתגלה הפתעה קטנה ולא נעימה: תחת M1015 ישנם צ'יפים שהזכרתי לעיל, ללא תתי דגמים ואין שום דרך לדעת מה הצ'יפ שלך אלא אם תסתכל פיזית על הצד האחורי ועל מדבקה שם שמציינת מה הצ'יפ. אצלי הצ'יפ היה 9220-8i. חיפוש קושחה לצ'יפ זה גילתה לי עובדה מעניינת – אין את הצ'יפ הזה ב-LSI. יש 9211 ויש 9240. 9220? אין חיה כזו.

החלטתי להתקין (עוד לפני שהסתכלתי על הלוח ועל המדבקה מאחורה) את הקושחה האחרונה שקיימת ל-9240. התקנת הקושחה הצליחה, ה-ROM עולה ואפשר להיכנס ולהגדיר את הדיסקים למצב JBOD, אך הבעיה מתגלה אחר כך – גם ESXI וגם גירסאות לינוקס שונות פשוט לא מראות שום דיסקים והמערכת נתקעת (לזמן מה בלינוקס, לגמרי ב-ESXI) בזמן ה-Boot (תוכלו לראות שגיאות רבות כאלו בחיפוש בגוגל), ובקיצור – כל עוד הכרטיס בתוך המחשב, והדיסקים מחוברים לבקר זה – לא תראה כולם.

מכיוון שמדובר בכרטיס מאוד פופולרי וזול ($100 בערך ב-eBay), מישהו הוציא MOD חדשים לכרטיס, 2 מודים ליתר דיוק. IT שלא נותן לך אפשרות להיכנס למסך הגדרות כרטיס (כי פשוט החלק הזה של ה-ROM לא נמצא) אך הוא כן סורק את הכרטיס + הדיסקים ומיידע את המערכת בהמשך לגבי מה הדיסקים ומאפשר גישה, ומצב IR שנותן אותו מצב כמו IT רק עם ROM כדי שתוכל להיכנס, לפרמט low level את הכונן, להגדיר RAID-1 (אם אתה לא משתמש ב-ZFS).

על מנת לבצע זאת, תצטרך להפעיל את המערכת ב-DOS, ולעקוב אחר ההוראות (שנמצאות כאן), אבל אם יש לך לוח מודרני עם UEFI, הטריק לא יעבוד כי המערכת לא נותנת תאימות מלאה ל-DOS ותקבל שגיאה של PAL. לשם כך תצטרך להפעיל את ה-EFI SHELL מה-UEFI של לוח האם שלך. אין לך SHELL? קח את refind (את ה-CD-R IMAGE) ושפוך אותו על כרטיס USB או כרטיס SD (ותוודא שה-Partition מוגדר ל-boot, תוכל לעשות זאת עם parted או gparted בלינוקס, או diskpart ב-Windows). לאחר ששפכת, כנס לתיקיית ה- EFI/BOOT והעתק לשם את ה-EFI SHELL (גירסה 2) מתוך  Arch wiki (כאן), רק כדאי שתתן לו שם שונה כדי שתזהה את השם. הפעל את ה-USB ב-boot על המחשב, ובחר את ה-shell שלך, ומשם עקוב אחר ההוראות כאן. (לקח לי כמה שעות להבין ולחפש את הקבצים..)

בסופו של דבר הכרטיס שלך יהפוך ל-9211 עם דרייבר שנקרא MPT2SAS, הדרייבר קיים בגירסאות לינוקס עדכניות וגם ישנות יותר וכמו כן מוכר ב-ESXI מגירסה 4 ומעלה.

המלצה נוספת היא שאם אתה מתקין ערימות של דיסקים באותו שרת קבצים והם מבוססות mirror (כלומר RAID-1), עדיף שכל דיסק ישב על בקר שונה. פה דווקא מצאתי שאם כבר mirror אז עדיף שדיסק אחד ישב על הבקר RAID ואחד על ה-SATA על הלוח, כך שגם אם יש בעיה עם ה-SATA על הלוח, המערכת שלך ממשיכה לעבוד. אם יש לך כסף, אז כדאי שפשוט תוסיף כרטיס בקר נוסף (הכרטיס עולה בערך $100 ב-eBay).

מכאן נעבור למודול אחסון דיסקים..

אם שרת הקבצים שלך מורכב מ-2 דיסקים, אז כל מה שצריך הוא להכניס את הדיסקים למארז, לסגור 4 ברגים, לחבר חשמל ו-SATA ולהתחיל לעבוד. הבעיה מתחילה אם אתה מכניס יותר מ-2 ויש לך תקלה – תצטרך לפתוח את השרת קבצים ולהשבית אותו, ואם יש לך שרתי ESXI או שרתים/מכונות אחרות שעובדות עם NFS לדוגמא, תצטרך להוריד אותן קודם ולאחר מכן את שרת הקבצים, להתחיל לחפש מי הדיסק התקול, להחליף, לקוות שהחלפת את הנכון, להפעיל את המחשב מחדש, לראות שהכל תקין ואז להרים את שאר המערכות.

לא כיף.

תכירו את המודול הזה בעל השם המורכב cse-m35t-1b של SuperMicro. מדובר על מודול שנכנס בדיוק במקומות שבעבר הייתם מכניסים צורבים, וכיום בכל מארז MIDI ומעלה קיימים 3 מפרצים כאלו שלא מלאים בכלום. כדי להרכיב את המודול הזה, כל מה שתצטרכו הוא לפרק את הפלסטיקים מהמארז, עם פלייר (או קאטר) לעקם במארז את הבליטות שתופסות את הכונן שהיה אמור להיכנס שם ואז להכניס את המודול הזה, לחבר אליו 5 חיבורי SATA (הוא מגיע עם כבל שמצד אחד יש לו 4 חיבורי SATA ובצידו השני MINI SAS – בדיוק מתאים ל-LSI 9240 שדיברתי עליו מקודם 🙂 ), ו-2 חיבורי MOLEX  לחשמל עבור המודול.

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

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

המודול קיים בצבעים שחור ולבן ותוכלו לרכוש אותו ב-eBay (הנה קישור) במחיר של 450-500 שקל + משלוח לארץ. אותי הוא כבר הציל עם דיסק תקול.

פוסט My-Lab – לוחות אם לשרת קבצים

[box color="green" icon="info"]ברוכים הבאים לפוסטים בסידרת My-Lab. פוסטים אלו יופיעו מפעם לפעם בבלוג זה והם מיועדים לאיש המחשבים שרוצה להקים לעצמו בבית מעין "מעבדה" עם שרת אחד או יותר או שרת קבצים וכו'. בפוסטים אלו אני אכתוב הן מהצד של חומרה והן מהצד של איך להגדיר שרותים שונים בלינוקס או מערכות הפעלה אחרות – לשימוש המעבדה שלך. מי שמעוניין לראות את כל הפוסטים בנושא, יכול בשלב זה ללחוץ על הקטגוריה My-Lab מצד ימין בקוביית הקטגוריות והוא יקבל את כל הפוסטים בנושא. תודה.[/box]

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

בפוסט זה אני כותב לגבי שרת קבצים.

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

הבעיה עם ההצהרה לעיל, שהיא לא כל כך מתאימה למצבים מודרניים כיום. אם לדוגמא תשתמש במערכת קבצים ZFS, תרצה בוודאי להשתמש ביכולות שלה כמו Deduplication (על מנת שתוכן לא ישמר בצורה כפולה ויותר בדיסקים), דחיסה, snapshots, הצפנה, שרות CIFS (ל-Windows) או NFS (ללינוקס/ESXI) ופונקציות רבות אחרות, ואלו דווקא כן צריכים משאבי מעבד. נקודה נוספת היא עניין הבלאי והצריכת חשמל: מעבד של מחשב רגיל מלפני שנתיים ויותר צורך לא מעט חשמל כשהוא עושה עבודה, נוסיף לזה מאווררים שמסתובבים כל הזמן ושהשרת עצמו יעבוד 24 שעות ביממה, 7 ימים בשבוע, ואם אנחנו גם נפעיל שרותי Streaming (כמו Plex) על אותו שרת – נצטרך להבין שאותו שרת שנקים יעלה לנו את המחיר החודשי לתשלום לחברת חשמל.

לכן אני ממליץ לחשוב על רעיון קצת אחר.

בשנתיים האחרונות אינטל החלה להוציא מעבדי Atom לשרתים. בניגוד למעבדי Atom שמיועדים למחשבי קצה נמוכים או מחשבים ניידים, ה-Atom לשרתים הוא מעבד הרבה יותר חזק. יש יותר זכרון מטמון, יש יותר ליבות, יש תמיכה ב-VT לסוגיו השונים, ויש גם תמיכת חומרה בהצפנה. בנוסף – אין צורך במאווררים (יכול להיות שתצטרך מאוורר אחד או 2 לדיסקים הקשיחים במארז, אך זהו עניין אחר). אני אתרכז ב-2 מעבדים, ה-Avoton C2750 וה-Rangeley C-2758. יש מספר הבדלים קטנים בין 2 המעבדים. צריכת החשמל שלהם – מזערית, וגם כשהמעבד נמצא בצריכת 100% עם כל הליבות, הוא לא מושך יותר מ-20 וואט. תשוו את זה לכל מעבד דסקטופ אחר.

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

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

ישנם לא מעט אנשי מחשבים שיעדיפו להקים שרת קבצים עם דיסקים רבים על פני כמות קטנה של דיסקים קשיחים גדולים (יתרונות כמו מחיר זול בהרבה פר דיסק, זמן rebuild יותר קצר, וסיכון קטן יותר). לקנות בקר דיסקים בשביל כמות של 5 דיסקים ומעלה הופך את עניין הקמת השרת למשהו קצת יותר יקר משחשבנו (תוספת של בערך 1300 שקל לבקר). אם אנחנו משתמשים ב-File System כמו ZFS, הרי שעניין צורך בבקר מיוחד הופך למיותר ואפשר להשתמש בחיבורי ה-SATA שעל לוח האם.

בחטיבת לוחות השרתים של חברת ASRock חשבו על אנשים כאלו והם הוציאו את ה-C2750D4I – לוח שמתאים בול לאנשים שתיארתי לעיל. יש לך לא פחות מ-12 כניסות SATA, עד 64 ג'יגהבייט זכרון, יש 2 יציאות רשת 1 ג'יגהביט + יציאת רשת שמשמשת ל-IPMI/KVM לשליטה מרחוק, ואפילו כניסת Serial (בכל זאת, מדובר על לוח שמיועד לשרתים). חלק מכניסות ה-SATA הם SATA-2, אך בין כה דיסקים קשיחים של SATA לא ממש מוציאים (פר דיסק) 6 ג'יגהביט. חיבור החשמל ללוח הוא ATX רגיל, והלוח הוא Mini-ITX, כך שלא יהיה מסובך להכניס אותו למארז מודרני. לקינוח יש גם כניסת כרטיס PCI-E X8, אם אתה רוצה להכניס כרטיס רשת כפול/מרובע כניסות לדוגמא.

הלוח הבא (תמונה מימין) הוא של חברת SuperMicro והוא דגם A1SAi-2750F. בדגם זה הזכרון הוא בצורה של כרטיסי SODIMM (עד 64 ג'יגהבייט), והיחודיות של לוח זה היא ביותר כניסות רשת – יש לך 4 כניסות של 1 ג'יגהביט פר כניסה + כניסת IPMI/KVM. טריק נוסף (שהוא יותר "סימן מסחרי" של SuperMicro) הוא כניסת USB שנמצאת על הלוח ומופנית כלפי מעלה, כך שאתה יכול להתקין את המערכת הפעלה על Disk On Key ולהכניס אותו לכניסה על הלוח ולנעול את המארז. כמות היציאות הנפרדות מתאימה למצבים שבהם אתה רוצה להוציא iSCSI בפורט אחד, NFS באחר ואולי לעשות Teaming/Aggregation או Fail Over.

הלוח הבא מתאים במיוחד לאלו שיש להם מספר שרתים בבית או בעסק והם מעוניינים להקים Firewall עצבני או נתב מתוחכם. גם כאן מדובר בלוח של SuperMicro והוא נושא את השם המסובך A1SRM-LN7F-2758. בלוח זה קיימים לא פחות מ-8 כניסות רשת, כאשר 7 מהם שמישים ל-LAN וכולם ניתנים לתכנות (Bypass, Passive וכו') ולא מדובר בבקר רשת יחיד כי אם ב-3 בקרים (4 אם נוסיף את ה-IPMI). בנוסף אפשר להתקין על הלוח כרטיס אחסון mSATA (יעיל אם אתם לוקחים את הלוח לבניית פתרון סגור עבור לקוח).

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

עוד משהו שקשור ללוחות, הוא ספק כח. נכון, לוחות אלו אינם צורכים חשמל רב, וגם הדיסקים הקשיחים לא צורכים הרבה חשמל, אך כשמפעילים מחשב כזה, צריכת החשמל בשניות הראשונות היא בשיא לשם הפעלת הדיסקים (Spin-Up), ולכן חשוב לשים לב לכמה וואט הספק תומך (עדיף ספק כח אקטיבי). אם יש לך לדוגמא 4 דיסקים, ספק כח של 300-350 וואט אמור לעבוד בלי שום בעיה (אני ממליץ על האתר הזה על מנת לבצע חישובים לגבי ספק כח). מצד שני, אם החלטת לאחסן כמויות ענק של סרטים על 20 דיסקים קשיחים גדולים, כדאי שתחשוב על ספק כח עם 4 ספרות בוואט..

אלו פתרונות שהם יחסית שווים את מחירם, אך זהו אינו המחיר הסופי. מארז פשוט וספק טוב יעלו יחד בסביבות ה-300-400 שקלים, ולכך צריך להוסיף כמות זכרון, וכאן כלל האצבע (אם משתמשים בפתרון מבוסס ZFS כמו FreeNAS או ZFS On Linux – יהיה על כך פוסט נפרד) הוא שעל כל 1 טרה דיסק (לפני בתצורת RAID/RAIDZ) יש להוסיף 1 ג'יגהבייט זכרון, כך שאם יש לך 5 דיסקים של 2 טרהבייט – אז יש לך צורך ב-16 ג'יגהבייט זכרון (חשוב להתחיל עם 4 ג'יגהבייט זכרון מינימום + 1 ג'יגה פר 1 טרה דיסק). שימו לב – אם אתם מזמינים לוח מחו"ל ומזמינים זכרון, תסתכלו איזה זכרון הלוח תומך. חלק מהלוחות כאן תומכים רק ב-ECC ואחרים מוכנים לקבל גם ECC וגם זכרון רגיל.

בפוסט הבא נדבר על דיסקים קשיחים.

Exit mobile version