ה-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 הבא: פרק 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, ציוד מומלץ וכו'.

Exit mobile version