הבכיינות של 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.

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

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

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

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

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

יש לך אתר? הוא מעודכן?

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

יש כיום לא מעט ידוענים עם אתרים שניבנו עבורם ע"י כל מיני חברות בוני אתרים. הרבה משתמשים בוורדפרס, אחרים משתמשים במערכות CMS (כלומר: Content Management System) כמו דרופל ואחרות, בהתאם לעסק – בין אם זה קידום עצמי (וורדפרס מעולה לכך) או ביזנס (דרופל ואחרים גם טובים לכך).

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

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

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

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

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

ה-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 – אני בהחלט ממליץ ללמוד.

במזל טוב, VVC Codec הוכרז, מה זה אומר?

לאחרונה התבשרנו כי ה- Joint Video Experts Team (JVET) הכריז על Codec חדש, ה-VCC, או בשם היותר פופולרי H.266. תכנון ה-Codec במכון Fraunhofer הסתיים וכבר בחורף הקרוב יצא קוד אב-טיפוס לפענוח וקידוד תכנים בתוכנה (על לינוקס) – בעזרת Codec זה.

מה זה בעצם אומר?

כשזה מגיע לתכנון ושימוש ב-Codecs, יש לא מעט Codecs שקיימים בשוק. רובם לא מוכרים לאלו העובדים בתחום האודיו/וידאו אך בהחלט מוכרים בעולם התוכנה והחומרה. קחו לדוגמא Codecs כמו DIRAC או AV1 או או SNOW (אלו רק דוגמאות ספורות ל-Video Codecs) או OGG, Flac, Vorbix, CELT, OPUS, Speex (כולם Codecs ל-Audio) מוכרים לכם? כמה השתמשתם בהם? ברוב המקרים התשובה תהיה "לא משתמשים" – אולם אם אתם משתמשים ב-Whatsapp, Messenger, ותוכנות וידאו צ'אט אחרות – שם בהחלט נעשה שימוש בחלק מאותם Codecs שציינתי. ה-Codecs היותר מוכרים נמצאים בשימוש מתמיד בעולם הוידאו/אודיו המסחרי לשידור תכנים בזרימה.

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

בואו ניקח לדוגמא את ה-Codec הידוע H.265 (או כפי שהוא יותר ידוע – HEVC): הוא יצא לשוק ב-2013, אך האימוץ שלו בשוק היה מאוחר, הוא ומי שבעצם גרם לחברות "לברוח" מאימוץ שלו הוא הגוף שאחראי על רישוי ה-Codec כולל פטנטים וכו', ה-MPEG LA. כשה-Codec יצא, התנאים לשימוש בו היו מטורפים לחלוטין מבחינת סכומים לתשלום פר מכשיר/פר תוכנה שתשתמש ב-Codec, ומחירים מטורפים ליצרני מצלמות – הצליחו להניא את רוב ה"לקוחות הפוטנציאלים" משימוש באותו Codec למשך מספר שנים, עד שה-MEPG LA ירד מהעץ, ואז החל אימוץ של ה-Codec ע"י רוב החברות.

עוד Codec שמתחיל לתפוס תאוצה הוא ה-AV1. בניגוד ל-H.265, כאן הלקוחות הפוטנציאליים (יצרני ציוד, טלויזיות וכו' וכו') לא יצטרכו לשלם תמלוגים על שימוש ב-Codec זה, אך התחרות מול H.266 הולכת להיות מעניינת. בשני המקרים מדובר על Codecs תחרותיים שיודעים לחסוך בתעבורת נתונים – אך כולם מחכים לראות אלו גופים גדולים יעמדו מאחורי ה-Codecs, וכרגע – רוב החברות המסורתיות (יצרני מצלמות וטלויזיות לדוגמא) עומדים מאחורי שני ה-Codecs אולם גוגל נותנת יותר דגש ל-AV1 בשעה שאפל נותנת יותר גב ל-H.266, כך שיקחו כמה שנים טובות עד שנוכל לדעת מי ניצח במלחמת ה-Codecs הספציפיים הללו.

מה לגבי שימוש ב-Codecs הללו בעריכה? (הרי בסופו של יום, אם יצרני מצלמות יאמצו את ה-H.266, מצלמות בקצה התחתון והבינוני פשוט יקליטו רק ב-Codec זה) – כאן בדרך כלל הבעיה מתחילה להתעורר: משאבי עיבוד. Codecs כמו H.264/H.265 נתמכים על הסיליקון של כרטיסי ה-GPU ומעבדים שונים (בטלפון, מעבדים למחשבים, טלויזיות, טאבלטים וכו') ובכך ניתן להציג וידאו מקודד באותם Codecs שהשבבים תומכים – מבלי לצרוך יותר מדי חשמל (עניין חשוב במכשירים כמו טאבלטים וטלפונים), אולם ברגע שה-Codecs אינם נתמכים בצורה טבעית – יהיה צורך לפענח/לקודד את הוידאו עם המעבדים עצמם ובעזרת תוכנות ללא כל "סיוע" של המעבד, וזהו דבר שהוא לא רק איטי, הוא גם צורך משאבים מרובים, ולכן כל יצרני תוכנות עריכת וידאו אינן תומכות ב-Export ב-Codecs שאין להם תמיכת חומרה – עד שיוצאים פתרונות הכוללים תמיכה באותו Codecs כמו כרטיסים גרפיים חדשים, ומעבדים חדשים ל-PC, סלולר וכו'.

ומה קורה כיום?

כיום, כל יצרני החומרה השונים תומכים ב-H.264, H.265, וב-VP9 של גוגל (למעט אפל). כיום, התמיכה הולכת וגודלת (בקצב איטי) ל-AV1. סמסונג ו-LG הכריזו כי בטלויזיות ה-8K שלהם תהיה תמיכה לניגון וידאו AV1, חברת MediaTek הכריזה על מעבד Dimensity 1000 שיתמוך ב-AV1 עם ניגון עד 4K ב-60 פריימים לשניה ואילו חברת Chip&Media החליטה להתעלות מעל כולם ולהציע תמיכה וניגון קבצים בקידוד AV1 עם רזולוציה של 4K עד 120 פריימים לשניה (שימושי? לא חושב). הכרזה חשובה נוספת יצאה מחברת Amlogic על 3 מעבדים חדשים שיכללו תמיכה ב-AV1. הסיבה לחשיבות ההכרזה – כמעט כל יצרני מכשירי אנדרואיד TV (בטלויזיה עצמה או כסטרימר) כוללים את השבבים של Amlogic. ישנה גם חברות שהחלו להזרים וידאו ב-AV1 לחלק ממכשירי האנדרואיד, אולי שמעתם עליהן: נטפליקס ו-יוטיוב. (אתם יכולים לצפות בערימת קליפים שמקודדים ב-AV1 כאן. שימו לב שהרזולוציה המקסימלית של הקליפים היא 1080P). אתם יכולים גם להשוות בין HEVC ל-AV1 כאן.

הבעיה? אין חומרה שתומכת ב-AV1.

תמיכה ב-AV1 (פריסה בלבד) תהיה במעבדים בדור הבא של אינטל (Tiger Lake) וכפי הנראה שתמיכת חומרה ב-GPU תהיה בכרטיסי RTX 3XXX שיצאו כפי הנראה לקראת סוף השנה ותחילת השנה הבאה, ורק אז נראה תמיכה את תחילתה של תמיכה בקידוד קבצי AV1 בתוכנות עריכה (מי שמתעקש ורוצה להוציא AV1 כיום מתוכנות כמו Premiere Pro, יצטרך קצת להפשיל שרוולים ולעקוב אחר ההוראות כאן כיצד לחבר בין Premiere Pro ל-FFMPEG ומשם לקודד כ-AV1 (שימו לב שהמקום היחידי שמקבל קבצים כאלו זה יוטיוב וגם אז – עד 1080P, וצריך מעבד די חזק לעבד את הוידאו).

לסיכום: ל-Codec לוקח לפחות 2-4 שנים עד שדברים מתחילים לזוז להיכן שהוא, ולא חשוב אם יש לו גב מסחרי כמו MPEG-LA או Codec שעומדת מאחוריו גוגל וחברות רבות הצטרפו ואין צורך בתשלום תמלוגים. H.266 נשמע נחמד, אבל זו בדיוק גם הפינה של AV1 (לחתוך ב-50% תעבורה של H.265) ולכן אני מאמין שיהיה מאבק, ובכל מקרה לא נראה תמיכה משמעותית לאף Codec מבחינת חומרה לפחות עד השנה הבאה.

לאפטופים חדשים, דרייברים, לינוקס – דברים שצריך לדעת

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

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

יצרן מחשבים ניידים נמצא בדרך כלל בשיתוף פעולה עם מאות יצרני חומרה שונים שמעוניינים למכור חלקים ליצרן המחשב בכדי שישלב אותם. היצרן לא מייצר כרטיסון WIFI/Bluetooth, הוא לא מייצר קורא טביעות אצבע, הוא בטח שלא מייצר שבבים גרפיים. הוא מייצר עשרות דגמים של מחשבים ניידים בשנה שכוללים חלקים שונים. חלק מהשיתוף פעולה הוא בכך שיצרני החומרה השונים שולחים או קוד מקור או דרייברים, שיצרן המחשב חותם אותם ומכליל אותם ב-build של ה-image למחשב הנייד. ה-Image גם יכלול תוכנות שונות, קצת (או הרבה) זבל (כן, יצרנים רבים עדיין כוללים את הזבל התעשייתי שנקרא Mcafee Anti Virus) וכמובן גירסת Windows לאותו שוק עם תמיכה בשפה/שפות לאותו סגמנט. בזמן יצור המחשב, ה-Image "ישפך" ל-SSD שנמצא באותו מחשב נייד, ובהמשך הדרך היצרן מדי פעם יעדכן דרייברים בהתאם למה שהוא קיבל מיצרני החומרה השונים. במחשבים זולים מיצרנים סיניים עלומים, אתה לא תקבל שום עדכון לדרייברים ואם יש עדכון דרך Windows Update – זה מה שתקבל וזהו.

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

מכאן – נעבור ללינוקס.

בלינוקס, ברוב המקרים, אין לאן ללכת "להוריד דרייברים" (למעט במקרים מסויימים כמו כרטיסי GPU של Nvidia, אם רוצים לקבל את כל פונקציונאליות הכרטיס, בכרטיסי רשת יקרים כמו Solar Flare, ובכרטיסי FPGA ובעוד כמה מקרים). הדרייברים עצמם נכללים בדבר נקרא "ליבה" (kernel) שהיא חלק מהפצת הלינוקס. הדרייברים בלינוקס נקראים מודולים, הם קבצים קטנים וה-kernel יודע להטעין את המודולים יחד עם תתי מערכות אחרות שבודקות מה קיים מבחינת חומרה במחשב ומה להטעין (מערכת הלינוקס בדרך כלל כיום לא ממש "תזכור" מה קיים מבחינת חומרה, ובכל reboot התהליך יבוצע ברובו מחדש, כך שאם תעביר את הפצת הלינוקס שלך ממחשב אחד לשני, ברוב המקרים לא תצטרך לעשות כמעט כלום).

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

לכן, אם מישהו רוצה להתקין הפצת לינוקס, קודם כל כדאי לו לקחת disk on key, תוכנת rufus (ב-windows) וקובץ ISO בגירסת LIVE של אחת ההפצות שהזכרתי בגירסה האחרונה, ולהתקין אותה על הדיסק און קי, ולאחר מכן במחשב שאנחנו רוצים להתקין לינוקס – להיכנס ל-BIOS/UEFI ולבחור לבצע boot מה-Disk On Key ולהפעיל את המחשב כך שיפעיל משם את הלינוקס. גירסת לינוקס זו אינה כותבת מאומה על המחשב והיא מצוינת לצרכי התנסות מבלי לגרום נזק. אם הלינוקס במחשב שלכם עולה, העכבר וה-WIFI ושאר ציוד עובד תקין – אז אפשר להפעיל בלינוקס את ההתקנה. לאחר ההתקנה והפעלה מחדש, מומלץ להפעיל בדיקת עדכונים על מנת להתקין את ה-kernel, הספריות והאפליקציות שעודכנו מאז שוחררה הפצת הלינוקס.

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

כאן אני רוצה להוסיף חלק שקשור לסיוע, סבלנות, ראש קטן, ו"קריאת מחשבות".

בשביל להכיר לינוקס טוב, חייבים סבלנות. אנשים רבים מעתיקים שורות כמו תוכי מפורומים ומתפלאים למה דברים לא עובדים, וזאת בשעה שהם לא מודעים לכך שיש הבדלים ענקיים בין דברים כמו ` לבין ' לדוגמא, וזאת רק דוגמא אחת. דוגמא שכיחה נוספת לאלו שמכירים CMD מעולם ה-Windows היא ההבדל בין \ לבין / (בלינוקס, ה \ הוא בעצם "שובר שורה" וה-/ מציין כניסה לתיקיה, כמו \ ב-Windows), ולכן צריך להשקיע זמן בהבנת הדברים, מה שמוביל לעניין בקשות תמיכה: לא מעט בקשות תמיכה בקושי מקבלים סיוע הואיל והפונה חושב שכל מי שקורא את הבקשה מצויד במכשיר קריאת מחשבות, והפניה מנוסחת בלשון של "ניסיתי X וזה לא עובד". איך בדיוק יעזרו החברים? מערכות לינוקס אוהבות ליצור ערימות על ערימות של לוגים, ולכן פלט של 20-30 שורות אחרונות מה-journal (זו המערכת שכותבת בעצם "יומן" מכל הפעולות והפלט של שרותים שונים) כחלק מבקשת הסיוע – יכולה לעזור רבות (כאן ניתן לראות איך ניתן לשלוף את המידע עם פקודת journalctl ועם פרמטרים שונים). באותה הזדמנות כדאי לזכור שחלק מהתשובות שתקבל שוות בערך לתשובות שהחתולים שלי ינפיקו לך. זכור מה כתבתי: סבלנות.

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

בהצלחה.

סקירה קצרה: מאריך טווח WIFI מסוג AC1200 של D-Link

כ-גיק, יש לי בבית מספר רשתות תקשורת לשימושים שונים, אולם כשזה מגיע ל-WIFI, הכל נמצא על רשת פשוטה מוגנת בסיסמא. אין שום תוכן רגיש שעובר ברשת הזו (אין בה מצלמות, וכל חיבור SSH/Web פנימית – מוצפן) ואני די מרוצה מהרשת האלחוטית. הבית שלי אינו גדול, הנתב הראשי ל-WIFI נמצא בסלון ויש קליטה לא רעה בכל הבית…

… עד שזה מגיע לוידאו. שיחת וידאו מהטלפון הסלולרי שלי החוצה דרך מסנג'ר, סקייפ, וואטסאפ וכו' – וההערות על איכות וידאו גרועה – מופיעות, למרות שעוצמת האות נראית חזקה, ו-Speedtest מראה תוצאות טובות מאוד, הן ב-2.4 והן ב-5 ג'יגהרץ.

אז החלטתי היום לרכוש מאריך טווח Wifi. ביקרתי ב-iVory ושם הוצעו לי שלושה מכשירים, אחד של Edimax, אחד של TP-Link ואחד של D-Link. ה-D-Link היה הכי יקר ומכיוון שעבדתי בעבר עם המכשירים והקושחות שלהם, החלטתי לקחת אותו.

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

זהו, שאצלי דברים כאלו כמובן לא יעבדו כי הנתב שלי לא נותן כתובות DHCP (את זה אחד משרתי הלינוקס נותנים או שרת ה-Windows, תלוי לאיזה רשת) כך שבמכשיר הסלולרי הופיעה בהרשת מהמכשיר של D-Link (עם שם SSID חדש) אבל כשמנסים לרשת הזו .. אין אינטרנט. סביר להניח שאצל לקוח רגיל, הדבר הזה היה עובד יפה. אצלי כמובן, לא. אז חיברתי את המכשיר דרך כניסת ה-Ethernet, הוא קיבל כתובת IP מה-DHCP, נכנסתי דרך ממשק ה-Web והתחלתי להגדיר דברים. הממשק עצמו – בהחלט מרשים ורוב הדברים שצריכים – מוגדרים דרך Wizard ראשוני, כמו שם רשת, האם מדובר בעבודה של Client או Repeater וכו' וכו'. למשתמש שקצת מבין, 5 דקות יספיקו להגדיר דברים.

אחרי שהגדרתי את הדברים והתחברתי עם המכשיר הסלולרי, החלטתי לבצע בדיקות של Speed test פה בארץ. התחברתי עם החיבור של 2.4 ג'יגהרץ. המכשיר עצמו, אגב, נמצא במרחק של מטר אחד מימיני. המהירות שקיבלתי ב-Speed test? כ-13 מגהביט Down. התחברתי לנתב הרגיל שלי ישירות בצורה אלחוטית ב-2.4 ג'יגהרץ והרצתי בדיקה שוב – קיבלתי 61 מגהביט. לא חשוב מה ניסיתי לשנות ב-D-Link, קיבלתי בין 11 ל-15 מגהביט Down. עברתי לחיבור ה-5 ג'יגהרץ שה-D-Link מציע, הרצתי בדיקת מהירות מחדש וקיבלתי .. 70 מגהביט! (אני מנוי בחבילת 100 מגהביט של בזק). ביצעתי שיחת וידאו עם ידידתי, והיא טוענת שאיכות הוידאו עכשיו הרבה יותר טובה. היאח הידד!

האם הייתי ממליץ על מכשיר כזה כמאריך WIFI טוב? כן, אבל. לא ניסיתי להתעמק בעניין תדר ה-2.4 ג'יגהרץ (הממשק דוגם את כל הערוצים כשנכנסים לתפריט ה-WIFI ורוצים לבחור ערוץ – הוא מראה את ה-Workload ואת ה-Bandwidth, אצלי כולם היו די פנויים) ויכול להיות שאצל אחרים לא תהיה בעיה כמו שקיימת אצלי, אבל מצד שני אני צריך שהמכשיר יכסה טווח קטן – חדר אחר עם 2-4 מכשירים בחיבור אלחוטי. כל השאר – שיתחברו לנתב WIFI הראשי כך שתדר 5 ג'יגהרץ בהחלט יכול להיות פתרון עבורי. נקודה חשובה – מכשיר זה לא מתאים לחדרי ממ"ד. אם יש חדר ממד ורוצים לחבר מכשירים סלולריים, תצטרכו לסלול כבל רשת לחדר ולחבר מכשיר כמו המכשיר הזה, או להעביר אינטרנט דרך החשמל בבית (גם לזה יש ל-D-Link מספר מוצרים בארץ)

לסיכום: האם מכשיר זה שווה 182 שקל? לא בטוח. מדובר בגירסה רוסית של המכשיר, אין לו שום עדכוני קושחה, וההוראות עצמן (חוץ משלושת העמודים הראשונים) שמגיעות עם המכשיר – ברוסית (אני משער שיש גירסה באנגלית באינטרנט). מהנסיון שלי עם D-Link המכשירים שלהם די טובים ואם אתה חובב מערכות לינוקס משובצות ובא לך לשחק, כמדומני שיש לך שם נקודות להחלמה של חוטים כדי לקבל USB Serial ודי קל לשנות את הלינוקס שבתוכו. בשאר המקרים, אני חושב שעדיף לחסוך כסף (50%) ולקנות את הפתרון של Edimax או TP-Link.

לינוס, ZFS וכמה נקודות בנושא

הכל התחיל במייל שכתב לינוס טורבאלד, ה"אבא" של ליבת לינוקס (אוקיי, יש כאלו שיתעקשו שנקרא לזה GNU/LINUX) – הוא התייחס לנקודה ישנה וקצת כואבת, שאי אפשר להכניס קוד של ZFS ללינוקס על ה-Kernel של לינוקס. הרשיונות לא ממש תואמים. (בעיה ידועה שאנשים מעשיים לא מתייחסים אליה כיום, למען האמת: אם לקוח מגיע אליי ומבקש ממני לבנות לו מפרט לשרת לצרכי AI, מטבע הדברים אני אכלול כרטיסים של nVidia אבל הדרייבר ל-NVIDIA הוא בינארי לחלוטין, האם לפסול את הכרטיסים בגלל שהדרייבר הוא כזה? כמובן שלא, כי הכרטיסים המתחרים מציעים בערך מחצית מהביצועים).

לינוס מוסיף בסוף המייל כי ZFS זה "באזז" והוא מבקש "אל תשתמש ב-ZFS".

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

נתחיל מהמציאות הפשוטה: ZFS על לינוקס אינו פרויקט נסיוני. גם בגירסה הנוכחית (0.8.2 נכון לכתיבת שורות אלו) ובגירסה הקודמת (0.7.13) אין שום באג ידוע שגורם לקריסת מערכות. המערכת יציבה ונמצאת במקומות שונים פה בישראל ובעולם כמובן – בפרודקשן. לא מדובר באיזה פרויקט שמורכב מ-2 אנשים שמתחזקים אותה בשעות הפנאי שלהם ועושים טובה לאנושות שהם עונים לפוסטים/מיילים. יש לא מעט חברות מעורבות בפרויקט שתורמות קוד ותיקוני באגים נון סטופ, וזו אחת הסיבות שעמותת OpenZFS החליטה יחד עם כל החברות המשתתפות בפיתוח ZFS לפני שנתיים – להעביר את כל הקוד לגירסה חדשה שתיקרא OpenZFS ושתהיה מבוססת על ZFS for Linux עם כל השינויים שקיימים לפלטפורמות אחרות (BSD, Illumos, Mac OS וכו') כך שברגע שתצא גירסת OpenZFS 1.0 – היא תהיה תואמת לכל הפלטפורמות וכל קוד שיכנס יקומפל אוטומטית מול כל הפלטפורמות ואם הקוד לא רץ על אחת מהפלטפורמות, מגיש הקוד יצטרך לתקן זאת.

ZFS היא, בניגוד למערכות File systems אחרות בלינוקס – אינה רק file system, היא הרבה יותר, היא מייתרת את הצורך בהגדרות Partitions, מייתרת את הצורך בהגדרות ושימוש LVM, מפשטת תהליכים בשיתופים דרך NFS, iSCSi, CIFS/SMB, מאפשרת snapshots בצורה הרבה יותר טובה ממה ש-LVM נותן, הוא כולל מערכת Cache טובה וכשזה מגיע לתחזוקה שוטפת, זו המערכת היחידה שיודעת לעשות תהליך resilver (תהליך בו המערכת עוברת על כל המידע בסקטורים השונים בדיסק, בודקת אם הכל תקין ומה שהיא מוצאת לו תקין – היא מעתיקה למקומות אחרים תקינים, והכל ברקע), ויש ל-ZFS עוד פונקציות רבות שלא תיארתי ופונקציות בהחלט מעניינות שמפותחות בימים אלו, והכי חשוב – הכל רץ על לינוקס.

יש כאלו שיציינו שיש את BTRFS שזו מערכת מעולה. צר לי, היא לא כזו מעולה, גם כיום, בכל מה שקשור ל-RAID-5/6 ויש רק הפצה אחת שמתקינה אותה כברירת מחדל: SuSE. הפצות שמקובלות בגופים גדולים כמו RHEL, CentOS, Ubuntu או שלא כוללים תמיכה ל-BTRFS (כל מה שמבוסס על רד-האט) או שתצטרך לעבוד ידנית כדי להגדיר BTRFS. בהפצה כמו אובונטו 18 ומעלה, תצטרך לעבור חתיכת תהליך (בהצלחה עם זה, ואגב, והתהליך לא כולל שום שימוש בכל הפונקציות הרציניות של BTRFS כמו sub volumes במאמר) כדי לבנות מערכת עם BTRFS.

יש כמובן גם FIle systems אחרים כמו EXT4 ו-XFS שהן טובות, אבל כשיש בעיות כלשהן שהמערכת לא מוכנה לעבוד עם ה-Journaling – הסיוטים מתחילים (במיוחד ב-XFS. רק לפני מס' שבועות קיבלתי פניה מיצרן שרתים שהתקין ללקוח שלו מערכת SAP כשכל המערכת וה-DATA יושבים מקומית ולאחר כמה חודשים, המערכת קרסה. הוא ביקש ממני להציץ, והמצב מבחינת XFS היה כל כך קטסטרופלי, שההמלצה שלי היתה פשוטה: תפרמט ותשחזר מאפס מגיבוי) וכאן ל-ZFS יש יתרון בכך שהוא בודק אחת לשבוע או אחת לחודש (כפי שתגדיר ב-crontab) את תהליך ה-resilver ואפשר תמיד לראות את המצב עם פקודת zpool פשוטה.

אינני טוען ש-ZFS מתאים לכל שימוש. על מכונות וירטואליות, על מכונות דסקטופ/לאפטופ עם דיסק יחיד – אין ממש יתרון גדול ל-ZFS (חוץ מהפונקציונאלית של snapshots אם אתה רוצה לשדרג חבילות או את כל המערכת לגירסה חדשה ומעוניין לחזור אחורה אם יש בעיות, דבר שדי בעייתי לעשות עם LVM – במיוחד בהפצות כמו ubuntu, Debian ששם כברירת מחדל בהתקנה לא משתמשים ב-LVM) ויש בהחלט מקום ל-File systems כמו EXT4 או XFS.

לסיכום: ZFS זו מערכת רצינית שמצריכה מעט למידה של המושגים. הפצה כמו אובונטו 19 מאפשרת לך לראשונה להתקין מערכת לינוקס עם ZFS ב-root עם הצפנה, העברת snapshots מוצפנים, אבל חשוב לשים לב שזה נסיוני (בגלל זה החלוקה המוזרה לשני pools – התמיכה ב-GRUB2), יש קהילה משגשגת ויש גם חברות שמוכרות מוצרים ותמיכה ל-ZFS על לינוקס (והפצות אחרות). ZFS לא מתאימה לכולם ולא מתאימה לכל מצב, אך יחד עם זאת, ZFS זה לא buzz.