כשה-"Raspberry Pi" ינצח בקרב התודעה

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

לכאורה, צה"ל ניצח, אבל אפשר לאמר שזהו הנצחון הכי בזבזני שיש..

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

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

וכאן, הבעיה הגדולה של צה"ל, הקשורה לדעתי לעיתים לעקשנות, להחלטות מוטעות של דרג פיקודי כלשהו או כל גורם אחר שתוקע את הכל – אין שום מחשבה על פתרונות בקצה הנמוך, בקצה שאני מכנה ה-"Raspberry Pi" (ה-Pi הוא רק דוגמא למחיר זול, לא ציפיתי שבפועל מחר צה"ל ידחוף בכל טיל קטן איזה Pi Pico עם כרטיס מיקרו SD).

מה שלעניות דעתי צה"ל צריך להתעניין – הוא פתרונות המבוססים על COTS (כלומר Commercial off-the-shelf – חלקים שניתן לרכוש בשוק). כשמנסים להפיל מל"ט של חיבזאללה  – אין צורך בדרישות כמו "עבודה בכל מזג אוויר" (בכל זאת – אם יש ערפל, או חושך או תנאי ראיה גרועים, גם הצד השני לא יכול לראות כלום, אחרי הכל – לא מדובר במלט"ים של רפא"ל), צריך למצוא פתרון שיכול לשבת על מל"ט קטן ופשוט. לדוגמא: לירות תרסיס דבק פשוט על כנפי מל"ט אויב. עם ספריות פיתוח כמו OpenCV וארכיטקטורת NEON שנמצאת כמעט בכל מעבד ARM, הלוח הנוסף שיורכב למל"ט הישראלי יוכל למצוא את הזווית הנכונה ולרסס בעצמו (או לעשות כל פעילות אחרת שתיבחר) ללא צורך בכך שמישהו יכוון אותו במדויק מחדר בקרה, וישנם עוד מקרים רבים, בהם שילוב של AI שקיים במעבדים (גם מעבדים זולים!) יכול לעזור בהקמת פתרונות לחימה זולים ואמינים. בונוס: אפשר לקבל בחזרה את המל"ט הצהל"י ולהשתמש בו שוב ושוב.

השאלה היא – האם בצה"ל ירימו את הכפפה? בטוחני ששימוש ב-AI קיים כבר בצה"ל ובכלים שונים, השאלה אם יבינו בצה"ל שאפשר גם להשתמש ב-AI להוזיל בצורה משמעותית מאוד פתרונות שנועדו להילחם בכלים זולים כמו מלט"ים. הגיעו הזמן שמישהו בצה"ל יבין שבעלות שעה אחת של F16, אפשר לקנות 2 מכולות של מלט"ים מדגמים טובים של DJI לדוגמא (וזה לפני הנחת כמות), והגיע הזמן לפתרונות פרופורציונאליים.

הבכיינות של FSF

ישנו ארגון שנקרא Free Software Foundation שמנסה לקדם את התוכנות החופשיות תחת כל עץ רענן, ולארגון יש גם דף שמסביר מדוע הוא אינו תומך בהפצות לינוקס רבות.

לאחרונה נוספה לרשימה הפצת Debian, דבר שיגרום למשתמשים ותיקים בקהילת הלינוקס להרים גבה. אחרי הכל, Debian תמיד היתה בברירת המחדל כוללת אך ורק חלקים חופשיים בקוד פתוח, אולם הסיבה של ה-FSF לביטול התמיכה בדביאן היא מוזרה לגמרי: ההפצה הנ"ל כוללת מאגר (REPO) בשם Contrib (וחשוב לשים לב: הוא אינו נכלל בהגדרות ה-REPO בברירת המחדל של ההפצה!) שכולל, השם ישמור, סקריפטים וכלים להתקין דרייברים וקבצים בינאריים אחרים שאינם בקוד פתוח.

כאן, לדעתי, מגיע השלב, בו הארגון הנכבד הנ"ל נראה כמנותק מהמציאות…

בין אם תיקחו ותקימו שרת, או דסקטופ או Laptop או כל מערכת לינוקס משובצת – תצטרכו את ה-blobs, שהם אותם חלקים שה-FSF מתנגד להם, אבל אין שום אפשרות להסתדר בלעדיהם. רוצה להשתמש ב-GPU שלך מעבר לשימוש סופר בסיסי ולא מואץ? אתה חייב את הקושחות הרלוונטיות, כנ"ל לגבי תאורת המקלדת, רוב מוחלט של ציוד ה-USB, כרטיסי רשת, כרטיסי קול, ועוד ועוד. מה שקורה הוא שבמהלך השנים הושגה מעין "הסכמה" עם יצרני חומרה, שהם יתמכו בלינוקס (בין אם ישירות ובין אם השכרת שרותי פיתוח דרייברים של SuSE או רד-האט, ולפעמים קנוניקל), אך את ה-Crown Jewls, החלקים הסופר חשובים וסודיים בדרייבר, הם ישחררו כקושחה בינארית בלבד, כך שהדרייבר יטען ויפעיל את הקושחה, ומשם בד"כ יהיו כלים ברמת User Space שיעזרו לנהל את הציוד.

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

הדרך היחידה כיום לגרום ליותר ויותר משתמשים לאמץ הפצות לינוקס (ולא חשוב איזו הפצה) היא ידידותיות ותמיכה כמה שיותר רחבה בחומרה. כיום, רוב המשתמשים לא יסכימו לקבל את התירוץ של "יצרן XYZ רצה לתרום דרייבר, אבל זרקנו אותו ואת הדרייבר שלו כי זה כולל קושחה/Blob בינארית בלבד", וחבל ש-FSF, ארגון שסייע רבות בתחילת הדרך בהתפתחות לינוקס (אוקיי, GNU/Linux), כיום גורם לרבים להתרחק ממנו.

האם NVIDIA פתחה את הקוד לדרייבר ה-GPU שלה?

החדשות שהופיעו באתרים שונים (לדוגמא: Phoronix) לפיו חברת NVIDIA החליטה לפתוח את קוד המקור של הדרייברים לכרטיסי ה-GPU שלהם – גרמו ללא מעט אנשים לחייך ואולי לאמר "ניצחנו", חברת NVIDIA נכנעה ופתחה את הקוד לדרייברים שלה!

אז זהו. שלא.

הדבר הראשון שכדאי להבין – זו הסיבה מדוע NVIDIA התעקשה להשאיר את הדרייברים כקוד סגור, והסיבה לכך קשורה להיסטוריה: NVIDIA קנתה חברות שונות והשתמשת בקניין הרוחני. בנוסף, NVIDIA חתמה על הסכמי רישוי שונים כולל השכרת פטנטים מחברות כמו S3, IBM וכו' הקשורים למימוש פונקציות שונות בדרייברים, והסכמים אלו אסרו על NVIDIA לפתוח את הקוד לחלקים אלו, כך של-NVIDIA לא נותרה ברירה ודרייברים ל-GPU ביתיים ומקצועיים – נשארו סגורים. לעומת זאת, בכל הקשור לציוד משובץ (Embedded) – ב-NVIDIA (עם דרייברים ל-Tegra, ה-GPU למערכות משובצות שלהם) התחילו הכל מאפס, כך שהם יכלו מהרגע הראשון לפתוח את הקוד לדרייברים, ואכן הדרייברים הללו נמצאים בחלקים השונים בלינוקס, כמו ב-Kernel, ב-Mesa ובמקומות אחרים.

אז מה בעצם השוני הגדול הפעם?

מה שקורה, הוא ש-NVIDIA פיתחה מיקרו מעבד חדש מבוסס RISC-V שנמצא בתוך ה-GPU (זה נקרא GSP) ואותו מעבד מבצע את מה שהדרייברים הקודמים עשו עם ה-CPU במחשב, במהלך איתחול ה-GPU כשה-OS עולה, רק שעכשיו הכל נעשה עם ה-GSP, באופן עקרוני:

  1. הדרייבר ב-Kernel מאתחל את ה-GPU ואת ה-GSP (ללא האיתחול, הדברים היחידים שאפשר לעשות עם ה-GPU זה בחירת מצב טקסטואלי ממה שנתמך דרך VESA, ומצב Frame Buffer mode, אם בא לך לשנן מחדש את קטלוג הקללות שאתה יודע..).
  2. הדרייבר מעלה קושחה סגורה ומוצפנת וה-GSP "לוקח פיקוד"
  3. בסיום, הכרטיס מודיע ל-Kernel לגבי מהות הציוד, כניסות, יציאות, פונקציות אפשריות, יכולות וכו'
  4. לאחר שהמודול הופעל בהצלחה, חלקים אחרים (User space) מתחילים לפעול מול המודול בזכרון

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

האם זה אומר שממחר בבוקר הדרייבר הפתוח הוא המענה החדש של NVIDIA? לא ממש. הדרייבר החדש הוא רק בראשית דרכו, יש לו עוד דרך חתחתים לעבור (והפעם כל יצרני הפצות לינוקס משתתפים בבניה ושילוב הדרייבר והכנת חבילות התקנה), כך שלבינתיים ממשיכים לעבוד עם הדרייברים הבינאריים הרגילים. בנוסף, ה-GSP בגירסה החדשה קיים רק בכרטיסים מבוססי Turing. שאר הכרטיסים הישנים יותר – ממשיכים לקבל תמיכה רק דרך הדרייברים הבינאריים הרגילים.

אז האם NVIDIA "ראתה את האור" בכך שהיא פותחת דרייבר חדש בקוד פתוח? רחוק מכך. אם תרצה לקודד וידאו, אם תרצה להעלות מהירות שעון של ה-GPU ואם תרצה להריץ קוד המצריך CUDA או OpenGL או דברים אחרים – תצטרך לעבוד מול החלקים האחרים (User Space) ש-NVIDIA משחררת כקוד סגור בלבד, ובשלב זה לא נראה ש-NVIDIA הולכת לפתוח את הקוד הזה.

ועוד משהו קטן לגבי המתחרה הגדולה של NVIDIA – חברת AMD. האם גרסאות הדרייברים בקוד פתוח שלהם נותנים בעצם יותר מעצם העובדה שהם פתוחים? לא תמיד. ב-AMD פשוט מחביאים את הפונקציות העיקריות והחשובות – בתוך קושחה בינארית מוצפנת. כמו ב-NVIDIA, רק שב-AMD החלקים הקשורים ל-User space – פתוחים. אגב, גם במקרה של אינטל, הדברים זהים למה ש-AMD מבצעים (אם כי גם שם יש חלקים סגורים, היי Intel Media SDK), ויש גם קוד חופף ל-AMD ואינטל בחלקים כמו Mesa וכו'.

לסיכום: NVIDIA מעולם לא חיפשה לעשות "דווקא" ולא היתה "אנטי קוד פתוח". אין שום כיף בכך שצריך לתחזק דרייבר משותף לכל מערכות ההפעלה, להכין קבצים בינאריים ולוודא שוב ושוב ששום דבר לא תוקע את ה-OS עקב באגים בדרייבר (ב-NVIDIA זוכרים את הלקח הכואב הזה בצורה חזקה מ-Windows Vista). אני מאמין שהם יפתחו לאט לאט גם את החלקים האחרים, אבל בכל מקרה, צריך לתת מחמאות ולעודד חברות שמחליטות לפתוח את הקוד לחלקים שונים (ולא מסתכלות על קוד פתוח כ"בית קברות" לפרויקטים שלא יתוחזקו לעולם).

כמה מילים על הדרייברים של NVIDIA וה"פריצות" החדשות

בשבועות האחרונים אנחנו עדים למגוון פוסטים של חדשות טכניות בהם אנשים שונים מפרסמים כי הם הצליחו "לפרוץ" את ההגבלה על מהירות HASH של כריית מטבעות וירטואליות (LHR) ש-NVIDIA הכניסו בכרטיסי GPU שונים. לקח יומיים עד שבאותם אתרים הופיעו החדשות כי ה"פריצה" היא לא יותר מאשר קובץ המכיל מספר סוגי וירוסים וסקריפטים שונים שרק מעמיסים תולעים ומזיקים למחשב.

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

כמובן שהפורצים התחילו לפרסם שלל הצהרות (כפי שניתן לראות כאן) עם איומים על NVIDIA שתפרסם "שחרור נעילה" של כרטיסי LHR ושלל דרישות אחרות – או שהם ישחררו דרייברים ועדכוני BIOS שיפתחו נעילות רבות ש-NVIDIA הכניסו על מנת להגביל את הכרטיסים השונים.

אז אחרי שראינו מה הפורצים רוצים, ומה ש-NVIDIA יכולים לעשות לפורצים, אולי כדאי יהיה להבהיר מספר דברים חשובים לכל אלו שמשתמשים בכרטיסים של NVIDIA לצורך כריה או שרוצים לשפר את ביצועי הכרטיסים שלהם:

  • חברת NVIDIA בעברה הרחוק, כלל לא חתמה ולא הצפינה את ה-BIOS לכרטיסיה, וכתוצאה מכך – סוחרים מפוקפקים רבים הצליחו לשים את ידם על כרטיסים ישנים, לשנות BIOS ולמכור את הכרטיסים הללו ככרטיסי GTX 1070, GTX 2060 וזיופים של כרטיסי NVIDIA אחרים, כאשר בתוך אותו כרטיס ישנו מעבד גרפי ישן מאוד. כיום, אם מישהו חושב שהוא קנה כרטיס גרפי במחיר מציאה וחושש שעבדו עליו, הוא יוכל להתקין את תוכנת HWinfo ולבדוק זאת, והתוכנה תתריע מיידית אם מדובר בכרטיס עם מעבד גרפי מזויף או אותנטי.
  • ב-NVIDIA משתמשים במספר טריקים שונים בכדי ליצור דרייברים לכרטיסים השונים. כך, לדוגמא, כל דורם שמבצע סקירה על כרטיס שלא שוחרר של NVIDIA, יקבל בדואר את הכרטיס, אך הוא לא יוכל להפעילו עד ש-NVIDIA לא תשחרר רשמית דרייברים לאותו כרטיס באתר יעודי סגור. כל מי שינסה לקחת דרייברים קיימים ולנסות לשנות אותם (לפי PCI ID לדוגמא) יגלה מהר מאוד שהדרייברים הקיימים פשוט לא עובדים על הכרטיס החדש והלא מוכרז. הסיבה: החלק ששונה בין הכרטיסים הישנים לחדשים נמצא, באופן מוצפן וחתום, על הקושחה שמגיעה עם הדרייבר.
  • חברת NVIDIA מאפשרת עבודה די בסיסית עם הכרטיסים שלה, כל עוד הכרטיס מופעל במהירות שעון בסיסית בלבד, וכאשר רוב פונקציות התלת מימד והקידוד/פריסת וידאו אינן פעילות במלואם – כל זאת ניתן לעשות בלינוקס עם דרייבר ה-Nouveau, וגם כאן – כל עוד יש קובץ קושחה אותנטי, מוצפן וחתום. הסיבה לכך: NVIDIA רוצה שלמשתמשים תהיה סביבה גרפית פעילה באופן מספק על מנת שהמשתמש יוכל להוריד בקלות בלינוקס דרייבר מלא ושיוכל להתקינו מבלי לעבור תהליכי "פליק פלאק" שונים.
  • תהליך יצירת וחתימת דרייברים, גם עבור שותפים עסקיים של NVIDIA, לא מבוצע Online אלא לחלוטין Offline בצורה הכי ידנית שיש ובשימוש מספר כלים בכדי לייצר דרייבר וקושחה – כשהם מוצפנים במפתחות יעודיים (ושונים: אפשר לדוגמא להריץ דרייברים של RTX ה"ביתיים" על כרטיסי GTX, אך לא לקבל את כל הפונקציות החזקות על הכרטיסים המקצועיים מסידרת A, לדוגמא).

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

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

הסיפור עם Senetic ודיסק קשיח שלא מגיע

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

ואז .. החלטתי להזמין דיסק קשיח מכני מדגם Ultrastar DC HC530 בגודל 14 טרהבייט. המחיר היה טוב מכדי לפספס (כ-914 שקל). הכנסתי את הפרטים, הזמנתי וחיכיתי לדיסק. תאריך ההזמנה: 28/1.

חלפו מספר ימים וב-8/2 הגיע אליי החשבונית המיוחלת עם Tracking של DHL. הוספתי את מספר ה-Tracking למעקב באפליקציה החביבה עליי (Track17) והמשכתי להמתין לדיסק. נזכרתי בזמנו ששוחחתי עם נציגה ב-Senetic שהבטיחה לי כל "זה יגיע תוך 5 ימים מהרגע שזה מגיע לארץ".

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

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

ה-Tracking נראה כך, לפי אתר DHL (לחצו להגדלה):

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

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

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

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

מוגש כחומר למחשבה.

סקירת וידאו: QNAP TS-253D

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

אודה ולא אבוש – המכשיר בהחלט הפתיע אותי לטובה (ואומר את זה אחד שעבר כבר כמה מכשירי NAS שלא הצליחו אפילו לעמוד במבחנים פשוטים של גיבויים, RSYNC או דברים כאלו!). הוא בהחלט נותן מספר פתרונות לגיבוי של תכנים שונים, הוא נותן שיתוף קבצים בצורה קלה מאוד, גם לאלו שלא ממש מבינים מה זה smb.conf או etc/exports/. הוא יודע לגבות מכונות מ-VMware ו-Hyper-V ללא תשלום נוסף, הוא יודע לגבות מהענן אופיס 365 או גוגל Workspaces, הוא יודע לשמש כ-Cache ל-Object Storage, הרצת מכונות וירטואליות, קונטיינרים, ואפליקציות מהחנות של QNAP, ועוד לא מעט תופינים.

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

להלן סקירת הוידאו שהכנתי. שימו לב – בימים הקרובים אקליט ואעלה (ברגע שאפתור את הבעיה עם המיקרופון שלי ו-OBS) מספר הדגמות דרך ממשק ה-Web.

תכירו: Raspberry Pi Pico

בשנים האחרונות הוציאה קרן Raspberry Pi מחשבים קטנים שיועדו בהתחלה לקהל צעיר שרצה להיכנס לעולם המחשבים. מחירי המחשבים היו נמוכים מאוד, מה שגרם לחברות רבות להסתער על ההצעות של הקרן, ולקרן להוציא גרסאות שונות שמתאימות יותר לשוק המסחרי (כולל כל ה-Compute Module). אחד הדברים הטובים שניתן לאמר על הקרן – הוא שהקרן לא שכחה את הקהל המקורי והיא אף הוציאה לאחרונה את ה-Raspberry Pi 400 – מקלדת שבתוכה מחשב, כמו המחשבים שהיו בשנות ה-80 המאוחרות ושנות ה-90 המוקדמות.

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

לפניכם מצד ימין ה-Pi Pico. מי שיסתכל מקרוב, יזהה משהו די מוזר: אין שום חיבורים למסך, יש חיבור מיקרו USB יחיד, נורת LED, הרבה חורים, כפתור, כמה שבבים ו.. זהו. מה זה?

ה-Pico, בניגוד לאחיו בסידרת ה-Raspberry Pi, אינו מחשב כללי מבוסס ARM (ולא, הוא לא מריץ לינוקס). מה שיש ב-Pico הוא בעצם מיקרו-בקר (Microcontroller) שמכיל כמה דברים, כמו מעבד +ARM-M0 דו ליבתי שרץ במהירות 133 מגהרץ, כ-264 קילובייט של זכרון סטטי, ו-2 מגהבייט אחסון Flash. הרעיון המרכזי כאן, שאין כאן OS כמו לינוקס, וכל מה שהבקר מריץ – רץ בזמן אמת.

ה-Pico עצמו לא יתן לך הרבה אם תרכוש אותו (הוא נמכר בזול: 4$ לחתיכה), הואיל ובברירת מחדל אין לך הרבה מול מה לעבוד, וזו בדיוק כל הנקודה של ה-Pico: את ה-Pico משלבים יחד עם חלקים אחרים (בשביל זה החורים בלוח) אם אנחנו רוצים לשלב סנסורים או אם אנחנו בכלל רוצים ליצור תקשורת כלשהי החוצה (ל-Pico אין WIFI או Bluetooth).

הקרן בנתה מיקרו-בקר שלראשונה פונה לקהל חדש – אלו שלא ממש חובבים/יודעים לכתוב ב-C ואף פעם לא תכנתו מיקרו-בקר. את ה-Pico אפשר לתכנת עם MicroPython שניתן להוריד למחשב, להתקין ל-Pico, וניתן בקלות לעבוד עם ה-Python, הן במצב REPL (כלומר – הכנסת פקודות וקבלת פלט בצורה מיידית דרך חיבור ה-USB של ה-Pico והתוכנה במחשב) או לשמור ב-2 מגהבייט Flash תוכנות פייתון ולהריץ אותן. כעת, כל מה שצריך זה הבנה די בסיסית בפייתון כדי להתחיל לתכנת מיקרו-בקר, וזו בהחלט גישה מרעננת.

אולם הקרן לא עצרה כאן ולא ניסתה להתחרות בלוחות של יצרנים אחרים, אלא להיפך: הקרן פנתה לכל ה"מתחרים" והציעה להם לבנות פתרונות שגם יתחרו ב-Pico וגם יתנו פונקציונאליות משלימה כמו תצוגה, אודיו, תקשורת, חיישנים ועוד, וחברות כמו Pimoroni, Adafruit, Arduino ואחרים – הכריזו על מוצרים חדשים שמבוססים על ה-RP2040 – המיקרו-בקר החדש של הקרן.

למי שתוהה איך המיקרו-בקר בהשוואה לאחרים: מדובר בסופו של דבר ב"מפלצת". אם נשווה לדוגמא מול Arduino Uno, אז ל-UNO מהירות השעון של המיקרו-בקר היא 16 מגהרץ עם ליבה יחידה בשעה שה-Pico הוא עם ליבה כפולה ורץ במהירות 133 מגהרץ. ל-UNO יש 32K אחסון Flash בשעה של-Pico יש 2 מגהבייט, זכרון ל-UNO יש 2K ול-Pico יש 264K, ומבחינת מחיר – ה-Pico עולה 4$. אפשר לקנות באלי-אקספרס UNO ב-3-5$, אך יש גם סיכוי די גדול שתקבל מיקרו-בקר מזויף. לכן, גם אם אתה חובב ומשתמש ב-Arduino, תוכל לרכוש בקרוב את ה-Arduino Nano RP2040 Connect (בתמונה משמאל) ותוכל להשתמש בכל הספריות והכלים שאתה רגיל אליהם.

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

קצת על הבדלים בין כבלי USB Type C

אחת הטכנולוגיות המדהימות בתחומי מחשבים שנכנסה לחיינו לפני מספר עשורים – היא טכנולוגיית התממשקות USB עם ציוד מסוגים שונים. זו הטכנולוגיה שסוף סוף "הרגה" חיבורים שונים שהיה צריך להתמודד איתם, החל מחיבורי ה-PS/2, חיבורים סריאליים, חיבורי מדפסות, וחיבורים אחרים (זוכרים SCSI??).

אבל, כמו תמיד, כשבונים מפרט לטכנולוגיה ע"י מספר חברות ובאמצע נכנסים אינטרסים, לחצים ו"כיפופי ידיים", יוצא סלט איום – כמו הסלט שקשור לשמות החיבורים, מהו "דור" החיבור ועוד. כך אפשר לדוגמא למצוא שיש USB 3.1 אבל בעצם יש ל-3.1 שני דורות, Gen 1 ו-Gen 2 כאשר Gen 1 יכול להעביר נתונים במהירות עד 5 ג'יגהביט ו-Gen 2 מאפשר להעביר נתונים במהירות מדהימה של 10 ג'יגהביט, אבל … אם אין כיתוב מדויק מהו החיבור עצמו בציוד או בלוח האם, ואם אין לך את הכבל המתאים – זה פשוט לא יעבוד.

וכאן מתחילה הבעיה המהותית: כבלי USB Type C נראים זהים אחד לשני. עם Thunderbolt לדוגמא אפשר להבדיל בקלות בגלל סימון הברק שקיים על החיבורים בכבל ובחיבור במחשב. עם USB, המקסימום שתמצא אולי, אולי, זה סימון קטן של "10" שמציין שמדובר ב-USB 3.1 Type C Gen 2, אבל גם את זה לא תמצא במחשבים ניידים רבים.

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

נתחיל בכבל USB Type C פשוט שניתן לרכוש בכל חנות מחשבים (שימו לב, כבל כזה כולל חיבור Type C בשני הצדדים). כבל כזה בדרך כלל יוכל להעביר מידע במהירות של עד 10 ג'יגהביט (תלוי אם ה-Port שאנחנו מחברים אותו תומך בחיבור Gen 2 מינימום) ויכול להעביר עד 60 וואט (W) חשמל מספק הכח. בחלק מהמקרים – מספרים אלו יצנחו מטה אם אנחנו מנסים לגרום לכבל להעביר גם מתח וגם נתונים (המספרים דינמיים, אבל מבחינת חשמל זה יכול לצנוח ל-9 וואט ולגבי מהירות נתונים – 5 ג'יגהביט ומטה). נקודה חשובה כשרוכשים כבל כזה היא אורך הכבל: ככל שהכבל יותר ארוך, מהירות העברת הנתונים תצנח למעט אם מדובר בכבל הכולל שבב בתוך חיבור ה-USB Type C בכבל עצמו – על כך אתייחס בהמשך פוסט זה.

אם אנחנו מעוניינים לחבר ספק כח בחיבור Type C אל המחשב הנייד, חשוב לבדוק כמה וואט (הכפלה של וולט X אמפר) הספק מציע. אם הספק מציע מעל 60 וואט, נצטרך כבל Type C PD – כבל זה יוכל להעביר עד 100 וואט, אך מבחינת העברת נתונים, המהירות בכבל כזה היא מהירות של USB 2.0 (כלומר – עד 480 מגהביט ברוטו).

אם אנחנו רוצים גם להעביר יותר מ-60 וואט וגם מהירות נתונים גבוהה, ישנן מספר חברות שמציעות כבלים כאלו (כמו UGREEN ואחרים), אך הכבלים הזולים מגיעים באורך כבל קצר – עד כמעט מטר (ברוב המקרים זה 80 ס"מ) ובדרך כלל הם יקראו בפשטות 100W PD USB C Cable (הנה דוגמא), כפי שאתם יכולים לראות בלינק – הכבל באורך 1 מטר אך הוא מסוגל להעביר וידאו 4K, נתונים במהירות 10 ג'יגהביט וחשמל 100W. כבל כזה יכול להתאים למקרים בהם רוצים לחבר מסך בחיבור Type C ללאפטופ קרוב. צריכים כבל באורך 1.80? יש את הכבל הזה, או את הכבל הזה, אך כפי שניתן לראות – אין מבחר רב, ולכן, בהתאם לצרכים – כדאי לרכוש גם כבלים קצרים (לתקשורת מהירה) וגם כבלים יותר ארוכים (טעינה עוצמתית).

בכל הקשור לכבלי USB Type C והעברת נתונים במהירות מעל 10 ג'יגהביט (USB 3.1 Gen 1 מעביר 5 ג'יגהביט, Gen 2 מעביר 10 ג'יגהביט, ו-USB 3.2 2X2 מעביר 40 ג'יגהביט) – כאן, לצערי, המצב יותר מורכב ומטעה – כבלים רבים המציינים כי הם מסוג USB 3.2 2X2 עם יכולת העברת נתונים במהירות 20 ג'יגהביט – הם לא יותר מכבלים שיכולים להעביר עד 10 ג'יגהביט (הנה דוגמא) ולכן אם אתם מחפשים כבל כזה (מתוך הנחה שהציוד שלכם אכן תומך במהירות 20 ו-40 ג'יגהביט) – יהיה מומלץ להסתכל על כבלים של Thunderbolt (ברוב המקרים זה יהיה תואם במהירויות הנ"ל, אך בכל מקרה כדאי לבדוק עם היצרן/המשווק של הציוד).

עניין חשוב נוסף הוא תמיכה בפיצול ב-USB Type C. יש לא מעט מפצלי USB שמוציאים מתוכם שלל חיבורים שלא קיימים במחשב הנייד (מספר חיבורי USB Type A, כניסה לכרטיסי SD, מיקרו SD, חיבור HDMI, חיבור Display Port ועוד). מפצלים אלו הם מעולים, אולם בדרך כלל כדאי לבדוק את הנקודות הבאות:

  • את חיבור החשמל למחשב הנייד יש להעביר דרך המפצל ולא ישירות למחשב הנייד. כך, ציוד אחר שמחובר ל-USB במפצל יקבל את החשמל הדרוש, וגם המחשב הנייד יקבל את צרכיו מבחינת חשמל.
  • אם צריך לחבר יותר ממסך אחד וברזולוציית 4K עם 60 פריימים לשניה דרך חיבור USB Type C – עדיף לחבר אותם ישירות מהמחשב למסך, הואיל וצריכת הנתונים שלהם גבוהה ורוב המסכים כיום עדיין לא תומכים בצורה מלאה ב-DSC (דחיסת העברת נתונים בין המחשב למסך), ואם ישנם מספר מכשירי USB הצורכים תעבורת נתונים גבוהה – נקבל תופעה של Frame drops.
  • אם יש למחשב חיבורי USB Type C ו-Thunderbolt, עדיף לחבר את המסך ישירות דרך ה-Thunderbolt.

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

בעל מצלמה/ות? אין צורך לרכוש עוד ועוד סוללות

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

אחד הדברים שחשוב לדעת לגבי סוללות ומצלמות במגזר הביתי/סמי-מקצועי – זה שיצרניות המצלמה מרוויחות אחוזים מרשימים ממכירת הסוללות. קחו לדוגמא את סוני בסידרת ה-6XXX שלה: עד ה-A6600 הוציאה סוני סוללות מיניאטוריות למצלמות, כך שאם היית רוצה ברצינות לעבוד עם המצלמה ולעבוד יום עבודה שלם איתה, היית צריך לגרור איתך לפחות 2-3 סוללות נוספות. סוני כמובן אינה היחידה עם הטריקים הללו, גם סוני, ניקון, פאנאסוניק, פנטקס ואחרות משתמשות באותו טריק.

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

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

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

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

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

גם כאן ישנה סוללת דמה, אך היא מחוברת לתקעי USB. מחברים חיבור USB אחד לתוך Power Bank ומתחילים לעבוד. חשוב להשתמש כמובן ב-Power bank רציני ואני יכול להמליץ בחום על ה-Power bank של חברת Xiaomi או Anker ועל הגרסאות של 20,000 מא"ש או 26800 מא"ש (ניתן לרכוש את גירסת ה-26800 של Anker מחברת באג בקישור כאן). פתרונות הכח הללו מחזיקים כמובן הרבה יותר זמן מכל סוללה רגילה שתכניס למצלמה, ואפשר לעבוד כך למשך שעות ארוכות, במיוחד אם רוצים לצלם Time lapse או צילומי כוכבים בלילה.

כיום, לכל מצלמה בחתך המשפחתי עד ה-סמי מקצועי קיימות סוללות דמה בשוק, רובן העתק של חברות כמו Tether tools ואחרות, כך שאם אתם חושבים לרכוש, בדקו מה אתם צריכים (גירסת חיבור לקיר או חיבור USB. את גירסת חיבור ה-USB ניתן לחבר גם למטעני USB רגילים, כל עוד הם מוציאים 5 וולט ויותר מ-2 אמפר באופן רציף. רוב המטענים החכמים (QI) יודעים לעשות זאת) ווודאו כי דגם המצלמה שלכם מכוסה!

נקודה נוספת וחשובה (לפחות במקרים של מצלמות סוני בסידרה 7, או 5XXX או 6XXX) – ישנן מצלמות שלא כל כך "מבינות" מה הן סוללות דמה, והן מנסות לחשב את אחוז הכח הנותר ולהציג אותו באחוזים, גם כשה"סוללה" תמיד כמובן תהיה טעונה (אם הסוללת דמה מחוברת דרך ספק לקיר לדוגמא) – וכך קורה שהאחוזים מתחילים לרדת. הכי חשוב: לא להתרגש מזה. בדרך כלל זה עוצר לאחר אחוזים ספורים, וגם אם תגיעו לאחוזים בודדים, כל מה שתצטרכו לעשות, זה לנתק את הסוללה ממקור הכח, להמתין מספר שניות, לחבר והופס – חזרנו ל-100%. אישית, זולת ירידה ל-94-95% לא היתה לי בעיה כזו, גם כששידרתי דרך המצלמה שידור דרך ה-HDMI למספר שעות ברציפות.

לסיכום: חבל לרכוש סוללות קנייניות במחיר יקר. סוללות דמה, בשילוב ספקי כח או Power Banks מודרניים יכולים לתת מספר גדול יותר של שעות עבודה וכל זאת ללא מורכבות מיותרת (יש חוט יחיד ל-Power bank לדוגמא, ואת הסוללה אפשר להכניס לכיס).

ה-NAS החדש

בשנים האחרונות היו לי מספר מכונות ששימשו כ-NAS ל-LAB שלי, ועל מנת להשאיר תשתית אופטימלית, צמצמתי את כמות המכונות שברשותי, כך שישארו רק מכונות שאני צריך, וכך במהלך החצי שנה האחרונה התפטרתי ממספר שרתים ומספר מכונות NAS שבניתי. מכונה אחת שירתה אותי בנאמנה במשך 8 שנים, וה-NAS האחרון שהיה רץ על שרת 2U של Supermicro – נתרם (ללא הדיסקים כמובן).

החלטתי לבנות מכונה חדשה, שהדברים החשובים לי בה היו:

  1. קיבולת גבוהה של דיסקים (הכנסתי בה 17 דיסקים, עוד 2 בקרוב)
  2. שקטה לגמרי
  3. נגישות מהירה לחלקים שונים כמו החלפת דיסקים/מעבד/זכרונות/כרטיסים וכו'
  4. בלי כל מיני "צעצועים" כמו RGB.

תודות לחברי היקר רפי אינשטיין, מצאתי את המארז האידיאלי – Antec P101 Silent שנמכר בארץ במחיר של 370 שקל. רכשתי את המארז, הוא הגיע והתחלתי להרכיב. להלן המפרט שאני משתמש במכונה:

  • מעבד: AMD Ryzen 2700 (תיכף אסביר מדוע)
  • זכרון: 64 ג'יגהבייט
  • לוח אם: ASUS X470-F
  • כרטיסי רשת: כרטיס רשת של Mellanox (דור שני) עם חיבורי +SFP ל-10 ג'יגה, וכרטיס רשת Broadcom NetXtreme BCM5715 (כרטיס עם 2 חיבורי 1 ג'יגה)
  • כרטיס תצוגה – GT 710 של Zotac (אני מאוד ממליץ על הכרטיס הזה. הוא נותן חיבורי מסך פופולריים – HDMI,DVI,VGA, והחיבור שלו הוא PCIe X1, כך שהוא לא יתפוס כניסות PCIe חשובות)
  • כרטיס Intel Optane 900p – הכרטיס הוא SSD מיוחד בגודל 280 ג'יגה. יקר (תציצו בלינק) – אבל שווה כל שקל אם אתם משתמשים ב-ZFS ובחיבור של 10 ג'יגהביט ומעלה.

מבחינת דיסקים, אלו הדיסקים שבפנים:

  • 8 דיסקים בגודל 6 טרהבייט של טושיבה מסידרת ה-Performance (כ-7200 RPM) – בהחלט סוסי עבודה
  • 6 דיסקים SSD SATA – סמסונג 860 EVO בגודל 512 ג'יגהבייט
  • 2 דיסקים SSD NVME מסוג סמסונג 960 EVO בגודל 512 ג'יגהבייט

(ברצוני להודות לחברת דגן מולטימדיה על הסיוע המהיר בכבלים ומפצלים – בלעדיהם הכל היה נתקע)

אחרי כמה שעות של חישובים וניסויים (אחרי הכל, ברגע שאתה מכניס כרטיס כלשהו, כמות נתיבי ה-PCIe הפנויים משתנה, ולפעמים יש גם "הפתעות". תודה מלאנוקס!), חיבור החלקים השונים – מגיע החלק הקריטי: מה להתקין על המערכת?

פתגם עתיק אומר "לכל 2 יהודים יש 3 דעות" – אז שאלתי לתומי וקיבלתי מגוון המלצות והצעות (רובם בהודעות פרטיות), אז להלן ההצעות ומדוע לא בחרתי בהן:

  • Proxmox, Xen Server, UnRaid – כל הפתרונות הללו מתאימים אם רוצים להריץ פתרון וירטואליזציה בראש ובראשונה על הברזל עם סבירות גבוהה שזה יהיה הברזל היחידי (כלומר "השרת היחידי"). במקרה שלי רציתי NAS שיהיה עצמאי ושיתן שרותי קבצים (ועוד מספר שרותים שירוצו כקונטיינרים עם Podman), כך שפתרונות אלו אינם מתאימים לי.
  • XPEnology – זהו פתרון בקוד פתוח של Synology והוא יכול להתאים ללא מעט אנשים, כל עוד הדרישות הן צנועות. במקרה שלי, אוטומטית הוא לא היה מכיר במחצית מהכרטיסים במחשב, אז הוא ירד מהאופציות עוד בהתחלה.
  • FreeNAS – זהו פתרון מעולה למי שמחפש פתרון "קופסתי פשוט" – כלומר קופסא שזורקים אליה כמות דיסקים, מתקינים FreeNAS, מבצעים כמה הגדרות פשוטות ומתחילים לעבוד. הבעיות עם פתרון כזה הן שמערכת כזו היא מצומצמת וקשה להוציא ממנה ביצועים משמעותיים (תאמינו לי, השתמשתי ב-FreeNAS במערכת הקודמת ובזבזתי ימים שלמים עליה) כשצריך מהירות גבוהה יותר מ-10 ג'יגהביט.
  • אובונטו – תהליך הטמעת ה-ZFS בהפצה זו הוא יותר "work in progress" וה-LTS (כלומר Long term support) זו בדיחה לא מוצלחת, למען האמת. מוותר על התענוג.

בסופו של דבר בחרתי ב-CentOS 8 (ליתר דיוק – CentOS 8.2.2004) מכמה סיבות פשוטות:

  • רקורד מוכח ב-Long Term: ה-NAS שהיה לי לתקופה של 8 שנים הריץ CentOS 6 (ששודרג בהמשך ל-CentOS 7) והוא נתן לי יציבות מעולה.
  • ZFS על CentOS – אחד הדברים הכי מנוסים והכי יציבים. לא מעט אלו שמריצים לינוקס עם ZFS מהמפתחים של ZFS on Linux (וכיום OpenZFS) מריצים ZFS על CentOS.
  • קלות התקנה: 3 פקודות. יבוא מפתח, 2 פקודות DNF – ויש ZFS במערכת.
  • לא חסר תמיכה.

יחד עם זאת: האם אמליץ על ה-OS הזה ל-ZFS לאנשים שאין להם נסיון בלינוקס או ZFS? לא. בוא נהיה מציאותיים: CentOS ו-ZFS מצריכים השקעה בלימוד דברים שונים, ואם מחפשים חיים יותר קלים (ולא מצפים לביצועים בשמיים) – אז FreeNAS ואובונטו הם פתרונות טובים.

מבחינת הגדרות, הגדרתי את הדברים כך:

  • 8 דיסקים מכניים הוכנסו ל-Pool בתצורת RAIDZ-2 (כלומר RAID 6 למי שלא מכיר את ZFS) כך שקיבלתי כ-43.7 טרהבייט מקום פנוי
  • 6 דיסקים SSD SATA הוכנסו ל-Pool שגם הוא בתצורת RAIDZ-2 כך שקיבלתי 2.78 טרהבייט מקום פנוי
  • SSD NVME אחד "הוקרב" לטובת ה-OS עצמו (כך שהוא אינו חלק מ-ZFS. יש היום תמיכת Boot ב-GRUB2 מ-ZFS אבל ליתר בטחון אני מעדיף שדיסק ה-OS יהיה עצמאי ולא כחלק מ-ZFS ואם הוא נדפק, דיסק און קי עם CentOS ו-ZFS יכול לשמש כתחליף חרום).
  • ה-SSD NVME השני חולק ל-2, כך שכל Pool מקבל 240 ג'יגהבייט כ-Cache.
  • ה-Optane חולק ל-2 כך שכל Pool קיבל 40 ג'יגהבייט ZIL. מכיוון ש-Optane 900p (והגירסה היותר מתקדמת שלו 905P או גירסאות ה-Enterprise – ה-P4800X) ניחנים ב-Latency הרבה יותר נמוך מכל SSD שקיים בשוק (הוא לא משתמש ב-Flash) – ביצועי הכתיבה – גבוהים.

אז .. איך הביצועים? להלן צילום מסך (לחצו להגדלה).

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

כלומר קצב הכתיבה נע בין 300-800 מגהבייט לשניה, תלוי מה הנתונים ותלוי אם ה-ZFS יכול לדחוס אותם (לדוגמא: קבצי VMDK שהם flat – יש לא מעט מקום לדחיסה, כך שבמקרים כאלו אני מקבל קצב כתיבה ממוצע של 770 מגהבייט לשניה). מבחינת קצב קריאה – אני מקבל רצוף בסביבות ה-700 מגהבייט לשניה (זה מה שקורה כשמנסים להכניס כרטיס רשת Mellanox ConnectX-3 לתוך כניסת PCIe 2.0, טופל בעת כתיבת פוסט זה)

וכך זה נראה במכונת Windows וירטואלית שרצה תחת vSphere 6.7 כאשר ה-Datastore מגיע מ-NFS V3 והתוצאות הן ללא טריקים של Cache, Write back וכו'.

עד כה המערכת רצה ללא תקלות, אך יחד עם זאת – יש לי עוד דברים לבדוק, כמו העניין הדי תמוה שכתיבה על הדיסקים SSD שנמצאים ב-pool משלהם – מהירות הכתיבה מגיעה עד 160 מגה במקום 550 מגה (לא קשור לכרטיס HBA כלשהו) ועוד כמה דברים פה ושם שאני רוצה לבדוק, לחבר למערכת ניטור וכו' וכו'.

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