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

הנה אחד הדברים שניתן למצוא שוב ושוב בפורומים שונים הקשורים ללינוקס: מישהו לוקח מחשב נייד (בדרך כלל מהשנה שנתיים האחרונות), מתקין לינוקס, ואז הוא מתלונן על דברים שונים שלא עובדים: ה-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.

פרוקסי קטן, אישי – ובזריזות

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

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

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

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

איך עושים זאת? די פשוט.

התקן במחשבך תוכנת SSH Client (אם יש לך Windows 10 אתה יכול לעקוב אחרי ההוראות כאן ולאחר מכן לפתוח CMD ולהריץ פקודת ssh. אתה יכול גם ב-Windows להשתמש ב-Putty ולגמור עניין. בשאר מערכות ההפעלה – זה כבר מובנה פנימית, יש צורך פשוט רק לפתוח טרמינל.

הכנס את הפקודה הבאה:

ssh -D 2345 -q -C -N [email protected]

החלף את ה-myuser לשם המשתמש האמיתי שלך, ואת ה-1.2.3.4 לכתובת ה-IP או כתובת ה-DNS של השרת לינוקס שלך. שאר הפרמטרים, למעוניינים לדעת: D- מציין איזה פורט אנחנו נשתמש לשם הפרוקסי, q- זה שהמערכת "תשתוק" ולא תציג הודעות, C- זה להפעיל דחיסה בעת העברת הנתונים, N- אומר שלא להריץ שום פקודות, רק לבצע Forward של הפאקטות. המספר 2345 הוא סתם מספר פורט שבחרתי, אתם יכולים לבחור לכם כל מספר מ-1024 עד 65535.

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

עכשיו הזמן להגדיר את הדפדפן. בדפדפן כמו Firefox יש להיכנס ל-Options לחפש את המילה proxy וללחוץ על כפתור ה-Settings. בחלון שנפתח נלחץ על הכפתור (עיגול) Manual proxy configuration ובשורת ההגדרות SOCKS host נכתוב localhost וב-Port נכתוב 2345. ליד השורה Proxy DNS when using SOCKS v5 יש ריבוע, לחצו עליו, ולסיום לחצו על OK לאישור.

זהו, אתם יכולים לגלוש. אתם יכולים לוודא שאתם מחוץ לישראל אם תבדקו את כתובת ה-IP שלכם מבחינה גיאוגרפית כאן.

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

  • זה לא יעבוד לכם אם אתם מחפשים לראות את התכנים ש-Netflix מנגישה לאמריקאים לדוגמא.
  • יכול להיות שהטריק הזה לא יפעל אצלכם בעבודה – אם ה-Firewall שלכם תנועה מבחוץ בפורטים לא מאושרים.
  • אל תהפכו את זה לשימוע קבוע – אם אתם שוכרים VPS או מכונה וירטואלית אצל ספקים שונים בחו"ל, יש מגבלת תעבורה ובעננים ציבוריים בשרותים כמו EC2 אתם משלמים עבור כל ביט יוצא. במקרים כאלו – לכו על פתרון VPN.

על Starlink שמעתם?

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

אחת משיטות החיבור הידועות היתה חיבור לווייני לחברות. בעבר (שנות ה-90) ספקי האינטרנט בארץ לדוגמא היו מחוברים דרך לוויינים לחו"ל וכך סופק האינטרנט ללקוחות (עם השהיות פנטסיות של 300 מ"ש מינימום וקצב תעבורה של צב גוסס, הוותיקים זוכרים זאת) עד שקמו פה מספר חיבורים עם סיבים לאירופה, יוון וכו' (מד-1, בזק בינלאומי וכו'). חיבור לווייני עד היום היא האופציה שמשתמשים בה כחיבור גיבוי במקרים, לא כחיבור עיקרי. המקרים בהם משתמשים בכך לחיבור עיקרי היא כשאין שום אפשרות לחיבור קווי או סלולרי כלשהו (מקומות נידחים, ב-ים, מטוסים ועוד) וחיבור כזה הוא יחסית טוב לדברים כמו גלישה באתרים, אבל לחלוטין לא לדברים שקשורים ב-Real Time (שיחות וידאו, צפיה בסרטים/קליפים וכו') מה גם שהחיבורים האלו נקראים Measured, כלומר אתה לא משלם על רוחב הפס אלא על כמות התעבורה ממך ואליך, והחיבורים הללו יקרים מאוד (קחו, תציצו, הם עדיין מודדים לפי Bytes!) כך שצפיה בוידאו ב-4K עלולה לסכן את כרטיס האשראי שלך..

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

מכיוון של-SpaceX יש הרבה מאוד שאיפות לדברים שפשוט לא קיימים כיום, החברה מחפשת כל מיני דרכים להרוויח כספים, וב-2015 הכריז מייסד החברה, אלון מאסק, על משהו חדש – לוויינים קטנים שישהו בגובה נמוך (550 קילומטר) ושאיתם החברה תקים MESH לאספקת שרותי אינטרנט במחירים הרבה יותר נמוכים ממה שקיימים כיום בשוק (הכוונה מ-לוויינים, לא ממש להתחרות באינטרנט הקווי). לשם כך החברה ביקשה וקיבלה אישור להציב במסלול כדור הארץ הנמוך עד כ-42,000 לוויינים קטנים במשך 8 השנים הקרובות. סביר להניח שהכמות לוויינים ש-SpaceX תשגר יהיה נמוך יותר ותלוי בצריכה, כמות משתמשים, רוחב פס וכו'. השרות החדש נקרא Starlink.

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

עד כה שיגרה SpaceX כ-120 לוויינים קטנים והחברה מתכננת לשגר כל שבועיים עוד 60 לוויינים (כולם מריצים לינוקס, אגב. חבילה של 60 לוויינים נראית בתמונה משמאל, לחצו להגדלה). ההערכה היא כי המערכת תהיה זמינה Online לתושבי ארה"ב תחילה – בסוף שנת 2020 עם זמינות מוגבלת לאזורים מסויימים. אלו שירצו להתחבר, יצטרכו לקנות ציוד במחיר נמוך (הם מדברים על $200, סביר להניח שזה יטפס לכיוון ה-$400-500 והמחיר ירד מאוחר יותר).

הראשונים שהחליטו לקפוץ על העגלה ולנסות את המערכת היו .. חיל האוויר האמריקאי. הם שילמו ל-SpaceX סכום של 28 מיליון דולר כדי להתנסות במערכת. הניסוי היה לחבר Starlink למטוס ולמדוד קצב. הם לא יכולים לפרסם את ה-Latency אולם הם ציינו שהם הופתעו מה-Latency הנמוך ומהירות ה-DATA שהם קיבלו היא 610 מגהביט לשניה. כמו תמיד, חיל האויר האמריקאי לא מתחייב לאקסלוסיביות עם SpaceX והם רוכשים שרותים גם מהמתחרים על מנת שלא ליצור תלות בספק זה או אחר.

סביר להניח שברגע שהמערכת תהיה זמינה Online והשרות ינתן גם מחוץ לארה"ב (אירופה, אנגליה) – חברות HFT (כלומר High Frequency Trading) ירצו לראות מספרים ואם הם יאהבו את המספרים מבחינת תעבורה והשהיה – הם יבקשו לקנות "קווים" בין יבשות ומדינות ו-SpaceX תבקש מהם מחיר מפולפל וסופר רווחי על השרותים הללו (מי שיכול להציע Latency יותר נמוך מהמצב הקיים כיום, יכול להתעשר מהר מאוד!)

ומה איתנו כאן? סביר להניח ש-SpaceX תציע שרותים בסביבות 2022-2023 לאזורנו, אבל בשביל להתחבר נצטרך שמשרד התקשורת יבדוק את הדברים ויאשר, ספקי התקשורת בארץ יצווחו "געוואלד" ויקח זמן עד שיתקבל אישור לייבא טרמינלים לחבר ללקוחות פרטיים וחברות. אגב, מבחינת מהירות חיבור – Starlink מדברים על – עד 1 ג'יגהביט. מה שעדיין לא ידוע – האם החיבור יהיה Metered (כלומר תשלם לפי כמות מידע) או לא. אני מהמר שזה יהיה לפי חבילות.

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

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

נקודות לגבי שרתים לבניה עצמית

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

כפי שכתבתי בפוסט קודם בסידרת ה-My Labs: אני מעדיף לבנות את ה-LAB שלי בעזרת מחשבים עם מעבדי דסקטופ של AMD מסידרת Ryzen 7 2700. יש לך 8 ליבות ו-16 נימים, עד 64 ג'יגהבייט זכרון, ו-2-3 מכונות כאלו אמורות להספיק לכל LAB קטן..

אמורות.. חשבתי לעצמי..

ואז הגיעו כמה הצעות מעניינות. מצד אחד הרעיון שלי לגבי VDI זול (שמצריך מעבדים כמו Xeon E5 V4), או בקשות לגבי בניית סטורג' מבוסס 100 דיסקים 3.5", בקשות לגבי סטורג' משולב במתודת Scale Out, וירטואליזציה HCI במחיר זול, הקשחת חומרה, וגם בקשות כמו ניטור אפליקציות שונות ב-Scale out ב-Scaling של כמה עשרות Nodes אך לא במובן של אם "זה רץ", אלא מה ההשפעה מבחינת Latency, זמנים וכו'.

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

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

  • שרתי מותג בתצורת 1U או 2U ישנים הם אסון מבחינה אקוסטית כשמתחילים להרחיב אותם. קחו כל שרת 1U ותוסיפו כרטיס או 2. לא חשוב מה הכרטיסים שתוסיפו. ברגע שתפעילו את הכרטיסים ותפעילו מחדש את השרת, תראו איך המאווררים עולים בכמה דציבלים טובים מבחינת רעש, גם אם יש קירור ממזגן או שהמעבדים לא עושים כמעט כלום. הכרטיסים חוסמים חלק מהקירור, שבב ה-BMC שאחראי על ניהול כל הקירור וה-PWM של המאווררים – מחליט על דעת עצמו להעלות ברמה את מאמצי הקירור (למרות שאין ממש צורך. שרת יכול לעבוד יופי גם אם הטמפרטורה בשרת היא 25 מעלות לדוגמא). בשרתים 2U הבעיה פחות קיימת – עד שאתה מכניס כרטיסים של 40 ו-56 ג'יגהביט (לדוגמא: מסידרת ConnectX של Mellanox) – ואז שוב הדצבילים עולים. זו, אגב, אחת הסיבות מדוע שום ספק ענן ציבורי רציני לא רוצה להשתמש בשרתים כאלו – הם בנויים ברמת Engineering של "כיסוי תחת" מושלם, למרות שהציוד יכול לתת יותר ולעבוד בטמפרטורות יותר גבוהות (מה שחוסך לספק הענן כסף בקירור).
  • אחת הבעיות הנוספות בשרתי מותג היא שהטכנולוגיה ישנה למרות שטכנולוגיה חדשה יותר היתה קיימת בעת יצור השרת. קחו שרתים כמו R610 ו-R620 (או G7 ו-G8 של HPE) ותגלו שרוב תושבות ה-PCIe (אם לא כולם) הם PCIe 2.0 ולא PCIe 3.0. רוצה לחבר JBOD ב-SAS 12G? זה פשוט או שלא יעבוד או שיעבוד לאט כי השבבים של LSI ו-Adaptec לדוגמא דורשים PCIe 3.0.
  • בעיה נוספת שאינה נמצאת רק בשרתי מותג היא עניין הזכרון: אם אין לך מקלות זכרון DDR3 ECC כשכל מקל הוא 32 ג'יגהבייט, תוכל להכניס מקסימום 16 מקלות של 16 ג'יגהבייט ולקבל מהירות של 1333 מגהרץ. כל מקל נוסף שתכניס בתושבות הזכרון הפנויות – ומהירות הזכרון של כל השרת יורדת ל-1033 ואם אתה ממלא את כל התושבות (18 או 24, תלוי בלוח אם) – זה ירד גם ל-800 מגהרץ עלובים, כך שמקסימום הזכרון שניתן להשתמש בלוח אם עם מעבדי Xeon E5 V1 או V2 במהירות זכרון מקסימלית – היא 256 ג'יגהבייט זכרון עם מקלות של 16 (מחירי המקלות של 32 ג'יגהבייט זכרון עדיין גבוהים).

מהבעיות – נעבור לפתרונות:

  • מבחינת לוחות אם, אני מעדיף לעבוד עם Supermicro. הם מייצרים לוחות מעולים שידידותיים לשינויים. כך לדוגמא ניתן להוסיף תמיכת NVME לתוך ה-BIOS, גם כש-NVME לא היה קיים בזמן יצור הלוח. אפשרי גם להתקין Coreboot (בחלק מהמקרים, לצרכי אבטחה) במקום ה-BIOS הרגיל, וכל הציוד הקיים על הלוח נתמך גם בהפצות לינוקס ישנות ללא צורך בחיפוש אחר מודולים ודרייברים, כולל שינוי מהירויות מאווררים, שליטה על ה-IPMI ללא צורך להיכנס ל-BIOS וכו'.
  • אחת הנקודות שחשוב לשים לב בבחירת לוח אם – זה הגודל שלו. אפשר למצוא לוחות מעולים של Supermicro אך שהם בגודל EE-ATX. בניגוד לרושם הראשוני, הגודל במקום רבים מופיע כ-Extended EATX ואנשים לא שמים לב לכך (כולל הח"מ) ולוח כזה לא נכנס לשום מארז שרת (וגם לא ברוב מארזי ה-Tower, אלא אם בא לכם להצטייד במקדחה לחורר דברים, לחתוך פלסטיקים וכו' וכו'), ולכן אם רוצים לרכוש לוח אם כזה, כדאי לבחור ATX או E-ATX בלבד.
  • בחירת מעבדים – הנה נקודה שנשמעת די טריוויאלית אך היא אינה כה פשוטה שמסתכלים מקרוב. בלוחות SuperMicro מסוג X8D או X9D אפשר להשתמש ב-Xeon E5 V1 (שלא כתוב עליו V או V1) ובמקרה של X9D אם תכנון הלוח (כתוב כ-Revision על הלוח) הוא מגירסה 1.20 ויש BIOS אחרון – אפשר להשתמש ב-Xeon E5 V2. בלוחות X10D אפשר להשתמש במעבדי Xeon E5 V3 או Xeon E5 V4 עם זכרון DDR4 ECC. אתם לא מחפשים כח עיבוד רציני? אפשר או לרכוש לוחות עם האות S במקום D (ה-S מציין לוח מעבד יחיד ו-D מציין זוג מעבדים) ואז מכניסים מעבד אחד או שאפשר לרכוש 2 מעבדים כשבמעבד מצויינת האות L (הכוונה Low Power).
  • מעבדים וטכנולוגיה – סביר מאוד להניח שכל מי שרוצה לרכוש שרתים, ירצה להריץ עליהם פתרון וירטואליזציה כלשהו, ואין שום בעיה להריץ vSphere על כל המעבדים, החל מהדור ראשון ועד הנוכחי, אבל אם רוצים להשתמש בטכנולוגיית וירטואליזציה כמו SR-IOV (פוסט על הנושא בבלוג העסקי בקרוב) – חייבים מעבד Xeon E5 V4 ומעלה. אפשר לנסות על Xeon E5 V3 אבל המימוש קיים בערך ב-60-80% מהמקרים, תלוי בלוח, ב-BIOS וכו'.
  • מבחינת מארז ללוח אם לשם בניית השרת – ישנם לא מעט מארזי 3U זולים שניתן לרכוש מ-eBay והם יחסית קלים במשקל כך שלא יהיה צורך לשלם סכומי עתק על המשלוח. עם מארזים כאלו ניתן להשתמש בקירור יותר קונבנציונאלי למעבדים, ניתן להשתמש במאווררים 120 מ"מ שקטים וניתן להשתמש בספק ATX רגיל (מי שמעוניין יכול כמובן להכניס 2 ספקי Flex ATX לשרידות), ואם הולכים על מארז 4U, אפשר להשתמש בפתרון קירור עם רדיאטור בגודל 120 מ"מ לכל מעבד ולהשאיר את המאוורר האמצעי לקרר את את הלוח, זכרון וכו' – זה בהחלט מספיק.
  • מעבדים – ניתן למצוא מעבדים זולים מהסידרת Xeon הראשונה, V2 וגם חלק ממעבדי V3 (אלו עם ה-4 ליבות). מעבר לכך – המחיר קופץ. פתרון די פופולרי שקיים הוא לרכוש מעבדים מאותה משפחה מסידרת ES שהם בעצם Engineering Samples. חשוב לציין: אלו מעבדים שאין להם כיתוב שם רשמי על המעבד (כתוב מספר כלשהו ו-Confidential) ובחלק מהשרתים (במיוחד בשרתי מותג) הם לא יעבדו. המהירות שלהם תהיה פחותה מהמהירות הרשמית בהשוואה לדגם הרשמי ויכול להיות (סיכוי מאוד קטן) למצוא בעיית תאימות כלשהי באפליקציות מסויימות (לא נתקלתי בבעיה כזו). אין שום אחריות למעבדים כאלו מצד אינטל. גם כאן, Supermicro הם היחידים שאני מכיר שכל ה-ES עובדים בלי בעיה על לוחות האם של החברה. אפשר לקחת פחות סיכון ולרכוש את ה-QS שהם בעצם שוחררו זמן ממש מועט לפני היציאה הרשמית של המעבד, ושם מהירות השעון היא כמו המעבד הרשמי ואם היו באגים, המיקרוקוד שקיים ב-BIOS כבר מטפל בבעיה. בכל מקרה אני לא ממליץ לאף חברה לרכוש מעבדים דוגמאות ES או QS.

עוד דברים שיכולים לעזור:

  • חושב לעבוד במהירות 10 ג'יגה? (לפחות מהסטורג' שלך למכונות). במקום לחבר Point to point, יש Switch של חברת MicroTik ב-2 גרסאות. יש גירסה של 8 פורטים ו-16 פורטים, חיבורי +SFP. ה-8 פורטים עולה כמה מאות שקלים וה-16 פורטים עולה בסביבות ה-1300 שקל, כך שתצטרך לרכוש כרטיסי רשת וכבלי DAC/TwinAX. חשוב לשים לב – אם אתה עובד עם vSphere אז לא לרכוש כרטיסי רשת ישנים של Chelsio (הם לא נתמכים ואין VIB שנותן להם תמיכה).
  • מחירי UPS צנחו וכיום ניתן לרכוש UPS של 1000VA ולחבר אותו ל-3 מכונות למקרים של הפסקות חשמל קצרצרות (חצי דקה עד דקה גג, תלוי בעומס של המכונות שלך) או כמיישר מתח. מחיר של UPS כזה הוא בסביבות 400-500 שקל (תלוי היכן קונים).
  • אם אתה מתעקש לקחת שרתי מותג ורוצה מקסימום שקט, קח שרת 2U ואל תכניס בו דיסקים (למעט 1 או 2 ל-OS ואם זה ESXI – אז תשתמש ב-Disk On Key בחיבור שקיים לך על לוח האם). אחד הדברים ששמתי לב בכל הקשור לאיוורור – הוא שאם יש דיסקים, המאווררים חייבים ליצור לחץ סטטי גדול מאוד כדי להכניס מספיק אויר לקירור. אם אין דיסקים, לא צריך לחץ סטטי חזק והשרת יותר שקט.

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

כמה מילים על UPS

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

עד לפני חודשים ספורים ב-LAB שלי כל המכונות היו שרתי מותג ושרת האחסון מבוסס לינוקס+ZFS היה מכונת Core i5 פשוטה עם 32 ג'יגה זכרון ודיסקים. אם היתה מתרחשת הפסקת חשמל והחשמל היה חוזר לאחר זמן מה, כל השרתים היו מופעלים מיידית, אך מכיוון שלשרתים לוקח זמן רב להגיע למצב שהם מטעינים את ה-OS, הזמן ה"פנוי" הזה היה די והותר עבור מכונת ה-i5 לעלות, לבדוק שהכל תקין מבחינת ZFS, לייצא את ה-NFS ושאר שרותים, כך שכשהשרתים היו מתחילים לעלות, כל השרותים שהם זקוקים להם חיצונית – היו זמינים להם. את ה-UPS עצמו לא הייתי צריך כי רוב הזמן המכונות הוירטואליות היו סטטיות "ריקות" שמריצות Hypervisor (כך ש-reboot פתאומי לא היה ממש משנה משהו) ומכונות ה-VM היו עולות בין כה מחדש, כך שב-99% מהמקרים הפסקת חשמל לא היו ממש מזיקות לי. כל המערכת כולה, החל מהרגע שהחשמל חזר ועד שהכל למעלה – עולה תוך 10 דקות בערך.

UPS באופן עקרוני יכול לעזור במצבים מסויימים. אם יש לך מכונת דסקטופ עם GPU יוקרתי וביצעת Overclock לדוגמא למעבד ו/או לזכרון, המכונה תעבוד 24/7 ותצרוך הרבה יותר חשמל מהמצב הרגיל, מה שאומר ש-UPS של 1000VA (וולט אמפר) יחזיק לך אולי דקה או 2 גג. אתה יכול להגדיר את ה-UPS כך שלא יעשה כלום או שיתחיל את תהליך הכיבוי או להריץ סקריפט משלך כשאין חשמל. כמה זה עוזר? תלוי. יש מקרים ש-Windows לדוגמא בעת כיבוי מציג חלון שאומר שאפליקציות X,Y,Z פתוחות והחומר לא נשמר, מה שדי מבזבז את הזמן שנשאר בסוללת ה-UPS. בלינוקס ובמק המצב יותר טוב והמערכת כשמקבלת פקודת כיבוי מתחילה לכבות את השרותים במקביל עד לחלק ה-poweroff שמורץ ואז המכונה תיכבה מעצמה בצורה חלקה ללא נזקים.

בזמן האחרון ה-LAB שלי קיבל תפנית חדה ועד סוף חודש הבא (תלוי בשירותי השליחויות בחו"ל, מכס וכו') יתווספו ל-LAB שלי עוד 5 שרתים באורח קבע ושרת האחסון שלי יוחלף בשרת עם מעבד Xeon מרובה דיסקים ו-SSD. שרת כזה לא עולה תוך 45 שניות כמו השרת הנוכחי וכששרתי הוירטואליזציה השונים לא מקבלים שרותי NFS ו-iSCSI בזמן boot – הם גם לא מפעילים את המכונות הוירטואליות שאמורות לרוץ עליהם, ולכן מה שאצטרך לעשות בעצם זה לחבר את ה-UPS ל-Raspberry Pi ולדגום את ה-UPS. אם יש הפסקת חשמל, הוא ישלח פקודות דרך ipmitool כדי לכבות את המכונות ושרת הקבצים כמכונה אחרונה. חזר החשמל? הסקריפט ירוץ הפוך (שרת קבצים קודם כל, בדיקת שרותים, ולאחר מכן הפעלת שרתי הוירטואליזציה).

אז למי ששואל אותי לגבי עמדתי בעניין UPS – כן, אני ממליץ לכל אחד, במיוחד שזה עולה רק בסביבות ה-400 שקל ויכול להציל אותך מהפסקות חשמל קצרצרות (כמו שיש כאן באזור). למי שיש LAB לעומת זאת, אני ממליץ לעשות חישובי צריכה ולקנות את ה-UPS בגודל המתאים (אם יש לך נסיון בלינוקס אז אתה לא חייב את הגירסה עם הכרטיס רשת. יש בלינוקס את NUT ואתה יכול לעשות איתו את הכל ופשוט לחבר את ה-UPS לאיזה מכשיר Raspberry Pi או תואם). אני לא אהבתי כל כך UPS כי אני אוהב לחיות מבחינת טכנולוגיה "על הקצה" ואוהב לעשות Stress לציוד שברשותי (ושהינו בבעלותי) ולבדוק אם המערכת חיה גם אחרי אירועי הפסקות חשמל, חום וכו', אבל גם אני עכשיו עם UPS 🙂

כמה מילים על Stadia, שרות המשחקים החדש של גוגל

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

לשרות הזה קוראים Stadia ולמי שלא ממש קרא את החדשות או ראה את ההכרזה ביוטיוב, הנה כמה מילים על השרות ממה שכבר הוצג לציבור:

שרות Stadia יאפשר למשתמשים לשחק משחקים דרך הדפדפן. בהתחלה כמובן דפדפן כרום (ואחר כך דפדפנים אחרים יתמכו, אם כי דפדפן Edge עובר לאותה טכנולוגיה של כרום אז גם הוא יתמך, לא רשמית כנראה). המשתמש יוכל להיכנס ללינק ומבלי להתקין שום דבר, הוא יוכל לבחור את המשחק ולשחק אותו מבלי להוריד מאומה. בנוסף יהיה אפשר לשלוח לחברים לינק למשחק ספציפי וגם לקטע מסויים במשחק עצמו. עוד משהו נחמד – תוכלו לראות ביוטיוב שידור חי של משחק ואז להצטרף כשחקן נוסף באותו משחק (אם המשחק תומך כמובן ב-Multi Player). התמיכה אינה רק בדפדפן כרום אלא גם בטלפון הסלולרי, בטאבלט, בכרומבוק וגם על מסך הטלויזיה הגדול שלכם. במקרים שלציוד אין תמיכת Touch או מקלדת/עכבר, ניתן יהיה לקנות ג'ויסטיק מיוחד שיתחבר ל-WIFI ומשם ישירות אל שרתי גוגל למשחק עצמו כך שההשהיה אמורה להיות מאוד מינימלית. מבחינת מערכות הפעלה – כולן נתמכות (כל עוד משתמשים בדפדפן כרום תחת אותה מערכת הפעלה).

מכאן, נעבור ל"מאחורי הקלעים".

גוגל מדברת על כך שתוכלו להתחיל לשחק תוך 5 שניות מרגע שלחצתם על לינק למשחק ובתוך ה-5 שניות המשחק לא רק יתחיל, הוא יעבוד ברזולוציה עד 4K, ב-60 פריימים לשניה ו-HDR (תירוץ מעולה לשדרג את הטלויזיה בסלון! כמובן שמפרט HDR הוא דבר פתלתל כמו נחש, אבל לזה אתייחס בפוסט אחר). תהיה כמובן אפשרות לרדת לרזולוציית Full HD במדינות שבהן הספק אינטרנט סופר כמות ג'יגהבייט תעבורה בחודש וקונס על חריגה – או שהמכשיר אינו תומך ב-4K.

אחד הדברים המוזרים שלא ראו בהכרזה זה את החברות המשתתפות או אלו משחקים יהיו זמינים, וגם לא עניינים פיננסיים (האם אתה "קונה" את המשחק והוא זמין לך אונליין לכל החיים +  גירסה להורדה למחשב, או שמדובר על מנוי במחיר Fixed לכל חודש?). את הקטע הפיננסי גוגל יצטרכו לפתור עם אולפני המשחקים, אבל לגבי זמינות משחקים – כאן הדברים שונים מעט ממה ש-nvidia לדוגמא מדברת במשחק ה-Geforce Now שלהם, והנה משהו שפורסם לגבי Stadia אבל לא פורסם לגבי Geforce Now: אי אפשר יהיה לקחת משחק של PC ולהריץ אותו על הענן. זה לא שזה בעיה להריץ Windows 10 על הענן, זה עניין הרשיונות שצריך לשלם למיקרוסופט, משהו שלא רק שיעלה את המחיר לצרכן הסופי, גם ספקי הענן לא מעוניינים בכך, ולכן – יהיה אשר יהיה, הדברים שאולפן משחקים יצטרכו לשנות במשחקים שהם ירצו שירוצו בענן הם:

  • להמיר את המשחק לרוץ על לינוקס. עם Geforce Now יהיה אפשר "להתחמק" בכך שיבוצעו שינויים על מנת שהמשחק ירוץ תחת Wine, אולם ב-Stadia המשחק (כנראה) יצטרך לרוץ לגמרי באופן טבעי על לינוקס, בלי אפליקציות "המרה" כמו Wine.
  • יהיה צורך לבעוט החוצה כל זכר ל-DirectX או OpenGL. ב-Stadia עובדים אך ורק על ספריית Vulkan. כאן, יכול להיות שאולי ב-Stadia כן יסכימו להשתמש ב-Wine עם ספריית DXVK אולם לספריה זו יש חוסר רציני בתמיכה ב-DirectX12, אז שוב (וזו ספקולציה שלי) – יהיה כנראה צורך להמיר את המשחק להשתמש בספריות Vulkan.
  • אופטימיזציה "רצחנית" מבחינה גרפית למשחק. גוגל לא פירטו מה ה-GPU שיהיה בתוך אותם שרתים שיריצו את המשחקים, אך הם נתנו מספר פרטים שתוך דקות ספורות רבים מהקהילה הטכנית הצליחו לזהות מה ה-GPU יהיה מבוסס עליו: Vega 56 של AMD. ההבדל הגדול הוא שמשחקים יוכלו לדרוש מספר GPU שיעבדו יחד עבור אותו משחק. סביר להניח שה-CPU וה-GPU יהיו מאוחדים במעבד אחד (כמו בפלייסטיישן 4 ו-XBox One). מכיוון שגוגל יחד עם AMD יוציאו "תחנת עבודה" למפתחי משחקים – סביר להניח שנדע פרטים מדוייקים יותר בקרוב.

במילים אחרות: בשביל שמפתחת משחקים תוכל להציע דרך גוגל את משחק X, הם יצטרכו לבצע עבודה שאינה פחותה מעבודת המרה של משחק לפלייסטיישן (פחות או יותר) עם אופטימיזציה לשמירת מהירות רציפה של 60 פריימים בשניה ב-Full HD וב-4K (ומאוחר יותר ב-8K עם 120 פריימים לשניה!)

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

כפי שציינתי לעיל – גוגל אינה היחידה שהולכת להציע את השרות הזה. nVidia הולכים להציע את Geforce Now ולפי השמועות, מיקרוסופט הולכת להציע משהו דומה (רק עם הרצת משחקים של ה-XBox) וכולם הולכים להציג את מרכולתם השנה או תחילת שנה הבאה.

התובנות שקיבלתי מה-LAB שלי

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

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

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

מה שאני כן ממליץ זה לבחור את אחת מהאופציות הבאות:

  • לקחת מחשב דסקטופ שקיים אצלכם, למלא אותו בזכרון (במידה וצריך), להתקין עליו כרטיס רשת (אני ממליץ על כרטיס המבוסס על שבבים של אינטל), לרכוש SSD זול ולהתקין לדוגמא ESXi (יש צורך בכרטיס הרשת הנוסף מכיוון ש-ESXi אינו תומך בכניסות רשת שנמצאים על לוח האם).
  • לרכוש מחשב מבוסס AMD Ryzen 7 (כמו ה-2700) ולמלא אותו בזכרון בהתאם לתקציבכם, SSD זול, כרטיס רשת – ולהתקין ESXI. במקרה הזה תקבלו פי 2 יותר ליבות בהשוואה למעבדים של אינטל ותמיכה ב-עד 64 ג'יגהבייט זכרון.

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

מכאן – נעבור לתובנות.

בקיץ האחרון היו לי מספר שרתים 1U ו-2U של חברות כמו Dell, HPE, IBM. כולם שרתים ישנים (מעבדי E5-2620 דור ראשון ושני) – והיו לי בין 3 ל-8 מכונות, תלוי בחודש ובדילים שהשגתי, מה שמכרתי ועוד. הסביבה שבא נמצאו השרתים היתה ללא מזגן ולפעמים נכנסו גם קרני שמש.

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

מחשבים – בין אם דסקטופ ואם מדובר בשרתים, יכולים לפעול בלי שום בעיה גם אם בסביבתם הטמפרטורה נעה בין 30-36 מעלות צלזיוס. דווקא במערכות דסקטופ ניתן לבנות את עקומת ה-RPM של המאווררים כך שיפעלו יותר לאט או יותר מהר בטמפרטורות מסויימות (פונקציה זו קיימת בתצורה סופר-בסיסית בשרתים תחת שמות כמו ECO, Silence וכו' אך מבלי להגדיר/לשנות מספרים).

ולהלן תובנותיי:

  • כל עוד מדובר במכונה שלא יבוצע לה Overclock ואין בה כרטיסי GPU, אפשר יהיה להרכיב לה 3-4 מאווררים (2-3 מקדימה בתצורת PULL, מאוורר מאחורה בתצורת PUSH), יחד עם המאוורר שמגיע עם המעבד – מכונה כזו לא צריכה מיזוג או תנאים מיוחדים (יש לי 2 מכונות דסקטופ כאלו שעובדות כך כבר 6 שנים).
  • מתוך הנחה (ולאחר בדיקות) שניצול ה-CPU אינו עובר את ה-60-70% – אפשר להתקין פתרון קירור של Noctua מסידרת ה-Low Profile (כל עוד יש את האיוורור שציינתי לעיל), כך שהמכונה תהיה שקטה גם בקיץ.
  • במידה ובונים מכונה ורוצים עליה שליטה מרחוק עוד ברמת הכיבוי/הפעלה – מומלץ לרכוש לוחות אם עם IPMI. במקרה של אינטל – קשה מאוד למצוא לוחות כאלו שמקבלים מעבדי דסקטופ, ומעבדי Xeon הם יקרים ולכן ניתן לוחות אם שתומכים במעבדי Xeon ישנים יותר (אני ממליץ E5 V2 ומעלה) או שניתן לרכוש לוח כזה עבור מעבד Ryzen מודרני.
  • שרתים מוכנים – ישן, אך לא ישן מדי: מאוד מפתה לרכוש שרת ישן בן 6-7 שנים בכמה מאות או ב-1000-1500 שקל כשכמעט הכל כלול (מעבדים, זכרון, רשת – אין דיסקים), אולם לא ניתן בשרתים כאלו להוסיף ציוד כמו SSD NVME, כרטיסי רשת מרובי כניסות וכו', וכמו כן מבחינת ביצועים – מעבד דסקטופ מודרני זול "בועט" בכל Xeon דור ראשון או שני (כשמדובר על אותה כמות ליבות ולפעמים כשב-Xeon יש כמות ליבות כפולה). ראו, אגב, הערותיי למעלה אם אתם חושבים להקים "LAB" שבעצם מבוסס על מכונה אחת.
  • אם אין לך בעיה שהמערכת לא תעבוד זולת שרותים בסיסיים בהפסקת חשמל ושכל המידע שלך בשרת האחסון לא יזוק כתוצאה מהפסקת החשמל – לא חייבים UPS. פוסט ופרטים על כך – בקרוב.
  • אפשר לבנות שרתים שקטים גם בתצורת 2U. וידאו ופרטים על כך – בקרוב.

הקיץ הזה אני אצטרך כפי הנראה (בהתאם לפרויקטים שיכנסו) מספר שרתים, שרת ה-ZFS העיקרי שלי יוחלף למשהו הרבה יותר מאסיבי (320 ג'יגה זכרון, 20 דיסקים קשיחים, Optane SSD ו-2 מעבדי Xeon וכנראה תקשורת במהירות 40 ג'יגה) ותהיה גם מערכת ניהול חכמה למקרים של הפסקת חשמל והפעלת שרתים עם שרותים בסיסיים שיפעלו ללא תלות בחשמל רציף. הכל יוקלט בוידאו ויפורסם ביוטיוב, פוסטים חדשים יופיעו בנידון וגם הקוד לניהול ישוחרר באופן חופשי ב-GitHub. אתם מוזמנים להירשם לבלוג (או לעקוב אחר הפייסבוק שלי או ערוץ הטוויטר שלי), ואני אשמח לקרוא את תגובתכם.

על Windows ומעבדים מעל 16 ליבות

בשנים האחרונות אנחנו רואים יותר ויותר מעבדים חדשים מ-AMD עם יותר ויותר ליבות במחירים מאוד מפתיעים, הן לתחנות עבודה והן לשרתים. להלן 2 דוגמאות:

  • מעבד AMD Threadripper 2990WX עם 32 ליבות ו-64 נימים עולה 1700$ (מיועד לתחנות עבודה)
  • מעבד AMD EPYC 7551P עם 32 ליבות ו-64 נימים עולה $2700 (מיועד לשרתים בעלי תושבת מעבד יחידה)

לשם השוואה: המעבד לתחנות עבודה ושרתים הכי זול עם 16 ליבות מאינטל (Xeon SP Gold 6130) עולה נכון להיום $1932. ההצעה הזולה ביותר מעל 16 ליבות של אינטל היא מעבד Xeon Gold 6140 וכיום מחירה הוא $2500, כך שבמחיר של מעבד אחד מאינטל אפשר לקנות מעבד עם כמות כפולה של ליבות לתחנות עבודה, ובתוספת של 200$ אפשר לרכוש מעבד לשרת עם כמות כפולה של ליבות (בהשוואה ל-6140 של אינטל).

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

אך מה יקרה אם נרצה לקנות מכונה כזו להריץ אותה כתחנת עבודה או כשרת Windows (לא וירטואלי)? צפו לביצועים נמוכים ב-30-50% בהשוואה ללינוקס עם אותם מעבדים.

כשאינטל שחררה את משפחת Xeon SP, אינטל הציגה בגאווה כמה המעבדים לשרתים (אז לא היה Threadripper) שלה הרבה יותר מהירים ממעבדי EPYC של AMD. סקירות עצמאיות הוכיחו שאינטל פחות או יותר צודקת (יש מספר מבחנים די תמוהים של אינטל ועל כך הופיע פוסט ב-Anandtech). רוב הסוקרים ציינו כי הבעיה של הביצועים קשורה לארכיטקטורת ה-NUMA של AMD.

שנתיים חלפו מאז ש-AMD הוציאה את משפחת מעבדי EPYC לשרתים. AMD הוציאה באותו זמן את משפחת ה-Threadripper דור ראשון (עד 16 ליבות) ואת משפחת ה-Threadripper דור שני (מבוסס על ארכיטקטורת +ZEN). עם הדור השני, AMD הוציאה את המעבדים 2970WX ואת 2990WX -האחד עם 24 ליבות והשני עם 32 ליבות. ההבדל בין מעבדים אלו לבין המעבדים ממשפחת EPYC – היא שמעבדי Threadripper משתמשים ב-4 ערוצי זכרון ולחלק מהליבות אין גישה ישירה לזכרון, בשעה שמעבדי EPYC מקבלים גישה ל-8 ערוצי זכרון.

המחיר הזול גרם ללא מעט אנשים להתעניין לראשונה במעבדים עם 24 ו-32 ליבות ולא מעט אנשים רכשו אותם. המעבדים עובדים מצוין אולם מי שבחן אותם על Windows קיבל "הפתעה" – גם כאן, Windows הציג ביצועים נמוכים ב-30-50% בהשוואה ללינוקס (הבעיה אינה קיימת בדגמים כמו 2950X שהם עם 16 ליבות).

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

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

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

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

לכאורה ניתן להחליט משהו פשוט: לא רוכשים מעבדים של AMD אם מריצים Windows כמערכת הפעלה מרכזית "על הברזל", ואני יכול בהחלט להבין החלטה כזו, אולם הבעיה המרכזית אינה רק במעבדים של AMD. גם אינטל הולכים להוציא מעבדים חדשים עם אותה ארכיטקטורה כמו של AMD (הם יתחילו להופיע תחת משפחת Cascade Lake שתצא השנה). הבעיה היותר גדולה שקיימת בצד של מיקרוסופט היא תמיכה במעבדים מעל 16 ליבות ולא חשוב מי היצרן (גם אינטל). הסיבה שאף אחד לא התלונן עד כה? אף חברה שרוכשת שרת עם מעבדים מעל 16 ליבות לא מריצה ישירות Windows "על הברזל". עם Scheduler יותר טוב, גם מעבדים של אינטל ירוויחו מכך.

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