סקירה: ASUS Chromebox

גוגל מנסה לכבוש נתחים בשוק המחשוב האישי הביתי ולהיות המחשב השני או השלישי בבית. לשם כך הם בנו את Chrome OS, מערכת הפעלה שבנויה להציג רק דפדפן עם אפליקציות WEB. כמו תמיד, גוגל עצמה אינה מייצרת חומרה אלא נעזרת ביצרנים שותפים שמקבלים את מערכת ההפעלה ובונים מוצרים סביבה, כך ישנם בשוק Chromebook (שהוא בתצורת מחשב נייד), ChromeBox (קופסא עצמאית שאותה אסקור היום) ו-ChromeBase (מסך מחשב שכבר כולל את המחשב).

IMG_20140510_192558קופסת ה-ChromeBox של ASUS לא מכילה דברים רבים: הקופסא עצמה, ספק ריבועי שמתחבר לחשמל (ועלול לעשות בעיות – כל הספק "תלוי" על 2 הפינים של החשמל), וחתיכת פלסטיק כדי להצמיד את המחשב לחלק האחורי של המסך אם רוצים (חיבור VESA).

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

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

מבחינת מערכת ההפעלה – היא אמנם קלה לשימוש, אבל עדיין חסר לה את הליטוש הסופי. כך לדוגמא עדיין אין Anti Aliasing מלא וחלק כמו שיש ב-Windows 7 ומעלה (אם כי ב-80% מהאתרים לא תתקלו בבעיה כזו). תצטרכו עדיין להגדיר דברים כמו שפה ושעון, וחבל שגוגל לא הוסיפו Wizard ראשוני להגדיר את הדברים הנ"ל, אך יחד עם זאת, ברגע שמגדירים – זה נגמר. אפשר לתת למשתמש לעבוד כאילו זו היתה המכונה שלו מאז ומתמיד.

מבחינת ביצועים – כשפתוחים מספר קטן של טאבים, המערכת עובדת טוב מאוד, אולם כשמספר הטאבים גדל לעשות, המערכת תזחל בגלל כמות הזכרון הקטנה (2 גי'גה). החדשות הטובות הן שניתן לפתוח את הקופסא מלמטה (זה לא פוגע באחריות) ואפשר להרחיב זכרון עד 16 ג'יגה עם 2 מקלות. המחשב מגיע עם אחסון פנימי של 16 ג'יגהבייט אך ניתן להחליף את ה-SSD (בפורמט mSATA) לגדולים יותר וישנם גם גדלים של 256 ג'יגהבייט, כך שמבחינת הרחבה, למעט החלפת מעבד, ניתן לשדרג בצורה לא רעה את המכשיר.

מבחינת תוספים מותקנים, כרום OS מגיע עם תוסף Netflix מותקן פנימית כך שניתן לצפות ישירות ב-Netflix אם יש לך מנוי (אם כי לא ב-HD משום מה). מבחינת Flash המערכת מגיעה עם גירסה שלא קיימת בלינוקס ושלא מופצת ע"י Adobe: גירסה 13 שתומכת בהרבה יותר דברים (מבחינת Streaming). גם תוסף ה-Chrome Remote Desktop נמצא, כך שאפשר להתחבר למערכת אחרות בלי יותר מדי הגדרות.

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

מבחינת תחזוקה – אין ממש מה לתחזק. המשתמש איכשהו דפק את כל ההגדרות במחשב? כנסו ל-Settings, כתבו במלבן החיפוש את המילה wash ותלחצו על כפתור Powerwash – המערכת תפעיל את עצמה מחדש כאילו היא נקנתה הרגע.

עדכונים: כל 6 שבועות גוגל מוציאה עדכונים ל-Chrome OS, כך שהמערכת שלכם תמיד תהיה מעודכנת (העדכונים מגיעים מגוגל, לא מיצרן החומרה).

עכשיו נגיע לחלק היותר "עסיסי" – למתקדמים.

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

לאחר שתבצעו את המעבר, תוכלו להתקין תוכנה כמו Crouton שמאפשרת לכם להתקין דברים נוספים כ-chroot (כלומר שזה ירוץ תחת Chrome OS אבל ב-root וירטואלי נפרד). כך לדוגמא תוכלו להתקין XBMC או סביבות גרפיות כמו gnome, unity, ומערכות כמו cinnamon, ubuntu, debian ועוד, מה שהופך את המחשב הזה לכלי עבודה שעליו תוכלו להריץ דברים נוספים שלא מתאפשרים דרך Chrome OS. צריכים להתקין סקייפ או כל תוכנה לינוקסית אחרת? תוכלו לעשות זאת בלי שום בעיה, רק כדאי לזכור את מגבלת המקום על ה-SSD. במצב של מחשב חדש ישארו לכם קצת יומר מ-9 ג'יגהבייט של מקום.

למי מתאים מחשב כזה? לכמה מקומות:

  • עמדת גלישה בבית / משרדים
  • עמדת Video Conference (יש תמיכה במצלמות Web כמו לוג'יטק)
  • Thin Client לעובדים (יש תמיכת RDP ו-ICA, בקרוב יהיו תוספים של VMWare View ואחרים)
  • כל מקום שבו האפליקציות המשומשות באותו מקום הינן אפליקציות Web שיכולות להציג בצורה נאותה ב-Chrome

מחיר: $179 לגירסת Haswell Based Celeron. בהמשך יהיו גירסאות עם מעבדים i5 ו-i7 אם כי שם המחירים מפליגים צפונה.

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

DriveDroid – האפליקציה שעוזרת המון לאנשי סיסטם/IT

מי מאיתנו לא עבר את הדבר הבא בחיים: אתה צריך להתקין מערכת הפעלה על מחשב או שרת, או להפעיל תקליטור כלשהו על מנת לבצע Rescue למערכת שלא מצליחה לעלות. אתה מגיע למכונה, מגדיר ב-BIOS לעלות מ-CDROM/DVD או מאיזה דיסק און קי (או כרטיס SD) ו… "אליהו הנביא" של הצרות (כן, מרפי) מגיע לביקור, ואז הבעיות מתעוררות, הנה חלק מהן:

  • התקליטור לא צרוב טוב / לא נקרא טוב
  • כרטיס ה-SD החליט לא לעשות Boot
  • הדיסק און קי או כרטיס ה-SD שהיית בטוח שנמצאים אצלך בתיק – לא שם
  • ה-Boot הראשוני עבר בהצלחה, אבל אז המערכת מחליטה שההתקן שלך לא כולל את מערכת ההפעלה (קרה לי כמה פעמים עם CentOS) ולא ניתן להמשיך עם ההתקנה
  • ה-BIOS מחליט לא להכיר לך בדיסק און קי
  • השרת רואה את הדיסק און קי, אתה מקבל Prompt של Boot אבל הוא לא מוכן להמשיך (FreeNAS 9 על שרת DELL, גם שם הייתי)

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

מתסכל? קרה לכם? סביר להניח שכן.

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

בחור אחד בכינוי FrozenCow החליט לפתח משהו חדש ומאוד מעניין: הרי מכשיר האנדרואיד שלך תמיד איתך, אז מדוע שמכשיר זה לא יהפוך למכשיר שמאפשר Boot למחשבים/שרתים? 

זה בדיוק מה שאפליקציית DriveDroid עושה. היא מאפשרת למכשירי אנדרואיד (כן, גם ישנים עם אנדרואיד גירסה 2) שכבר עשו להם ROOT לחבר אליהם כבל USB פשוט מהמכשיר למחשב, להריץ את האפליקציה, להפעיל את המחשב, לבחור Boot menu (דרך ה-BIOS בד"כ מופיעה הודעה ללחוץ על מקש F מסויים כדי לקבל Boot Menu), לבחור את המכשיר שלך (הוא יראה תחת השם Linux) וזהו, מבחינת המחשב שלך זה יראה כאילו הכנסת דיסק און קי.

אבל האפליקציה הזו עושה הרבה יותר:

  • היא מאפשרת לך ליצור IMAGE ריק במכשיר, ואז ממערכת ההפעלה לצרוב לשם Image של ISO שאתה מעוניין
  • בבחירה של ה-Image אתה יכול להחליט אם אתה רוצה שזה יהיה Read/Write או Read Only (כן, שלא לדפוק את ה-IMAGE)
  • אתה יכול "לשפוך" כל גירסת ISO של Windows או Linux
  • אם אתה משתמש במספר גרסאות לינוקס אז אפשר ליצור מספר קבצי Image

ויש לזה עוד שיפור, אם כי הוא קצת מצריך החלפת Kernel לאנדרואיד שלך (יש כבר גרסאות Kernel מוכן למכשירי סמסונג פופולריים, או למי שמשתמש ב-CM 11 הלילי) שהופך את מכשיר הטלפון שלך למכשיר … DVD. במקרה הזה כל מה שאתה צריך זה פשוט לזרוק את ה-ISO איך שהוא למכשיר הטלפון שלך, להפעיל CDROM Emulation ומבחינת המחשב/שרת, הוא יהיה בטוח שהתקנת כונן DVD/CDROM. לחלק נכבד מהמכשירים יש צורך בלקמפל קרנל של המכשיר שלך ולהוסיף את הטלאים (אתה לא איש לינוקס רציני אם לא קימפלת קרנל 😉 ).

היום כבר יש כרטיסי מיקרו SD של 64 ג'יגהבייט (אפשר לרכוש אחד כזה כאן) ואם מכשירך לא תומך ב-64GB אפשר תמיד לרכוש כרטיס יותר בזול של 32GB (רשימת חנויות), אז במקום להסתובב עם דיסקים וכל מיני דיסק און קי קטנים, אפשר פשוט להכין פעם אחת IMAGES של המערכות הפעלה שאתה משתמש, ואז לחבר כבל, להפעיל את האפליקציה ולהשתמש. אחרי הכל, סביר להניח שאת הדיסק און קי או כרטיס SD אתה אולי תשכח, אבל את הטלפון/טאבלט שלך אתה לא תשכח כל כך מהר.

אישית, אותי זה כבר הציל פעמיים (האפליקציה מגיעה עם קישורים מובנים ל-ISO של GParted ולגירסאות לינוקס שונות).

לצפות ב-Netflix בקלות ובנוחות – מישראל

אם יש משהו שעדיין מעצבן אותי בכל הקשור לאינטרנט בארץ, זה איכות הוידאו שמשודרת באתרים ישראלים, החל ב"וואלה", "תפוז" וכלה ב-Mako ועוד. איכות ה-"HD" (גם אחרי שאתה מתקין את תוספי הפרסומות המפגרים הללו!) פשוט זוועתית, פרקים שמקודדים ב-Single Encoding ולא בקידוד כפול, פריימים עיקריים (K Frame) חסרים, אף אחד לא פותח גוגל לבדוק מה זה Quantizer כדי להבין איכות קידוד על חשבון פרמטרים אחרים (יותר/פחות חשוב), פיקסליזציה מכאן ועד הודעה חדשה כשרואים את זה על מוניטור איכותי ובקיצור – ישראל מפגרת שוב בעשור בהשוואה לארה"ב. כמובן שספקים שונים מייבבים על רוחב פס, ומידיעה שלי – שטויות במיץ עגבניות.

כשמסתכלים על Netflix לעומת זאת (גם Hulu+ במובנים מסויימים) – אז רואים איכות וידאו! 1080P זה באמת 1080P ולא וידאו קטן שנפרס על מסך מלא. גם מבחינת תוכן לא חסר לנט פליקס כיום בהשוואה לאחרים, ובקיצור – עם נט-פליקס שרואים סרטים וסדרות – נהנים. הדוגמא האחרונה התרחשה בשבוע שעבר, ש-Netflix נתנו לצפיה את הסידרה המעולה House of cards. לא פרק בשבוע, אלא את כל 13 הפרקים במכה אחת, כך שהיית יכול לארגן חטיפים, להזמין חברים, ולראות בכיף את הסידרה המעולה. אני ראיתי ומאוד נהניתי.

אבל כפי שכל אחד יודע, נט-פליקס לא ממש קלה לצפיה בישראל. 

ולכן פוסט זה יכול לסייע 🙂

ראשית, יש צורך לדאוג לאפשרות להגיע לאתר ולצפות בו מישראל. לא צריך לרכוש מנוי VPN, מספיק להתקין את Hola בדפדפן פיירפוקס או כרום. זה יאפשר לך להיכנס לאתר של Netflix. אם אתה רוצה לצפות בשביל לנסות, קח את הפרק הראשון של House of cards מכאן. אין צורך ברישום בשביל לצפות בפרק, רק לוודא שהתוסף של Hola רץ.

נהנית? עכשיו נפתור את הבעיות הבאות:

  • רישום ב-Netflix מצריך כתובת ומיקוד בארה"ב. אתה יכול לבקר בכל מיני סוכניות תיווך אוןליין שנותנות כתובות ומיקוד. תירשם לכתובת כלשהי בעת פתיחת המשתמש.
  • תשלום עבור המנוי: Netflix בודקת את כרטיס האשראי שלך ובמיוחד היכן הוא הונפק (לפי ה-4 ספרות ראשונות), כך שכל כרטיס שהונפק בארץ, גם פלטיניום, לא יעבוד. הפתרון? להירשם ל-Entropay. זהו אתר (בשיתוף ויזה העולמית) שמנפיק עבורך כרטיס אשראי וירטואלי תקף. כנס לאתר, תירשם (תכניס כתובת אמיתית בישראל, אין צורך להגדיר את זה כתושב ארה"ב), ולאחר הרישום תצטרך להכניס את פרטי כרטיס האשראי שלך ולהכניס לכרטיס הוירטואלי כסף, מינימום 20 דולר (זה 21, דולר אחד זה עמלה). לאחר שתקיש את הכרטיס שלך תצטרך לעבור הליך זיהוי עם מצלמת ה-Webcam שלך שבה תצטרך להציג את הכרטיס שלך מול המצלמה. אחרי התהליך הזה המנוי שלך יאושר ואתה תקבל כרטיס חיוב וירטואלי שתוכל להשתמש בו היכן שתרצה.
  • ברגע שיש לך את כרטיס החיוב הוירטואלי, כנס לאתר של Netflix והזן את המספר. אם אתה מנוי חדש, תקבל חודש חינם ולאחר חודש תחויב ב-8 דולר לחודש.

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

משתמשי לינוקס: לצערי Netflix משתמשים בטכנולוגיית Silverlight של מיקרוסופט (Mono לא יעזור) ולכן יש צורך להשתמש ב-Wine. אם יש לכם אובונטו, כנסו לכאן. אם אתם משתמשים בפדורה, כנסו לכאן. אם אתם משתמשים בגירסאות לינוקס 64-ביט, תריצו התקנה של Wine לפני כן (דרך DEB או איך שההפצה שלכם מעדיפה) ואז תשתמשו בהוראות הנ"ל. זה פתרון זמני. Netflix הוציאו אפליקציה וובית לכרום-בוק, ואני משער שתוך זמן קצר מישהו ידע איך לעשות לה port ללינוקס רגיל.

תהנו.

תכירו את ZFS

עדכון: בסוף הפוסט יש מספר הערות בעקבות ששאלו אותי מחוץ לבלוג.

(הערה: המאמר מיועד לאנשים שמבצעים עבודות IT על לינוקס, חובבי לינוקס, מתכנתי לינוקס, ואלו שלא כל כך מכירים מערכות הפעלה כמו Solaris):

כל מי שהשתמש בלינוקס בעבר הרחוק, הכיר את המגבלות הגדולות שהיו בכל הקשור לניהול שרתי לינוקס ודיסקים. בעבר לא היה LVM ללינוקס והיית צריך להגדיר דיסקים לאחר שבנית אותם כ-RAID בכרטיס יעודי לכך, היית צריך לפרמט אותם ולהגדיר Partitions לפי צורך מוערך שלך. בהמשך הדרך חברת Sistina Softwareכתבו את LVM ומאוחר יותר חברת Rackable Systems שדרגו את זה ל-LVM2, וה-LVM נתן לך פתרון יותר גמיש: אתה יכול ליצור Physical Volumes שמורכב מדיסק(ים) פיזי(ים) (נקרא PV ובמקומות אחרים זה נקרא גם PG) ואותם אתה יכול לחלק לווליומים לוגיים (LV), ואת ה-LV אתה יכול למפות לתיקייה כלשה. כך לדוגמא אתה יכול ליצור LV שעליו ישבו כל המשתמשים שלך, וב-LV אחר ישב הדאטהבייס שלך, וב-LV נוסף ישב ה-WEB שלך לדוגמא. כל LV אפשר להגדיל ולהקטין בצורה דינמית (אם כי יש מגבלות במיוחד בוירטואליזציה שאם יש לך דיסק יחיד ואתה מגדיל אותו, לא תמיד המערכת יודעת לזהות את הגדילה ולפעמים יש צורך ב-Reboot).

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

ב-Sun (עוד הרבה לפני שאורקל רכשו אותם, ולפיכך אני אתייחס ל-Sun כ-Sun ולא אורקל בכל הפוסט) לא כל כך אהבו את כל הבלאגן הזה, במיוחד הם, שהם מוכרים מפלצות ענקיות וכל ניהול הדיסקים וה-Volumes גורם כאב ראש לא קטן למנהלי סיסטם, ולכן צוות ב-Sun בראשות ג’ף בונוויק ומתיו ארנס החליטו ליצור מערכת קבצים חדשה, רק שהפעם המערכת לא תהיה שדרוג של משהו, אלא היא תוקם מאפס, תוך הפקת לקחם ממערכות קבצים אחרות שהיו ל-Sun ומערכות קבצים אחרות שהיו אצל המתחרים. במשך 5 שנים (מ-2001 עד 2006) היא נכתבה וב-2006 והיא שוחררה לראשונה ב-Build 27 של Open Solaris.

אין ספק שהחבר’ה בסאן עשו עבודה רצינית מאוד. מערכת ZFS יכולה לאחסן כמות בלתי נתפסת של 2 בחזקה 70 של בייטים, כלומר לא חשוב כמה תגדל ומה תזרוק עליה, היא תחזיק בלי שום בעיה, היום, מחר או עוד 20 שנה, אבל זה ממש לא היתרון היחידי שלה.

ב-ZFS סאן החליטו לעשות משהו רדיקלי ושונה מאוד. הם אמרו: בואו נזרוק את כל מה שיש לנו, את כל ענייני ה-Partitions וכל ניהולי הווליומים, ובדרך גם נזרוק את ה-RAID חומרה (כן, סאן ממש לא ממליצים לעבוד עם מערכי RAID בחומרה ומבקשים שתגדיר את הבקר למצב טיפש של JBOD) כך שאם יש לך שרת שאתה בונה שיהיה שרת קבצים, עדיף שתשים שרת 1U ותקנה JBOD שאליו תדחוף את הדיסקים – ונתחיל מאפס.

בשביל להבין את הפואנטה, נעזוב לרגע את עולם הדיסקים וכו’ ונעבור לעולם ה-RAM. אם יש לך שרת עם 16 ג’יגהבייט ואתה רוצה להרחיב ל-32 ג’יגהבייט זכרון. (אם לא ציינת בפני הספק איך אתה רוצה את הזכרונות, סביר להניח שכשתפתח את השרת, תראה שכל התושבות כבר מלאים במקלות של 1 או 2 ג’יגה, מה שמחייב אותך לרכוש מאפס זכרונות של 4 או 8 ג’יגה, תרגיש חופשי להוציא איזו קללה עסיסית). אתה תקנה זכרונות, תכניס אותם לשרת ואם לא עשית את השטות של להתקין מערכת הפעלה 32 ביט (טוב, למעט לינוקס, שם אפשר להשתמש בקרנל עם PAE אבל את הטריק הזה אי אפשר להשתמש ב-Windows לדוגמא) – המערכת תכיר ישר בזכרון הנוסף ולא תצטרך לבצע מאומה. אולי פה ושם תצטרך לשנות הגדרות של כמות זכרון מוקצית לדברים כמו JVM אבל בתכל’ס לא תצטרך לעשות כלום, והמערכת תשתמש בזכרון ותחלק אותם לאפליקציות.

בחזרה לעולם הדיסקים – וזה העקרון הראשי של ZFS. אתה לא צריך יותר Partitions ואתה לא צריך יותר LVM. הדבר הראשון שאתה מגדיר עם ZFS זה Pool או מה שנקרא Storage Pools ואליו אתה משייך את הדיסקים הקשיחים שלך ואת המערך שאתה רוצה (זוכרים? אין RAID חומרה). מערך הדיסקים יכול להיות בתצורות (אני אציין את הפופולריים, למרות שיש עוד):

  • RAIDZ – לנו זה יותר מוכר כ-RAID-5, כלומר 3 דיסקים או יותר עם בלוקים בתוכם ששומרים את מערך ה-RAID. אחד היתרונות הגדולים של RAIDZ על RAID-5 רגיל הוא שעם ZFS אין בעיה שיכולה לקרות במקרה של הפסקת חשמל/קריסת בקר RAID ושהמערכת לא הספיקה לכתוב את הנתונים על כל הדיסקים. RAIDZ יודע להתמודד יפה מאוד עם הפסקות חשמל וברגע שיחזור החשמל המערכת תדע בדיוק מה נשאר לכתוב וכל כתיבה/קריאה כוללת Checksum כך שבלוק נכתב/נקרא, הוא עובר בדיקה. לא הצליח? המערכת תקרא ממקום אחר ותדע גם לטפל אוטומטית בתקלה. בחלק ממימושי ZFS מחוץ לסולאריס (אני אגיע לכך בהמשך הפוסט) זה נקרא גם raidz1
  • RAIDZ2 – כמו RAIDZ, אבל עם עוד דיסק. זוכרים RAID-6? אותו דבר רק ששוב עניין ה-Checksum יודע למנוע בעיות במקרים של תקלות חשמל/בקר/דיסק וכו’.
  • Mirror – אותו דבר כמו RAID-1, וכפי שציינתי לעיל, יודע לטפל בתקלות.

לאחר שאתה מגדיר Pool אתה מגדיר file system, רק שעם ZFS הקמת ה-file-system היא כזו קלה ופשוטה, והיא כמו הקמת תיקיה חדשה (mkdir) רק ברמת file system, כלומר אתה יכול להקים מיד file system ללא צורך הגדרות גודל, מדוע? כי הכל נמצא ב-Storage pool. זה כמובן לא אומר שאי אפשר להגדיל גדלים, בשביל זה יש לך פרמטר כמו Quota (לעשות thick provisioning) או reservation לבצע Thin Provisioning. כך אתה יכול להגדיר file system עבור המשתמשים עם Thin provisioning או Quota (איך שתרצה) ומכיוון שהכל דינמי ואין צורך בשום מצב לעשות reboot, תוכל להגדיל ולהקטין כמות מקום חופשי כרצונך.

מבחינת הוספת והסרת דיסקים, המערכת ידידותית מאוד. הגדרת דיסק מסויים לעבודה ועכשיו אתה רוצה שהוא יהיה ב-miror? פקודה אחת והמערכת תבצע את השאר. צריך להחליף דיסק? פקודה אחת מורידה את הדיסק למצב Offline כדי שתחליף. רוצה להגדיל את מערך ה-RAIDZ? שוב, פקודה אחת ונגמר העניין.

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

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

עוד נקודה מאוד חשובה לשרתי פרודקשן היא שהמערכת חכמה לא רק לקבל דיסקים, אלא גם להבין מה הם הדיסקים. יש הבדל ענק בין כונן SSD לכונן SATA פשוט ב-600 שקל ו-ZFS יודע לנצל את סוג הכונן והאחסון כדי לתת את הביצועים הכי טובים בהתחשב במערכת. בתוך ZFS יש פרמטר כמו Cache כך שאתה יכול להוסיף ל-File system דיסק SSD שישמש כ-Cache לקריאה או 2 דיסקים שישמשו Cache לקריאה וכתיבה.

והשאלה גדולה שרבים שואלים: היא יציבה? התשובה היא כן, אחרי 6 ומשהו שנים שחברות רבות משתמשות בה, היא הגיעה לגירסה 33 ב-Solaris נכון להיום, והיא בהחלט מומלצת.

כל מה שכתבתי עד כה על ZFS זה על קצה המזלג. יש המון חומר על זה ברשת ואני ממליץ לקרוא ואולי גם להרים מערכת ולהתנסות איתה.

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

  • אם אתם רוצים להתנסות אצלכם בבית על המחשב שלכם מבלי לחפור יותר מדי ולשנות דברים, או אם אתם משתמשים בלינוקס וירטואלי, אפשר להתחיל עם ZFS-FUSE. אל תצפו לביצועים מדהימים כי זה ברמה של User ולא ברמה של Kernel, אבל זה מספיק טוב כדי להכיר את המערכת.
  • אם יש לכם מכונה עם מספר דיסקים ואתם רוצים שהיא תשמש כשרת קבצים בבית, אתם מוזמנים לנסות את ZFSOnLinux. כאן מדובר על גירסה שהועברה ישירות מסולאריס ויש גם DEB ו-RPMS והמערכת משתמשת בטריקים כדי להשתמש בתאימות בינארית לסולאריס (על X86) כדי שהקוד ירוץ ברמת Kernel. המערכת גם תומכת ב-DKMS כך שאם אתה חובב גירסאות שונות של Kernel לפי מצב מזג האויר, המערכת תדע לקמפל מודולים אוטומטית בזמן ה-Boot. רבים מדווחים על המערכת הזו כיציבה מאוד.
  • אם בא לכם ללמוד על מערכת הפעלה אחרת שקרובה ללינוקס וגם להתנסות עם ZFS מאוד יציב, כדאי שתכירו את FreeBSD 9.1 או אם אתם רוצים להכיר Solaris אז תכירו את Illumos ותורידו הפצת סולאריס שמתאימה לכם.
  • לחובבי ממשקי GUI/WEB אפשר להוריד ולנסות את Nexenta (בחרו את ה-Community Edition – היא חינמית ומוגבלת בכמה דברים, אבל היא מספיקה בהחלט לשימוש ביתי או מעבדה).

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

עדכון: בעקבות מספר שאלות שנשאלתי רציתי להוסיף את הנקודות הבאות:

  1. ZFS אינו מתאים למחשב נייד או למחשב בעל דיסק אחד. ZFS בנוי עבור שרתים ושם רואים את הגדולה שלו. אפשר לבצע כל מיני הגדרות על מנת לעבוד עם ZFS במחשב רגיל עם דיסק יחיד, אבל בסופו של יום, EXT4 יתן תוצאות טובות גם כך.
  2. שימוש ב-ZFS מחוץ ועם Solaris: אורקל לצערי חזרה לסגור את קוד הסולאריס לפני מספר חודשים (מי אמר טמטום מהדהד?) והגירסה האחרונה שקיימת בקוד פתוח היא גירסה 28 בשעה שבאורקל 11 זו גירסה 33. אם אתם משתמשים בסולאריס 11, לא תוכלו לייבא pools מסולאריס 11 למערכות לינוקס עם ZFS או Nexenta או כל גירסת ZFS אחרת, לכן עדיף לעבוד עם ZFS גירסה 28 כדי לקבל תאימות מלאה ולא עם סולאריס 11 (אלא אם אתם משתמשים שרכשתם סולאריס לציודים שלכם).
  3. אם החלטתם לממש ZFS ולהקים שרת קבצים עצבני, ודאו כי אתם עוברים על הלינק הבא כדי לבצע אופטימיזציה. ללא האופטימיזציה, הקריאה תהיה מהירה, הכתיבה תהיה איטית.

תכירו, חבילה חדשה: VPS Mini

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

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

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

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

וכאן מתחילה בעיה רציינית: כל ספק מבטיח שאצלו הכי בטוח, אצלו הכל פיקס, מוגן, מאובטח, אפילו זבוב לא יכול להיכנס לחדר שרתים בכלל! אבל מבחינת אבטחת מידע, אין שום דרך ללקוח לוודא שהספק דובר אמת. יש דברים שהוא יכול לבדוק (אם יש לו ssh באחסון השיתופי הוא יכול לבדוק גירסת קרנל, הוא יכול להריץ פקודת mysql כדי לדעת גירסה אחרונה, הוא יכול ליצור קובץ php עם הפקודה ()phpinfo כדי לדעת מה מוגדר ב-PHP), אבל הוא לא תמיד יכול לדעת גירסת הפצה איזו יש שם, איזו גירסת Apache, האם יש חומת אש רצינית או שיש איזו קופסה עם חוק אחד ANY ANY? בכל זאת, מה לעשות, אצל ספקים גדולים ובינוניים הלקוחות מדברים בפעם הראשונה באיש מכירות שמבטיח את השמיים והארץ, ולא תמיד הוא יודע על מה מדובר או האם באמת יש את הדברים שהוא מציין…עכשיו עם עניין מאגרי המידע, לקוחות צריכים להתייחס לדברים יותר ברצינות (כי בסופו של דבר אם הם לא ואם יפרצו אליהם והמידע יזלוג החוצה, לקוחותיו של אותו בעל עסק יוכלו לתבוע אותו על רשלנות). צריך לשכור איש אבטחת מידע, חובה לעדכן את התוכנות של החנות/אתר ויש עוד דברים שהרמו"ט מחייבת לעשות על מנת להגן על המידע..

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

שטר 100 שקל

תרשו לנו להציע את חבילת VPS Mini, שרת קטן (512 מגה זכרון, 10 ג'יגה דיסק, 5 מגהביט סימטרי רוחב פס, כתובת IP אחת, מריץ Linux בלבד) ש"תפור" בדיוק לאותם גורמים. הוא כמובן לא יכול לשרת קניון מבקרים וירטואליים, אבל הוא בהחלט מספיק בשביל חנות וירטואלית עם כמה עשרות כניסות סימולטניות (או בערך 1000 איש ליום) והוא גם מתאים לפורמים מבוססי PHPBB וחבריו. המחיר? 100 שקלים (לא כולל מע"מ, העסק בין כה יקבל את המע"מ בחזרה תוך חודש וחצי מהמדינה). זה, לדעתינו, פתרון שעוזר ללקוח: הוא יכול להגדיר לעצמו כל דבר בשרת, מגירסת KERNEL, תמיכת SELinux, הצפנת תיקיות או כל המכונה (עם TruCrypt לדוגמא, כך שגם אם פורצים לוירטואליזציה של השרת, לא ניתן לעשות Mount לדיסק הוירטואלי ולקרוא נתונים. אגב, הנה טיפ מצוין איך ליצור מעין "דיסק" במכונה וירטואלית ועליו לאכסן קבצים מבלי שלאף אחד תהיה גישה זולת המשתמש שיצר).

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

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

  1. שרת זה, כמו שרתים אחרים שלנו אינו נמכר לילדים ולצעירים פחות מגיל 22
  2. המכירה היא לשנה מראש בלבד (ניתן להתחרט כמובן תוך 14 יום).
  3. אנו מבקשים מלקוחות מעוניינים לראות על אלו אתרים מדובר. איננו מוכרים לבעלי אתרי הונאות (כל הטריקים לגרום ללייק בפייסבוק, כסף קל, הימורים, שיתופי קבצים, סרטים, שרתי משחקים) ואנו שומרים את הזכות לעצמנו להחליט למי למכור ולמי לסרב (בטוחני שיש מספיק ספקים בארץ שיקבלו כל אחד).
  4. אין אפשרות להתקין Windows על חבילה כזו (מה לעשות, Windows 2008 עם חצי ג'יגה זכרון עוד לפני האפליקציות בקושי יזוז).
  5. ללקוחות קיימים – לא ניתן "לשנמך" לחבילה זו.

הצלחה ללינוקס ומיקרוסופט מחייכת, ושאלה פרסומית

אחת הפנטזיות שיש לחובבי לינוקס רבים היא הפנטזיה שכולם (או כמעט כולם) ירדו מהשימוש ב-Windows ויעברו להשתמש בלינוקס. בתקופת הבועה הפרועה (שנות ה-2000, זוכרים?) קמו להן מספר חברות כדי להגשים את החלום הזה. חברת Eazel קמה כדי לתת ללינוקס מראה קצת יותר ידידותי והם יצרו את המנהל קבצים Nautilus, מה שקיים עד היום ב-GNOME. חברת Ximian הוציאה מספר מוצרים כמו Red Carpet שנתן למשתמשי הלינוקס דרך קלה יותר להתקין אפליקציות מבלי להסתבך בתלויות של RPM, הם גם הוציאו את תוכנת הדואר הידועה Evolution שמתחרה ב-Outlook, והיו עוד חברות שיצרו תוכנות Desktop ללינוקס.

ולשווא. כל אותן חברות קרסו, ה"מאבק" בין KDE ל-GNOME לא הביא שמחה לאף חברת תוכנה רצינית (אבל סיפק המון ויכוחים לחובבי לינוקס ובמיוחד לחובבי ה-Free Software שלא היו מוכנים לקבל רשיון כמו QPL של Trolltech ובראשם ריצ'רד סטולמן), וגם חברות שהחלו לשווק מחשבים נייחים וניידים עם Linux ירדו מזה לאחר מכירות כושלות.

בקיצור, Linux על דסקטופ נשאר פנטזיה עד לאחרונה, כאשר Canonical קמה, לקחה הפצת Debian והוסיפה שיפורים רבים ל-GUI (בברירת המחדל GNOME אך יש גם גרסאות KDE ועוד), ודבר זה עודד ומעודד עד היום משתמשים רבים לנסות ולהשתמש בלינוקס, אבל עדיין, הרוב המוחלט נשאר עם Windows, כאשר חלק עברו ל-מק.

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

בעברית פשוטה: פתאום לינוקס נמצא אצל המון המון אנשים מבלי שהם ישימו לב לכך. כל אלו עם הגלקסי וגלקסי 2, ה-LG, HTC, מוטורולה ועוד – כל מכשיר מריץ את אותו לינוקס שרץ על שרתים ודסקטופים. יש כמובן שוני מהותי מבחינה גרפית ואפליקציות, כי גוגל השכילו להבין שמהמאבק בין KDE ל-GNOME עם X11 ההיסטורי לא יצא מאומה, אז הם לקחו את הליבה ועוד ספריות ובנו ממשק גרפי חדש שהשתנה במשך הגרסאות והוסיפו דברים רבים, אבל מתחת לכל זה עדיין פועלת ליבת לינוקס 2.6, הצליל עובר דרך ALSA, הבלוטות' עובד עם bluez, המודולים עדיין עובדים באותה דרך, וספריות רבות שרצות על Ubuntu או על כל לינוקס אחר נמצאות באנדרואיד.

לינוקס השיג דומיננטיות בשוק, בגלל גוגל. סיבה מצויינת לחייך, לא?

לא בדיוק.

אם יש לך גלקסי S2 או אם תקנה מכשיר אנדרואיד כלשהו עם שרותי גוגל מוטמעים בתוכו כולל ה-Market, בין אם זה טלפון או טאבלט, אתה מבזבז בסביבות ה-15 דולר למטרה שלא כל כך תאהב….

מיקרוסופט.

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

במקום זה מיקרוסופט עשו משהו פשוט: פנו ל-HTC ול-ASUS ולסמסונג (עם השאר הם בדיונים ו-ומו"מ או בתביעות, כמו מול מוטורולה ו-B&N) והציעו להם: תנו לנו סכום (בד"כ זה בסביבות ה-5-13 דולר) פר מכשיר שאתם מייצרים, קבלו מאיתנו רשיון לפטנטים. לא תתנו? נלך לתביעות משפטיות ארוכות, כל צד יתבע את הצורה לשנה, נערב את ארגון הסחר העולמי ובקיצור תהיה אחלה פרנסה למחלקות המשפטיות, אך הפסדים ליצרן. היצרנים (שוב, למעט אותם אלו שציינתי בסוגריים בתחילת פיסקה זו) החליטו לא לריב עם מיקרוסופט והם סיכמו עם מיקרוסופט שהיא אכן תקבל את הכסף שהיא ביקשה כל רבעון או תקופה אחרת שמסוכמת, כלומר מיקרוסופט לא רק מתחרה באנדרואיד, הם גם מקבלת מכל מכירה סכום נאה בהחלט מבלי שהיא תרמה ולו תרומה קטנה אחת לאנדרואיד או לייצור המכשירים.

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

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

השאלה שלי פשוטה: אני מייעד את החבילות האלו לא לאלו של "אני רוצה לקנות דומיין, תקים לי בלוג ואני רוצה שיהיה מישהו זמין טלפונית 24/7". אלו מוזמנים לקפוץ ל-SPD ולרכוש מהם חבילה. החבילות שבניתי מיועדות לבוני אתרים, מתכנתים, אנשי IT וכו'. מכיוון שאני מייעד את החבילות למתכנתים, האם לדעתכם כדאי להוסיף לחבילות דברים כמו Ruby on Rails האחרון, האם כדאי לשים Perl 6 (שעדיין בפיתוח)? אלו עוד דברים כדאי להוסיף לחבילות שיקלו עליכם (אם אתם לוקחים חבילה) את החיים? חשבתי להוסיף תמיכה ל-JAVA אבל JAVA אוהב המון המון זכרון, וזה לא ילך טוב בסביבת אחסון משותף, אז זה ירד מהפרק. בקיצור: הערות והארות יתקבלו בברכה.

כמה מילים על SDK, libvirt, KVM, VMWare – פספוסים ותחרות

לפני מספר ימים כתבתי כאן פוסט שאני מחפש אחר איש שמבין טוב ב-PERL כדי לעבוד עם ה-SDK של VMWare על פרוייקט פאנל לעסק שלי.

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

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

אם יש משהו שאפשר לאמר על libvirt זה שזו ספריה מעולה ומהפכנית. מה ש-FFMPEG עשה בתחום האודיו/וידאו, libvirt עושה בתחום הוירטואליזציה. ספריה אחת שניתנת לשימוש עם מספר שפות (JAVA, PHP, C, Python, Perl, Ruby) ודרכה אתה יכול לשלוט על המערכות וירטואליזציה בחברה שלך, ולא חשוב על מה הן מבוססות, הספריה תומכת בהכל:  Hyper-V, Xen, KVM, VMWare ועוד. כל מה שצריך זה לקמפל את הספריה עם התמיכה המתאימה (קבצי ה-RPM בנויים עם תמיכה להכל). יש גם גירסה ל-Windows (אם כי קצת יותר ישנה).

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

הכל טוב ויפה, לא?

זהו, שלא כל כך…

הבעיה הגדולה ביותר של libvirt זה התיעוד והפיתוח שלו. הפיתוח עצמו נעשה ע"י מפתח בשם Daniel P. Berrangé, שחוץ מ-libvirt הוא עובד על עוד כמה דברים. התיעוד עצמו גרוע. כמה גרוע? רשומים פונקציות ופקודות, אבל תוכן לפקודות עצמן במסמך – אין. אם נלך לפי מספרים, וניתן ציון 80 לתיעוד של RHEL, אז הציון לתיעוד של libvirt הוא אולי 20. המסמך שקיים מדבר על 2 גרסאות אחורה, ואין שום מסמך שמציין מה ההגבלות של כל דרייבר, כך שהאפשרויות העומדות בפניך הן לחפש בגוגל ולראות אם מישהו כתב קצת הסברים על כל מיני פקודות, או להתחיל לחפור בקוד ולהבין משהו מזה. יש ספר שמדבר על KVM עם libvirt, רק שהספר בגרמנית. בא לך לסמוך על התרגום של גוגל Translate?

למען האיזון אני יכול לציין שגם התיעוד ב-SDK של VMWare לוקה בחסר. לדוגמא: אם מסתכלים על הפקודה vmcreate.pl אפשר לראות שחסרים המון פרמטרים. היכן לדוגמא הפרמטר ל-thin provisioning? מה עם כל האפשרויות של ניהול משאבים בלי resource manager? לך חפש בגוגל, אולי מישהו מצא לזה פתרון עוקף..

אבל הבעיה היותר גדולה לדעתי היא של Red Hat, חברה שכבר הרוויחה מעל מיליארד דולר ועדיין תקועה בעבודה כאילו העסק מורכב מ-3 וחצי מתכנתים. פרויקט כמו libvirt או פרוייקטים סמוכים כמו oVirt, Virt-Manager יכולים למשוך קהל לקוחות רחב, אם הפרוייקט יכתב ויתועד בצורה מקצועית. מקצועית זה אומר לא לכתוב אפליקציות דסקטופ אלא אפליקציית ווב, לשכור מהנדס עיצוב  שיפתר מהזוועה העיצובית של אותם אפליקציות, לכתוב תיעוד מלא לכל פיפס.

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

רבים טוענים "KVM חופשי ובחינם, אתה יכול להשתמש בזה". טכנית הטיעון מוצדק, אבל חברות מחפשות נוחות, קלות שימוש וכמה שפחות תחזוקה, ו-KVM שמגיע עם Fedora או Ubuntu הוא הדבר האחרון שאפשר לקרוא לו "קל". תסתכלו לדוגמא על Citrix: לקחו גירסת לינוקס, הצמידו לה את Xen, בנו GUI (שרץ על Windows בלבד כ-Client) קראו לזה XenServer והחלו לחלק אותו בחינם לכל אחד שרוצה. יש לו כמובן פונקציות רבות שנעולות לשימוש (אלא אם תרכוש רשיון), והרבה מאוד חברות משתמשות בזה . תארו לכם ש-Red Hat היו מוציאים דבר כזה בחינם (עם אפשרויות הרחבה בתשלום כמובן)? לרד-האט יש שם מוכר בשוק ובמיוחד ב-Enterprise והרבה היו מתעניינים ומנסים את המוצר..

אבל Red Hat מעדיפים למכור את ה-RHEV המוצר שקומרנט פיתחה לפני ש-Red Hat רכש אותם. לדבר הזה אין אפילו Trial כך שקשה אפילו לשפוט את המוצר מדף הסופי. פלא שהמוצר שלהם נמצא אי שם למטה מבחינת נתח שוק?

ועוד נקודה אחת: יש כאלו המחבבים את Proxmox VE ולמען האמת זהו מוצר נחמד לחברות ולעסקים קטנים שרוצים לשים מספר שרתים ולפתוח עליהם כמה עשרות מכונות וירטואליות, אבל כשרוצים לתכנת את הדבר הזה, מגיעים שוב לעניין ה-libvirt שציינתי למעלה. לא כיף.

עדכון אבטחה קריטי ל-Apache

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

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

לכן, מי שמנהל שרתי Apache מומלץ כי יעשה את הדברים הבאים:

  • מי שמקמפל מקוד מקור, יכול להיכנס לאתר אפאצ'י ולהוריד את גירסה 2.2.20 הכוללת תיקון לפירצה.
  • שרתי אובונטו/דביאן – יש כבר תיקון בעדכונים. הריצו עדכון.
  • משתמשי CentOS … הממ, כאן קצת נכנסת פוליטיקה. אלו שבונים את CentOS טוענים ש"העדכון כבר ב-Repository". עבדכם הנאמן בדק והוא לא שם. בדקתי ליתר בטחון גם ב-Mirror של פייסבוק, וזה גם לא שם. מה עושים?
    • לוקחים מכונת סנטוס 64 ביט (לא על שרת פרודקשן!), מורידים את הקובץ הזה, זהו קובץ SRPM הכולל את הקוד מקור + תיקונים.
    • כ-root מריצים פקודת: rpmbuild –rebuild file (שימו לב, יש 2 מינוסים לפני ה rebuild) כאשר file הוא הקובץ שהורדתם מהקישור הנ"ל.
    • סביר להניח שנסיון הבניה ישר יזעק שחסרות לו תלויות. התקינו את התלויות עם yum (עניין של העתק והדבק) והריצו לאחר מכן את הפקודה מחדש.
    • בסוף הקימפול יהיו לכם בתוך תיקיית usr/srv/redhat/RPMS/i686/ מס' קבצי RPM. הקבצים שתצטרכו להתקין הם: httpd, mod_ssl, httpd-manual (את ה-manual אפשר להעיף אם לא התקנתם אותו מלכתחילה).
    • לאחר ההתקנה, הפעילו מחדש את שרות האפאצ'י ( service httpd restart ) ובדקו אם הכל פועל כמצופה.
    • במידה והכל פועל, אפשר להעתיק את קבצי ה-RPM לשאר השרתים.
  • משתמשי WHM/CPANEL – כנסו לתוך ה-whm, הפעילו את EasyApache וודאו כי הגירסה היא 3.6.1 לפחות. הפעילו build מחדש, הוא כבר יוריד אפאצ'י 2.2.20 ויקמפל.
  • משתמשי הפצות אחרות – שרותי העדכון שלכם אמורים לתת לכם אפאצ'י מעודכן.

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

טיפ: Shell דרך ה-Web

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

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

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

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

לאלו שלא מכירים, אני מעוניין להציג אפליקציית web נחמדה ושמה: Shell In a Box. מה שהאפליקציה הזו עושה זה משהו פשוט מאוד: מדמה טרמינל לינוקס (xterm ליתר דיוק), ומאפשרת לך להתחבר דרך ה-web לשרת שלך. אתה נכנס לכתובת ומקבל פרצוף מוכר: Login prompt. האמולציה עצמה היא אמולציה מעולה, כולל תמיכה בדברים כמו CTRL Z, CTRL C ועוד, יש לה תמיכה לחיצים, אפשר לערוך איתה קבצים מבלי לשבור את האצבעות בקיצורי דרך שהיו ב-Solaris, ומנסיון שלי איתה, פשוט כיף לעבוד איתה.

האפליקציה עצמה פותחת פורט 4200, ומאפשרת חיבור דרך http רגיל ו-https עם תעודת SSL (אם יש לכם). היא כוללת אפשרויות רבות (שאפשר לראותם כאן), כולל תמיכה בפורטים אחרים, תמיכה וביטול ביפ (אודיו ו-ויזואל). האפליקציה רצה כ-Daemon, אך אפשר להריץ אותה ב-CGI ש"ימות" בתום שימוש לדוגמא. דבר חביב על אוהבי אבטחה.

שיחקתי עם האפליקציה ותיקנתי בה מס' תיקונים פשוטים, כך שהיא יכולה לרוץ על פדורה 15 וגם על סנטוס 5.6.  לאלו המעוניים לרוץ ולהתקין, כאן נמצא קובץ ההתקנה עבור פדורה 15, כאן עבור CentOS וכאן יש קובץ ה-SRPM לאלו שמעוניינים לקמפל וליצור חבילות חדשות להפצות כמו SuSE ואחרות (לחובבי האובונטו, דביאן – זה נמצא ב-repository שלכם. אגב, הקרדיט לקובץ SPEC לא מגיע לי אלא לבחור ששם את זה כאן).

מטבע הדברים, פורט 4200 הוא לא בדיוק פורט סטנדרטי ובחברות רבות לא תוכלו לגשת לשרת ולפורט הזה. מה עוד שפורט נוסף פתוח הוא לא בדיוק דבר נחמד וטוב מבחינת אבטחה. לשם כך, נשתמש במודול Proxy של אפאצ'י, כדי שאפאצ'י ישמש כפרוקסי לאפליקציית Web, כך שדרך פורט 80 (או 443 אם אתם משתמשים ב-https) נוכל לגשת ל-Shell.

רק מה, אם נפתח את ה-Shell לגישה לעולם, גוגל מהר מאוד יסרוק את המחיצה, וסקריפטים עולצים קופצים ינסו להיכנס דרך הכניסה הזו. לשם כך נוסיף שכבת אבטחה מינימלית של אפאצ'י, מה שנקרא Auth Basic שתבקש מאיתנו שם משתמש וסיסמא לפני שבכלל נקבל את הדף לעשות Login.

אז ראשית ניצור קובץ conf לאפאצ'י. בפדורה/סנטוס מכניסים את הקובץ בתוך תיקיית etc/httpd/conf.d/ ונקרא לזה shl.conf

ומה יהיה לנו בקובץ shl.conf? הגדרות של הפרוקסי ושל אותנטיקציה בסיסית. מכיוון שוורדפרס לא אוהב כל כך שורות טקסט של קונפיגורציה, שמתי את הדברים ב-Pastebin לעיונכם כאן. ה-RAW (החלק התחתון בדף בקישור) הוא הקובץ האקטואלי שאתם יכולים להעתיק לתוך shl.conf

עכשיו יש צורך ליצור קובץ htpasswd. (עם הנקודה). לשם כך ניכנס לאותה תיקיה ששם ימצא הקובץ שלנו (שימו לב שהמיקום אמור להיות בתוך שורה 5 כפי שניתן לראות בקישור), ונכתוב את הפקודה:

htpasswd -c .htpasswd myuser (כאשר ה-myuser הוא שם המשתמש שתבחרו). התוכנה תשאל אתכם לסיסמא ותבקש אותה שוב לוידוא (כדאי לשים סיסמא חזקה, לא משהו שכל אחד יכול לנחש).

עתה, לאחר שהתקנתם את ה-RPM וכתבתם קובץ זה, יש צורך לאמר ל-Apache לטעון את הקונפיגורציה מחדש. אין צורך לאתחל מחדש את שרת האפאצ'י. שורת service httpd reload תספיק.

עתה פיתחו דפדפן, הכניסו את כתובת האתר שלכם עם תוספת shell/ לדוגמא: http://mysite.com/shell ואם הכל תקין, המערכת תבקש ממכם שם משתמש וסיסמא שהכנסתם מקודם. אם השלב הזה עבר, אתם תקבלו סמן שובב מקפץ (אם הסמן האדום חלול, אז ה-TAB אינו בפוקוס. לחצו על הדף עם העכבר). הכניסו שם משתמש וסיסמא (לא מומלץ root!), ואם הכל תקין, תקבלו shell רגיל להנאתכם.

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

תהנו.

עזרה לחברים טובים

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

אני יודע שהמצב בשוק עדיין לא משהו (אני יודע את זה אישית. יש לי עסק אבל אני עדיין פרילאנסר שמחפש בעצמי עבודות פרילאנס נוספות), אבל אם אתם שומעים על עבודות סיסטם בלינוקס (או תכנות ב-++C או JAVA) שלחו אימייל אליי ([email protected]) עם מה שאתם מחפשים ואני אעביר את זה. אני מכיר למען האמת מספר אנשים שישמחו לקבל פרוייקטים בתחומים שונים.

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