עדכונים לגבי ESXI

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

נתחיל בהווה: אם יש לכם גרסאות 4, 5, 5.1, 5.5 אז אולי הגיע הזמן יהיה לחשוב על שדרוג. לפי המסמך הזה של VMWare, גרסאות 4, 5.0, 5.1 כבר סיימו את חייהם מבחינת תמיכה ואם אתם מריצים גירסה 5.5 – היא תסיים את חייה ב-19/9/2018 כך שכדאי בתכנון התקציבי להכניס הוצאת שדרוג.

אם אתם משתמשים בגירסה 6.0 של ESXI אז מאוד מומלץ לשדרג לגירסה 6.5U1. השינויים בין 6.0 ל-6.5 הם רבים וכוללים שינויים ועדכונים ל-vSAN, עדכוני דרייברים רבים, מעבר ל-VSCA (ב-VMware ממש רוצים שתעבור ל-VCSA והם נותנים "הטבות" ב-VCSA כמו כלי מיגרציה, High Availability "טבעי", וגיבוי ושחזור "טבעיים" (של ה-Appliance, לגיבוי מכונות VM תמשיכו להשתמש ב-Veeam). ההתקנה של VCSA הרבה יותר קלה ואתם יכולים לקרוא על מגוון התכונות החדשות במסמך הארוך והרשמי כאן או בגירסה המקוצרת כאן. השדרוג מ-6.0 ל-6.5U1 עולה לכם … 0 שקלים מבחינת רישוי.

אם יש לכם גירסה 6.5, מאוד מומלץ לשדרג ל-6.5U1 בגלל כמה סיבות, להלן חלק מהן:

  • גירסת VSAN שודרגה ל-6.6 (והיא מצריכה ESXI 6.5 כולל VCSA 6.5 או אם אתם עדיין בגירסת Windows – אז vCenter Server 6.5 – מומלץ בחום לעבור ל-VCSA, הוא יעביר לכם את הנתונים אוטומטית) ואם אתם עובדים All Flash תקבלו הפתעה נחמדה – שיפור של 50% בביצועים. בנוסף תכנון גדילה עובר עתה תהליך Pre-check כך שהדברים יהיו יותר בטוחים ולא יפלו עקב חישוב שגוי מצד מנהל המערכת. בנוסף מקבלים את vRealize Operation Management, תהליך ה-Deploy יותר קל, תהליך בדיקת התקינות שופר מאוד, אין יותר צורך ב-Multicast (אני יכול לדמיין אנחת רווחה מאנשי התקשורת), שיפורים ב-Cross Site Protection (לאלו שמשתמשים בזה, לא מכיר כאלו) ועוד. אפשר לקרוא מה חדש כאן.
  • אם אתם חושבים לרכוש ברזלים חדשים כמו שרתים מבוססי מעבדי EPYC (שאפו!) או שרתים מבוססי דור 5 של Xeon – תצטרכו את ה-Update 1 של גירסה 6.5, אחרת תקבלו מסך סגול והמון עצבים. לאלו שרוצים להריץ בביתם כ-LAB את גירסה 6.5 על מעבדי Ryzen או Threadripper או Skylake-X – גם אתם תצטרכו את גירסת 6.5U1. (לא מומלץ לנסות על Kabylake-X – ניסיתי, זה נופל לאחר זמן מה מבחינת ביצועים ו-VMware אפילו לא מוכנים להתייחס לכך).
  • עדכוני דרייברים – ישנם עדכונים לכל כרטיסי הרשתות, החל מכרטיסים בסיסיים כמו כרטיסים מבוססי אינטל של 1 ג'יגהביט ועד לכרטיסים של 40/50 ג'יגהביט (למיטב ידיעתי כרטיסים של 100 ג'יגה תצטרכו דרייבר יצרן עדיין).
  • ה-vCenter יכול להיות ב-High Availability באופן טבעי ללא צורך בקפיצת ראש לבריכה בעומק חצי מטר. מגדירים Active, Passive ו-Witness ויאללה – יש HA. פונקציה זו אינה קיימת בגירסת Windows. כמו שאמרתי – VMWare מאוד רוצים שתעופו מגירסת ה-Windows לטובת גירסת ה-Appliance.
  • שדרוג מכונות ESXI הרבה יותר קל וברוב המקרים אוטומטי לגירסה אחרונה עם VCSA. שימו לב: קודם משדרגים Appliance ורק אז את ה-Hosts.
  • גם VUM עבר שדרוגים בכל הקשור לעדכונים ומעתה הוא יכול גם לשדרג אוטומטית (אם תרצו) מכונות VM לגירסה אחרונה (או גירסה שתקבעו) של תאימות VM.
  • בכל הקשור ל-Auto Deploy, מי שמנהל את ה-vSphere בחברה אולי ישמח לדעת שהוא פחות יצטרך להשתמש ב-PowerCLI ועכשיו יש ניהול גרפי מלא של הדברים וגם בניית Image חדש של ESXI Boot תוך כדי הוספה והעפה של דרייברים.
  • ויש עוד ערימות של תכונות חדשות…

אחד הדברים החשובים לגבי תשתית vSphere מהגירסאות הקיימות לגירסה 7 העתידית – זה שגירסה 7 העתידית תהיה שונה מאוד ממה שהיה עד כה. זה לא סוד ש-VMWare עובדים לאט (רק בגירסה 6.5 הם התחילו לתמוך ב-VMWare tools חתומים והתקנה של מערכות הפעלה עם Secure Boot), אבל בגירסה 7 הם רוצים לסגור פערים. העולם עובר לקונטיינרים וכרגע ל-VMware אין תשובה ב-vSphere באופן רשמי, כנ"ל לגבי פתרון תחרותי ל-OpenStack או Azure Stack של מיקרוסופט (אם כי יש להם כלי להקים OpenStack בתוך vSphere – ראו למטה), כך שגירסה 7 תהיה שונה לחלוטין מכל הגרסאות הקודמות. אי אפשר למסור עליה פרטים (אין לי הסכם NDA עם VMware אבל מצד שני אין לי חשק מחר לקום בבוקר ולקבל טלפון וצעקות מאנשים שם) אך מה שכן אפשר לאמר – שהיא בהחלט תקל על חברות גדולות שרוצות לעבור להשתמש בקונטיינרים (ויש לה כבר פרויקטים בקוד פתוח בנושא, אפשר לראות אותם כאן – ויש המון). משהו אחד שאני יכול להמר (אין לי בסיס משמועות לכך) זה ש-VMWare גם תבצע אינטגרציה של VMWare Integrated Openstack לתוך vSphere בעזרת מוצרים משלימים שיש כבר ל-VMware ובעזרת חלקים בקוד פתוח (שהיא תשחרר שינויים תחת אותם רשיונות). אגב, למי שלא מכיר את התוכנה – מוזמן לעקוב אחר המצגת הנחמדה כאן.

לסיכום: ישנם לא מעט חברות גדולות שרוצות להישאר רק על VM, לא ענן מבוסס OpenStack, לא קונטיינרים (אולי בעתיד) וחברות רבות הן גם מאוד שמרניות, לכן אני חושב שנראה כאן מעין "קו" וירטואלי בין מוצרים והטמעות שחברות יבחרו. עד גירסה 6.5U1 ה-vSphere סובב כולו סביב VM והתשתיות לספק את הדרישות ל-VM (רשתות, סטורג' וכו'). מגירסה 7 המוצר יהיה הרבה יותר גדול ומורכב בהרבה מהיום ולא בטוח שחברות ירצו לקפוץ אליו  ויש מצב שיותר ויותר חברות יחליטו להישאר עם 6.5U1 ואת השאר להעביר לעננים ציבוריים במקום לשדרג לגירסה 7 (ודרך אגב, אני מאמין שגירסה מוקדמת שלה אנו נראה ב-VMWorld שתתרחש עוד 18 יום ולאחר מכן ב-VMWare Europe. אגב, בכנס הזה נראה את התשובה של VMWare לאינטגרציה עם עננים ציבוריים, לא רק של אמזון).

הולך להיות מעניין…

קצת על רד-האט, BTRFS, פוליטיקה ומוכנות ל-Enterprise

אם נסתכל כיום על תשתיות של כל Enterprise או כל חברה גדולה, נראה שכיום רוב מכונות הלינוקס וה-Windows רצות כרגע על VM, בין אם זה רץ על ESXI, על Hyper-V, על OpenStack או בעננים ציבוריים או פרטיים. גם לינוקס וגם Windows רצים בלי בעיה כ-VM ולכל מערכת הפעלה יש תמיכה טובה בקישוריות בין ה-VM ל-Hypervisor שמריץ אותו.

הבעיות מתחילות כשצריכים להריץ הפצות לינוקס כמו רד-האט או סנטוס על "ברזל" פיזי או Appliance פיזי. אין שום בעיה להתקין לינוקס וברוב המקרים גם לא נצטרך דרייברים, וה-File system יעבוד כמו שצריך, אולם יש דברים בלינוקס שהם אינם קלים או מובנים למשתמשים רבים שאינם אנשי לינוקס ותיקים. יצירת RAID מבוסס תוכנה (Software RAID או Fake RAID) הם לא בדיוק דבר הכי קליל, במיוחד אם רוצים לשלב Volume Management בתוך אותו RAID תוכנה (אם כי כמובן יש אתרים שמסבירים כיצד לעשות זאת). את המשוכה הזו ניתן לדלג עליה די בקלות אולם אם אנחנו רוצים לבצע Snapshots או להוסיף SSD כ-Cache לאותו RAID, זה כבר נהיה יותר מורכב. רוצה גם לבצע Compression ו-DeDup בזמן אמת? כאן כבר תצטרך איש לינוקס טוב וזה לא תמיד אפשרי, תלוי במה קיים ובאפשרות לשנות דברים.

האם ניתן לעשות את הדברים בלינוקס? התשובה היא שבהחלט כן. אני כותב את הפוסט הזה בביתי ואחד משרתי ה-NAS שלי עושה בדיוק את הדברים הללו: ה-RAID הוא תוכנה, המערכת מייצאת iSCSI, CIFS, NFS החוצה למערכות אחרות (כל עריכת הוידאו שלי שאתם רואים בערוץ הוידאו של העסק מבוצעת על CIFS/SAMBA, לא על דיסק מקומי), יש DeDuplication  ויש דחיסה והכל רץ על "מפלצת" עם … מעבד i5 ועם 16 ג'יגהבייט זכרון, 5 דיסקים מכניים ו-2 דיסקים SSD ישנים שישבו אצלי במגירות. המערכת עצמה רצה על ZFS עם הפצת CentOS 7 ועם כל העומס שאני זורק עליה (ויש עומס) – היא עושה את עבודתה יציב כבר 4 שנים בלי תקלה אחת הקשורה ל-ZFS.

אז אם יש את זה, מדוע אינך רואה בהפצת לינוקס מבוססת רד-האט או סוזה אפשרות להקים מכונה עם ZFS? הרי ל-ZFS יש כבר ותק של בערך 12 שנה ב-Sun עם סולאריס (המערכת פותחה שם במשך 5 שנים לפני שהיא שולבה בסולאריס).

הסיבה הרשמית היא "בעיה ברשיון", הסיבה המציאותית יותר היא … פוליטית.

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

העניין הוא שרד-האט לא מעוניינים להכניס דבר שאינו תחת רשיון GPL/BSD/MIT וכו' כמו ZFS (למרות שיש ל-ZFS יתרונות רבים על פני כל שיטה אלטרנטיבית) ורד-האט אינם מעוניינים לפנות לאורקל, לסכם על רשיון, להעביר סכום כסף ולשלב זאת בהפצה. זו המדיניות של רד-האט בכל מה שקשור לקוד חיצוני ופטנטים (בדיוק הפוך ממיקרוסופט – ששם היו פשוט רוכשים רשיון, רוכשים את הטכנולוגיה או את החברה, ולרד-האט לא חסר כסף).

ב-2008 החלה לקום מערכת ניהול קבצים ודיסקים חדשה בשם BTRFS. בעקרון, BTRFS אמור להיות התשובה ל-ZFS רק בקוד GPL והוא משולב בתוך הליבת לינוקס. אנחנו ב-2017 וכיום כל הפצת לינוקס תומכת ב-BTRFS אולם הבעיה הגדולה ביותר של BTRFS היא ביציבות. ה-BTRFS יציב מבחינת file-system אך יש לא מעט בעיות במימוש ה-RAID שלו ובחלקים אחרים. בזמנו הקוד נבנה תחת קורת הגג של אורקל, אולם מאז שאורקל החליטה לברוח מקוד פתוח כאילו מדובר במחלה מדבקת – התפזרו המפתחים לכל עבר ואין עבודה יציבה על BTRFS, מה שגרם לרד-האט להודיע שהיא "יורדת" מ-BTRFS בגירסאות הבאות של הפצת הלינוקס שלה (בינתיים שאר ההפצות ממשיכות לתמוך ב-BTRFS, וזו מערכת עיקרית בהפצות כמו SuSE).

נשמע כמו צעד די דרסטי – לא? אכן, רק שבימים האחרונים הסתבר מדוע רד-האט עשתה זאת. רד-האט רכשה חברה קטנה בשם Permabit ש.. מציעה בדיוק את השרותים שה-Enterprise צריך: דחיסה, Dedupe, thin provisioning וכו'. האם רד-האט תציע זאת בחינם לקהל הרחב? כן, אבל יקח זמן. במילים אחרות, במקום לחכות ש-BTRFS יבשיל, רד-האט העדיפה לקנות חברה וטכנולוגיה. במקביל הודיעה רד-האט שהם החלו פרויקט חדש שנקרא Stratis שיאפשר לבצע חלק מהדברים בצורה קלה ופשוטה. אל תחזיקו את נשימתכם, לפרויקט יקח כמה שנים עד שיהיו פירות וניתן יהיה להשתמש בו בצורה בטוחה.

לסיכום: כיום ב-8 מתוך 10 מקרים, כשמקימים מכונת לינוקס, מקימים אותה כ-VM. לא צריך RAID ב-VM (אבל כן צריך LVM אם תרצו להגדיל דיסק או להוסיף דיסק ל-VM) ו-snapshots ניתן לעשות ברמת VM – ועדיין, עקב כל מיני החלטות שאני קורא להן "פוליטיות" הפצות רשמיות עדיין לא כוללות (גם בגרסאות המסחריות) דברים ש-Enterprise צריכים כשמקימים מערכת עם דיסקים מקומיים. הרכישה ש-רד האט ביצעה מסייעת במשהו, אבל אם רד-האט היתה עושה צעדים לפני מס' שנים כדי לסגור עיסקה עם אורקל, אז היינו כיום עם מערכת כמו ZFS שנותנת את הדברים שאותם לקוחות חשובים צריכים, במיוחד במקומות שמעוניינים להרים Software defined storage בשיטה של Scale Up.

כמה מילים על תחנות עבודה לטיפול בוידאו

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

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

כשזה מגיע לבתי סטודיו שרוצים לשדרג כמות של מכונות ומבחינתם לשלם עוד $1000 זה לא ממש ביג דיל, אז ההמלצה שלי היא פשוטה: קנו מחשב מותג של יצרן מוכר, כלומר תחנות של Dell, HP או Lenovo. המכונות האלו בנויות כמו טנק, ניתן לשדרג שם (ללא שבירת אחריות) זכרונות, דיסקים וכרטיס גרפי, וכשאותו סטודיו רוכש את התחנות, הוא יכול להרחיב את האחריות ל-3 שנים ולכלול טכנאי עד העסק כך שאם יש תקלה, טכנאי מגיע ומחליף את החלק במקום ללא צורך בהמתנה שמחשב יגיע למעבדה, יטופל ויוחזר. החסרון היחיד שיש עם תחנות כאלו הוא שהסטודיו לא יכול לקבל תמיכה על התוכנות וידאו/אפקטים/תמונות שיותקנו על התחנה ובשביל זה כל סטודיו בד"כ חותם על חוזה שרות עם עצמאי שנותן להם את השרות או שהם שוכרים מישהו כשכיר שיתן תמיכה.

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

האם באמת שווה לרכוש מאותם עסקים מקומיים את אותם מחשבים? האם באמת שווה להשקיע יותר?

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

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

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

לוח אם

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

  • כדאי מאוד שזה יהיה מיצרן מוכר ואמין. יצרנים כאלו הינם: ASUS, MSI, ASrock, Gigabyte. לוח שאינו מהיצרנים הללו עלול להתקלקל בעבודה מאומצת והשבתה לאורך זמן.
  • אם המחשב הזה הולך לשרת אתכם למשך 3 שנים, מומלץ להשקיע מעט יותר בלוח האם ולבקש לוח עם לפחות 2 תושבות לכרטיס גרפי. בלוחות כאלו ניתן להרחיב יותר זכרון ואפשר להכניס יותר כרטיסים גרפיים (כיום זה לא כל כך אקטואלי אבל אני מניח שבשנה שנתיים הקרובות יותר תוכנות של אדובי יתמכו בכך ועם 2 כרטיסים גרפיים הביצועיים יהיו כמעט כפולים).

מעבד

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

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

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

המתמודדים העיקריים כיום:

  • אינטל i7-7700K – מכיל 4 ליבות ו-8 נימים.
  • AMD Ryzen 7 1700 – מכיל 8 ליבות ו-16 נימים (ועולה פחות מה-i7-7700K של אינטל)
  • אינטל  i7-7800X – מכיל 6 ליבות ו-12 נימים – ה"תשובה" של אינטל ל-Ryzen 7 1700 של AMD, רק שהמחיר יותר גבוה מההצעה של AMD והביצועים (בעריכת מדיה) – יותר נמוכים. עלות הלוח אם של ה-i7-7800X מוסיפה לא מעט למחיר.

זכרון

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

כרטיס גרפי (GPU)

הכרטיס הגרפי הוא שבסופו של דבר מתרגם את רוב העבודה שלכם למשהו ויזואלי, לפורמט וידאו שאתם רוצים, ובשביל זה צריכים כרטיס GPU טוב ולא מה שמוכרים לכם במחשב רגיל לשימוש עם אופיס וגלישה באינטרנט. 2 היצרנים המובילים הם AMD ו-nVidia.

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

  • כרטיסים מבוססי nVidia GTX 1050 ו-1060 לא מומלצים (יש בהם 2 או 3 ג'יגהבייט זכרון. יש כרטיס GTX 1060 עם 6 ג'יגהבייט זכרון אולם מבחינת משאבי עיבוד גרפי – המשאבים נמוכים). לפיכך ההמלצה שלי על ה"אמצע" – GTX 1070.
  • כרטיסי Radeon – דגמי RX480, RX580 מומלצים. RX560 מומלץ למי שאין לו עבודות גדולות.
  • כרטיסים מבוססי nVidia GTX 1080 או nVidia 1080TI – כרטיסים יקרים ולא ממש שווים את ההשקעה (אלא אם אתה אוהב להשתולל מבחינה פיננסית) מכיוון שהביצועים בין 1070 ל-1080 לא כזה גדול.

דיסק קשיח

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

  • דיסק SSD (זה הדיסק ה"קשיח" האלקטרוני הקטן, לא המכני הגדול) ובו תותקן מערכת ההפעלה והאפליקציות. הגודל המומלץ ל-SSD: כ-512 ג'יגהבייט זכרון (למי שחושב ש-256 ג'יגה יספיק – קחו בחשבון ש-Windows מוריד עדכונים גדולים וכנ"ל תוכנות של אדובי וכו'. בנוסף, בגלל מהירות ה-SSD מומלץ להגדיר את ה-Scratch Disk ויצירת קבצים אחרים בתוכנות כמו פוטושופ/פרמייר/אפטר-אפקטס – לאכן אותם על ה-SSD, כך תרוויחו מהירות ובגלל זה ההמלצה היא של 512GB.
  • דיסק קשיח מכני – יש את חברת Western Digital (או WD בקיצור) והדיסקים מסידרת BLUE או Black יתאימו לכם בהתאם לגודל של הדיסק שתרצו. מה שלא מומלץ זה סידרת RED, GREEN שהם דיסקים איטיים יותר ומתאימים להקלטות וידאו ממצלמות במעגל סגור. ישנם גם דיסקים של Seagate. הדבר הכי חשוב הוא מהירות סיבוב הדיסק (RPM – ככל שהמהירות יותר גבוהה, הוא יכול לכתוב ולקרוא נתונים יותר מהר) – כך שמומלץ שהדיסק יסתובב ב-7200 RPM וכדאי לבדוק שיש לדיסק אחריות ל-3 שנים. הדיסקים הללו די זולים (רכשתי לפני חודש דיסק של Seagate עם 4 טרהבייט זכרון – ב-625 שקל) ולכן מומלץ לרכוש אפילו 2.
  • דיסקים SSD מומלצים (שוב, ממליץ על 512 ג'יגהבייט):
    • Samsung EVO 850
    • Crucial MX300 או MX500
    • Toshiba OCZ VX500 (הוא קצת יקר אבל נותן ביצועים רציניים)

אם הזכרתי דיסקים – אם אין לכם מחשב נוסף (או שאתם רוצים לאכסן את התוכן בנפרד) מומלץ לקנות דיסק קשיח בגודל לדוגמא של 6 טרהבייט לאחסן פרוייקטים שגמרתם (לא בשביל לעבוד עליהם מחדש!). דיסק של WD מהסידרה הסגולה (Purple) בגודל 6 טרהבייט יעלה לכם 999 שקל ב-KSP ו-Ivory ועליו אפשר לשמור מה שסיימתם. הדיסק אינו מהיר ולכן לא מומלץ לערוך עליו תכנים אלא רק לשמור דברים גמורים או דברים לפני עריכה שלכם.

מחשבים ניידים

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

  • משקל – הם כבדים.
  • כח סוללה מאוד חלש. תתכוננו לשעה-שעתיים עבודה גג עם סוללה.

היתרונות (חוץ משיש לך את התחנה שלך ניידת):

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

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

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

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

נקודות שיצרני Storage לא רוצים שתדעו

כפרילאנסר שמוכר שרות הטמעה/התקנה של SDS (כלומר Software Defined Storage) אני משתדל בדרך כלל להיות מעודכן גם ב"רכילות" של מה קורה אצל אלו שמוכרים פתרונות כ"קופסאות סגורות", מה-NetApp ו-Dell/EMC ועד ליצרני פתרונות AFA (כלומר All Flash Array) למיניהם. תמיד נחמד לדעת על כל מיני פתרונות שיצרני ה-AFA מכניסים או הולכים להכניס בשעה שהגדולים .. המהנדסים שלהם מדברים על פתרונות כאלו בארוחת צהרים, ההנהלה לא הכניסה את זה ל-Road Map עדיין.

כשזה מגיע ל-SDS, החיים קלים ופשוטים: הלקוח רוכש שרת, עם כל הציוד הנדרש, דיסקים וכו', הוא נניח שוכר את שרותיי, אני מציע לו מספר פתרונות, בין בקוד פתוח או סגור (כולם מבוססי לינוקס למעט Windows – ב-Windows יש לו כיום את Storage Spaces [שהוא אגב, אינטרגלי ב-Windows Server 2016] והוא ממש לא צריך אותי לשם כך), הלקוח בוחר, מרימים גירסה, אני מגדיר את כל מה שהלקוח מבקש, מריצים סידרת טסטים ואם הוא מרוצה – מכניסים לפרודקשן. במקרה ויש לו בעיות עם המערכת הוא פונה אליי ואני מטפל בבעיה אם מדובר בתוכנה או מבקש ממנו לפנות למי שהוא קנה ממנו את הברזל כדי להחליף דיסק/זכרון/לוח/כרטיס-רשת וכו'. פשוט וקל.

אבל כשזה מגיע לסטורג' סגור, אני ממליץ לעבוד בשיטה שאני קורא לה "הבן של מי אתה?"

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

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

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

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

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

  • אם אתם חושבים לרכוש סטורג' – ראשית מומלץ לבדוק לגבי המוצר שאתם רוצים לרכוש – האם הוא מוצר שיוצר בעבר ע"י חברה אחרת שנרכשה ע"י אותה חברה גדולה שאתה רוצה לרכוש ממנה. אם כן – עדיף לחפש מוצר אחר.
  • אם כבר רכשתם מוצר מחברה קטנה שנרכשה ע"י החברה הגדולה, תפנו זמן לצוות הטכני ותתנו להם הוראה להתחיל להתעמק ב"בפנוכו" של הסטורג', לא ברמת GUI אלא ברמת CLI. לא צריך לנסות דברים שיזיקו, אבל כדאי שיכירו את הפקודות, קבצי הקונפיגורציה ומי עושה מה.
    • עוד משהו שאתם יכולים לעשות – זה להיעזר בחברים ולרכוש בנק שעות תמיכה מאינטגרטור שמכיר את הסטורג' הזה. אישית אינני נותן שרותים לסטורג' סגורים, אבל מהיכרות עם חברים שנתנו תמיכה לכל מיני חברות ועסקים שיש להם סטורג'ים כאלו – ההשקעה בבנק שעות כזה הצילה חברות לא פעם ולא פעמיים בהשוואה ל"טקס מעבר-בגהינום" של התמיכה בחברה הגדולה. קנו לכם כמה עשרות שעות שיהיה לכם שקט במקרה של תקלות (יהיה לכם עדיין את היתרון שבמקרה ויש תקלת חומרה – החברה הגדולה תשלח נציג שיבוא ויחליף את הציוד התקול).
  • העולם עובר ל-Software Defined Everything, מסטורג' לרשת ודברים נוספים, ולכן מומלץ לשקול בחיוב לקחת פתרון Software Defined Storage. אל תאמינו לי, תשאלו את VMWare, Microsoft, Red Hat, Amazon וחברות מפורסמות אחרות. עם SDS אין לך שום "מסע גהינום" של תמיכה, יועץ/אינטגרטור נותן לך תמיכה ואם אינך מרוצה אפשר להחליף אותו ביועץ/אינטגרטור או חברה שנותנת את אותם שרותים ואם יש תקלת חומרה – החברה שמכרה לך את הברזל תחליף לך את הציוד, כך שזמן ההשבתה מתקצר משמעותית, יש למי לפנות וניתן לקבל בזמן קצר פתרונות.

לסיכום: כל עולם הסטורג' הוא עולם שמשתנה תדיר ורוב הדברים אינם יוצאים בהודעות רשמיות. קחו דוגמא רק מלפני 30 דקות: חברת Kaminario פיטרה מחצית מעובדיה באנגליה בסוף השבוע שעבר. האם זה אומר ש-Kaminario פושטת רגל מחר בבוקר? לא, אבל המכירות כפי הנראה אינן כפי שהחברה קיוותה. זה לא אומר שהלקוחות כבר צריכים להיכנס לפאניקה, אבל צריכים לדעת את הדברים, רק בתור ידיעה (בגלל זה אני מאוד ממליץ לעשות מנוי RSS על אתר The Register, יש להם דסק סטורג' עם המון ידע והם חושפים הרבה דברים לפני שאחרים מפרסמים). אם מחר יתפרסמו דברים על כל חברת סטורג' שהיא אוטוטו בדרך לצרות ויש לכם ציוד שלהם – תדעו כיצד להתמודד עם הדברים.

כמה מילים על הטמעת CUDA

יותר ויותר חברות משתמשות היום בתוכנות תלת מימד, תוכנות הדמיית ויזואליזציה, והמון המון חישובים מסוגים שונים, בין אם מדובר במסחר (Algotrading) והמון דברים אחרים, וגם לאחרונה CUDA נכנס גם בשימוש עם קונטיינרים – מספר קונטיינרים יכולים להשתמש ב-GPU יחיד או מספר GPU שנמצאים בשרת (זה פחות מתאים לכרטיסי GTX ויותר מתאים בכרטיסים כמו Grid, Tesla וכו').

לפני שניגש לעניינים הטכניים של הטמעת CUDA, כדאי קודם כל להכיר את הכרטיסים של nVidia שתומכים ב-CUDA. באופן עקרוני, כל צ'יפ של nVidia תומך ב-CUDA. לדוגמא: במחשב הנייד הישן שאני כותב את הפוסט הזה קיים מעבד (די עגלה) GT 720M של nVidia ולמרות שהוא ישן – הוא תומך ב-CUDA ואני נעזר בתמיכה הזו לרנדר וידאו באדובי פרמייר טרום פרסום הוידאו ביוטיוב.

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

  1. כרטיסי ה-Quadro מגיעים עם יותר זכרון (בגרסאות הדסקטופ, לא בגירסאות ה-Mobile) בהשוואה ל-GTX. בכרטיסים מסויימים יש לא פחות מ-24 ג'יגהבייט זכרון (שהוא מאוד יקר), מה שנותן לאפליקציות שמשתמשות ב-CUDA יותר מקום והביצועים מהירים פי כמה בהשוואה ל-GTX.
  2. הכרטיס כולו בנוי בצורה מעט שונה (אם כי לא רואים זאת ישר). כרטיסי Quadro מיועדים לעבוד 24/7 באופן רציף בתפוקה מלאה, וזאת בניגוד למשתמש טיפוסי של GTX שמשחק פה ושם משחקים או מרנדר וידאו מלא (או 2) ביום. הכרטיסים בנויים עם איוורור מעט שונה וגם האחריות בהתאם – לכרטיס Quadro יש אחריות ל-5 שנים.
  3. לכרטיסי Quadro יש דרייברים מיוחדים המפעילים פונקציות שאינן פעילות כלל ב-GTX. החסרון (אם אפשר לקרוא לזה כך) זה שכרטיסי Quadro אינם מתאימים כל כך למשחקים אך הם בהחלט מתאימים לעבודות מאסיביות והדרייברים מאפשרים שלל תכונות שדרושות בדיוק לסוג העבודות הללו.

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

מכאן נעבור להתקנת CUDA.

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

  • כשזה מגיע לגירסת לינוקס – אין להתקין גירסת לינוקס שמיועדת לדסקטופ, כלומר אובונטו 15,16,17 (בין אם בגרסאות 04. או 10.) שמיועדות לדסקטופ אינן מתאימות לפרודקשן הואיל והעבודות שירוצו עם ה-CUDA הן למשך מספר שנים ולא לשנה שנתיים, ובנוסף – נדרשת יציבות מקסימלית ולכן יש להתקין את אחת מהפצות הלינוקס הבאות:
    • גירסת CentOS 7.3 (ואם אתם עדיין מתעקשים על גירסה 6 של CentOS – אז CentOS 6.9)
    • SLES 12 SP2 ומעלה – של SuSE
    • Debian 8-Jessie או Debian 9-Stretch. ניתן להשתמש גם ב-Debian 7-Wheezy אולם סביר להניח שיהיו בעיות קומפילציית מודולים בהמשך, קחו זאת בחשבון.
    • אובונטו – הנה הפתעה לקוראים: הגירסה היחידה המומלצת היא Ubuntu 16.04.2 LTS (אם יש לכם 16.04.01 – בצעו שדרוג ל-16.04.02). זו הגירסה היחידה לשרתים שקנוניקל משחררת ותעמוד מאחורי גירסה זו ל-5 שנים הקרובות. שאר הגרסאות מיועדות לדסקטופ והן משתנות תדיר, דבר שממש לא מומלץ להתקין בשרת.
  • אחת הטעויות הנפוצות (במיוחד מאנשי לינוקס שהתחילו עם אובונטו) היא התקנת סביבה גרפית גם בשרת. זו טעות, במיוחד אם אתם משתמשים בכרטיס GTX לעבודות CUDA. ה-GPU צריך לרנדר את הסביבה הגרפית 60 פעם בשניה (או 50 בחלק מהמקרים) וזה סתם מוסיף עבודה ל-GPU ולכן: בשרת, לא מתקינים סביבת עבודה גרפית. תתרגלו לטרמינל, מה קרה? 🙂
  • לא להריץ update/upgrade סתם כך! במקרים רבים עדכון הפצת הלינוקס ישדרג גם את הספריות והקרנל ובמקרים רבים אין קרנל מודול ל-GPU שמקומפל לקרנל החדש, מה שמצריך או קימפול מחדש או שימוש ב-kmod/dkms כדי לקמפל מודולים לקרנל החדש. שימוש בקרנל חדש מצריך reboot ולכן עדכונים ושדרוגים – יש לבצע בסוף יום עבודה או לקראת סופ"ש על מנת שלא להפיל עבודות שמשתמשות ב-CUDA.
  • לא להפעיל RAID תוכנה על השרת. תלוי בסוג העבודה, יכול להיות שבנוסף ל-GPU, גם ה-CPU יהיה מלא בעבודה ולכן בד"כ מומלץ שלא להקים RAID תוכנה אלא RAID חומרה עם כרטיס (למעט בשרתים בהם יש RAID חומרה על לוח האם). אני מודע לכך שזו נשמעת המלצה מוזרה, אולם ראיתי מקרים כאלו ש-RAID תוכנה נפל (במיוחד שמדובר בדיסקים SATA "ביתיים" פשוטים) כשה-CPU היה חנוק עם כל הליבות שלו. כרטיס RAID פשוט עולה 50$ ואם המערכת שלכם הולכת לייצר המוני קבצים לקריאה וכתיבה סימולטנית – חברו אותה לסטורג' או במינימום NAS טוב.
  • אם יש לכם הפצת CentOS – השתדלו לא להשתמש בקרנלים מ-ElRepo Repository. ה-REPO הזה נותן קרנלים חדשים ל-CentOS אולם מנסיוני הם מלאים באגים כרימון.

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

בהצלחה.

גילוי נאות
הטמעות ותיקון תקלות הקשורות ב-CUDA זה חלק מהשרות ש"חץ ביז" נותן

על הקשחות תחנות עבודה/דסקטופ ושרתים

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

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

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

  • אנשים מסתכלים על המאמרים של מיקרוסופט וחושבים שעניין האבטחה זה כמו שמיקרוסופט מפרסמת – 3-5 עמודים בלינקים שונים ואפשר לסמן ✔ על הנושא. זהו, שזה לא. אבטחת מידע רצינית בין אם זה על דסקטופ או שרת היא הרבה יותר מורכבת ואתם מוזמנים להעיף מבט על ה-CIS Benchmark שנחשב ה-דבר בהקשחה. על Windows 10 בלבד מדובר על 942 עמודים. Windows Server 2012 R2? זה 732 עמודים. (ועם CIS זה הולך לפי ניקוד לגבי השינויים שעושים, כל דבר מקבל ניקוד שונה)
  • אין "הקשחה אחידה". איש אבטחת המידע רוצה את מקסימום האבטחה, איש ה-IT רוצה פחות כדי שהוא אשכרה יוכל לעבוד בצורה נוחה, ולכן זה יקח לא מעט זמן לעבור על הנקודות ולבצע את הדברים.
  • "חיתוך פינות" – הנה משהו שאני שומע שוב ושוב מלקוחות פוטנציאליים: "כבר עשית את רוב העבודה ללקוחות קודמים, תביא את זה, נעשה תיאומים ונגמור עניין". הבעיה – עדיין לא פגשתי לקוח שמוכן שקוד או סקריפטים שכתבתי עבורו – יעברו הלאה ללקוחות אחרים, גם אם מדובר בדברים שכתבתי בביתי עם ה-LAB שלי. לקוחות רוצים משהו פשוט: שילמנו? זה נשאר אצלנו וזה לא עובר לאף לקוח, אז צריך לכתוב מחדש דברים שוב ושוב.
  • אוטומציה – האם אפשר לעשות את הדברים בצורה אוטומטית פחות או יותר? (להריץ אוטומציה בלי הגדרות פר שרת ששונים מאחד לשני יוביל להשבתה של המערכות שלכם. ראיתי כבר מישהו שניסה זאת פעם) – בהחלט, אבל זה דורש עבודה של 2-3 חודשים של כתיבה ומימוש כל הסעיפים והגדרת קובץ שבו יהיה אפשר לבחור מה יהיה enabled ומה יהיה Disabled, וכן, אני מדבר על אוטומציה ל-Windows עם דברים כמו Ansible.זו עבודה שאינה קלה שמצריכה המון snapshots הואיל וכל מימוש סעיף ובחינתו מצריך snapshot ו-rollback לאחר הבדיקה.
  • תחנות עבודה / דסקטופ – אפשר גם לעשות שם אוטומציה בנוגע להקשחה אולם עדיף לעשות Image מאסטר ולשכפל בין התחנות, תוך יצירת שינויים בהתאם לתפקיד התחנה/דסקטופ.
  • רגולציה / Conformance tests – יש הבדל ענק בין חברה לייבוא שימורים לבין חברת ביטוח או בנק שרוצים הקשחות. במקרים של הגופים הגדולים, חוץ ממחלקת אבטחת מידע צריך לערב את המחלקה שאחרית על מימוש רגולציות ו-Conformance tests (ראיתי מקרה שעבודה ענקית של הקשחה בוטלה ברגע האחרון לפני מימוש רק כי לא עירבו את המחלקה הזו. עבודה עבורי של חצי שנה נעלמה במחי מייל אחד מאותה מחלקה).
  • שילוב הקשחה של Windows ו-Linux. רעיון נחמד, לא ניתן לביצוע מכיוון שמדובר במערכות לגמרי שונות שמצריכות סקריפטים שונים לחלוטין.

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

שידור וידאו: על קידוד וצרות של רוחב פס ומחיר (חלק 2)

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

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

  • חברת HOT: הערוצים המתורגמים משודרים דרך מערכת הכבלים עם מערכת DOCSIS כאשר ישנו מרכז בקרה שמשדר את הדברים המוקלטים/מתורגמים מהמרכז דרך המערכות החוצה לגולשים. מערכת ה-DOCSIS היא מערכת מעולה לדברים האלו והחיבור הקואקסיאלי של הכבלים מאפשר שידורים ו-DATA ברוחבי פס פנומנליים. עם DOCSIS 4 לדוגמא, אפשר להגיע למהירות חיבור אינטרנט (ושידור) של 1 ג'יגהביט פר בית! (במאמר מוסגר אציין כי יש לי השגות לגבי ההגדרות שמגדירים בארץ. צפיתם פעם בכבלים ופתאום התמונה קפאה או שראיתם קוביות? על זה אני מדבר). לעומת זאת הערוצים המוזרמים ישירות מחו"ל (CNN, ערוצי ספורט זרים, ערוצי סדרות בשפות זרות וכו') נקלטים בצלחות לווין גדולות בעמק האלה ומועברים דרך כבלי תקשורת למרכז בראש העין ומשם לצופים.
  • חברת Yes: בחברת Yes הדברים מעט שונים. לכל לקוח יש צלחת לווין והלקוח קולט דרכה את כל השידורים שהחברה מנגישה ללקוחותיה. שידורים מתורגמים מועלים דרך צלחת לווין שלהם והשידור נקלט על ידי צלחות הלווין של הלקוחות.
  • עידן/עידן+ – עד לפני מס' חודשים, השידורים בעידן היו שידורים אנלוגיים באיכות SD. החל מחודש מרץ 2017 בעידן עברו סוף סוף לשידור/קליטה עם DVB-T2 שמאפשר קליטת שידורים עד Full-HD אולם למעט ערוץ 1 (שמשדר ב-HD, לא Full HD) השאר עדיין משדרים ב-SD וכפי הנראה בקרוב יעברו לשדר ב-HD או Full HD. עוד פרטים תוכלו לקרוא באתר המצוין GoDigital.

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

כשזה מגיע ל-SD, HD ו-Full HD, אפשר לאמר פחות או יותר שהתעשיה בישראל הסתדרה, אבל אז מגיעה לה בעיית ה-4K (לא נדבר על כאן על 8K שחברה כמו NHK משדרת ביפן ועוד בשידור חי!) והבעיה היא רוחב פס. ל-HOT אין ממש בעיה כי הכל נחשב כ"תשתית פנימית", אולם ל-Yes ועידן יש ויש בעיה: שידור 4K עם אודיו 5.1 דורש רוחב פס של פי כמה וכמה בהשוואה להיום, שלא לדבר על כך ש-VOD דרך האינטרנט הוא בעייתי בישראל הואיל וחיבור האינטרנט הוא א-סינכרוני כך שכל העלאה של תכנים ע"י אחד מתושבי הבית או שימוש נרחב של תושבי הבית באינטרנט (צפיה ביוטיוב, משחקים אונליין וכו') די מהר "חונקת" את חוויית הצפיה ב-4K (אתם מוזמנים לנסות זאת בחבילת ה-4K של נטפליקס), ומה קורה עם עידן/עידן+? לא יכולים עם DVB-T2 לתמוך ב-4K בכלל, עד שיצא DVB-T3 עוד שנה וחצי כמדומני.

גם בארצות אחרות כמו ארה"ב הבעיה לא פחות חמורה מאצלנו. שם כבר משדרים רוב הזמן HD (ובחלק מהמקרים FULL HD) אולם כשזה מגיע ל-4K, מאפשרים זאת דרך האינטרנט בלבד באתרים יעודיים של הרשתות או רשתות VOD מבוססות אינטרנט כמו Netflix, CBS Access או Amazon וידאו וכו'.

הבעיה המרכזית של כולם זה שהם רוצים לשדר 4K אך עם רוחב פס של SD. הם מוכנים לעשות החלפה של כל הציוד (כולל הממירים בבית, תחום שהיה להם קרב לא קטן עם ה-FCC בשנה שעברה) אבל הם לא רוצים בעיות של רוחב פס בין אם בשידור לוויני או שידור תכנים דרך האינטרנט בחיבור DSL או אחר, ולכן רובם לא עברו ל-4K ורק חלק קטן משדר ב-Full HD.

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

  • הוא עדיין לא מאפשר שידור 4K ברוחב פס של SD עם אודיו 5.1. הוא צורך פחות רוחב פס מ-H.264, אבל בשבילם (במיוחד בארה"ב) זה לא מספיק.
  • הבעיה הכי גדולה: כסף, או ליתר דיוק – תמלוגים והגוף האחראי על התמלוגים (MPEG-LA) דורש סכומים שלדעת כל הגופים שרוצים להשתמש (ומשתמשים) ב-Codec – הסכומים מאוד גבוהים.

מי שכן עשה משהו בנידון היו חברות הצפיה בוידאו ברשת כמו Netflix ואמזון, שאימצו מקודד חדש שמגיע מגוגל בשם VP9. המקודד נמצא בשימוש כשמורידים תכנים לטלפון/טאבלט ולאט לאט הם מכניסים אותו לשימוש בצפיה ישירה. יש עוד "לקוח" שמשתמש בצורה כבדה מאוד ב-VP9 יחד עם מקודד האודיו Opus. אולי שמעתם עליהם – יוטיוב. ברוב המקרים זה הפורמט שיוטיוב מגישים לגולשים למעט במקרים של דפדפן אקספלורר, ודפדפן ספארי (שתומך עד H.264). יותר מכך, בהשוואה שנערכה בין H.265 ל-VP9 מול H.264, הצליחו 2 המקודדים לתת ב-Bitrate יותר נמוך תוצאות יותר טובות מאשר ב-Bit Rate גבוה של H.264.

גם VP9 וגם Opus נכנסים תחת פורמט הקונטיינר WebM, והפורמט נתמך בדיוק באותם מקומות כמו שיוטיוב נתמך, כך שאם חושבים להקים תשתית כזו, רוב המשתמשים יוכלו לקבל וידאו ואודיו / אודיו בלבד – ברוב המכשירים כאשר ניתן להוסיף FallBack ל-H.264 (או AAC או MP3 במקרים של אודיו בלבד).

ישנו עוד מקודד אחד שכל החברות הידועות (גוגל, מיקרוסופט, מוזילה, נטפליקס, אמזון, אדובי, הולו וכמובן חברות חומרה כמו AMD, ARM, nVidia, סיסקו, ברודקום ואינטל) עובדים יחד תחת עמותת המלכ"ר Alliance for Open Media. שם המקודד: AV1. המטרה? ליצור משהו יותר טוב בהרבה מ-H.265 ללא צורך בתשלום על תמלוגים. פשוט תטמיע ותשתמש.

אבל זה לא נעצר כאן: מקודד AV1 כבר כיום (מי שרוצה לנסות את המקודד, אהלן וסהלן, נדרש ידע בלינוקס וידע עמוק בשימוש במקודדים) מוביל על HEVC והתוצאה שחברות השידור המסורתיות רוצות לראות – 50% מרוחב הפס של H.265, כלומר רבע מ-H.264 – ואז האימוץ יחל. כבר כיום טלפונים כמו גלקסי S8 ו- +S8 תומכים ב-AV1 (לא בברירת מחדל) ומכשירים סלולריים רבים יתמכו בו, חברות השידור באינטרנט כבר עושות ניסויים על AV1 וישחררו תמיכה בו ברגע שהוא יצא, דפדפנים כמו כרום, פיירפוקס ו-Edge יתמכו בו וכל מי שלא יתמוך בו יעמוד בפני אפשרות של שימוש ב-AV1 איכותי ללא תשלום תמלוגים לשידור, או תשלום מחירים גבוהים ל-MPEG-LA עם H.265. אתם יכולים לנחש את ההמשך.

אז האם כדאי לעבור ל-VP9/Opus? זה תלוי.

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

לעומת זאת, חברות שידור אינטרנט שלהם אין ציוד בחוץ בכל מיני מרכזים וממירים ללקוחות – יכולים להמיר קבצים ל-VP9, כפי שציינתי לעיל – הצצה ביוטיוב עם דפדפן כרום/פיירפוקס/Edge תראה לך מה זו איכות של VP9 – ובכך להנות בחסכון ברוחב פס (כשמקודדים ב-Bit Rate יותר נמוך אך עדיין שומר על איכות כמו H.264) ובגודל הקבצים אם אתם מאפשרים הורדת הקבצים ללקוחות (אפשר להשתמש ב-DRM כמו של Widevine כדי להגן על התוכן).

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

 

שידור וידאו: על קידוד וצרות של רוחב פס ומחיר (חלק 1)

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

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

בעבר אתרי אינטרנט רבים העבירו שידור וידאו או קליפים בקידוד WMV של מיקרוסופט או VC, או VCM בחלק הקטן מהמקרים, אולם כיום כולם (למעט אתרים שלא עודכנו שנים ועדיין חושבים שהעולם הוא עדיין ברובו משתמש במיקרוסופט) עברו לשדר בקידוד של MPEG-4 עם פרופיל Base או Main והאודיו מגיע או כ-AAC או כ-MP3. היתרונות של מקודדים (Codecs) אלו הוא בכך שכל מערכת הפעלה, טלפונים סלולריים וטאבלטים – תומכים בכך וכל מי שמשדר מעוניין להגיע לכמה שיותר קהל מבלי שהגולשים יצטרכו להתקין אפליקציות/תוספים מיוחדים, מה שגורם במקרים רבים לתקלות ולאנשים שאין להם תמיכה והם נוטשים וממשיכים הלאה.

אז כיצד בעצם אפשר לדחוס יותר משתמשים על אותו רוחב פס?

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

אבל יש פתרון אחר, שכולו קוד פתוח ונתמך בפלטפורמות כמו Wowza ואחרים (כן, גם במערכות בלוגים כמו WordPress) שנקרא Opus שמגיע מ-קרן Xiph ומהנדסים רבים בעולם עובדים בהתנדבות בזמנם הפנוי על פיתוחו. גירסה 1.2 (ו-1.2.1) שוחררה לא מזמן. אתם יכולים להיכנס לדף הזה, לגלול לאמצע ולבחור בקידוד וב-Bit Rate. אני ממליץ לבחור שם Opus 1.2 עם 32 קילוביט לשניה ולנגן ותתרשמו בעצמכם מהאיכות.

בהמשך הדף אתם תגיע לדף דוגמיות דיבור, שם אתם מוזמנים לבחור שוב את Opus 1.2 ולבחור ב-12 קילוביט לשניה, הכי נמוך, ואז לשמוע את הדברים בניבים שונים באנגלית (מה שמהווה אתגר לא קטן לקידוד, דיבור ב-Welsh וכו'). לעניות דעתי – האיכות פנטסטית.

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

אז מה עושים? לשמחתנו ב-HTML5 יש אפשרות לקבוע Fallback כך שאם הציוד של הלקוח אינו תומך ב-Opus, הוא יועבר לגירסה ב-MP3 או AAC.

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

מה רע? 🙂

בפוסט הבא נדבר על ה"חבר" של Opus – קידוד וידאו VP9.

קונטיינרים, OpenStack ושינוי מערכות

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

אז החלטתי לכתוב פוסט שינסה לתת כמה טיפים לגבי נושאים אלו.

נתחיל ב-OpenStack: למרות שזו פלטפורמה מעולה לוירטואליזציה ומערכת ליצירת שרותי PAAS/SAAS/IAAS, כדאי לקחת בחשבון את העלויות שלה. כן, ישנה גירסה חופשית אך גירסה זו משתנה מדי כמה חודשים ואין שום בטחון שגירסה שתצא עוד חצי שנה תהא תואמת לגירסה הנוכחית ולכן מומלץ לחברות שרוצות OpenStack לרכוש את הגירסה שהפצות הלינוקס ומספר חברות אחרות מציעות (לא את הגירסה שכל מיני חברות מציעות של HP כ-Helion כי זו גירסה די מתה). המחיר אינו זול (מ-20K$ ומעלה) אולם אתם כחברה יכולים להיות שקטים שהמערכת שלכם תיתמך לשנים הקרובות (בין 3 ל-5, תלוי איזו גירסה קניתם ומתי) ותקבל עדכוני אבטחה ותיקוני באגים קריטיים.

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

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

יחד עם זאת, מעבר לקונטיינרים מחייב הבנה כי קונטיינרים אינם מכונות וירטואליות והדברים עובדים בצורה שונה לחלוטין בכל הרמות, החל מהקמה, הרצה, עדכוני קונטיינרים, כתיבה/קריאה ל-Shared storage חיצוני ועוד ועוד.

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

כך לדוגמא, אם יש לכם אפליקציית JAVA שרצה על JBoss, תצטרכו קודם לחפש לכם פתרון אחר במקום JBoss (כמו Wildfly, tomcat וכו'), להעביר את הקוד של האפליקציה ל-GIT ואז להשתמש בכלים כמו S2I או מערכות כמו Jenkins כדי להקים את ה-Images שכוללים את האפליקציית Server להרצת ה-JAVA וכשהיא תרוץ, היא תפעיל את האפליקציה שלכם שכתבתם ב-JAVA (או להשתמש ב-OpenShift שיעשה לכם את רוב העבודה 🙂 )

למרות ש-OpenStack יכול להריץ קונטיינרים, מומלץ יהיה להשתמש במערכת Scheduling כמו OpenShift, Kubernetes, Docker Swarm, Rancher ואחרות כדי להריץ את הקונטיינרים, כלומר אם משתמשים ב-OpenStack, עדיף להרים מכונות VM שישמשו כ-Nodes כדי להריץ את הדברים הללו.

כשזה מגיע ל-Storage, אינני ממליץ לזרוק את ה-Storage מהחלון, אולם כדאי לחשוב על חלוקה מעט שונה של ה-Storage לצרכים השונים. OpenStack יכול להסתדר עם iSCSI ו-NFS, אולם קונטיינרים צריכים NFS בלבד. אם אתם משתמשים ב-Object Storage על מנת לאחסן קבצים סטטיים או תמונות לדוגמא, יכול להיות שיהיה עדיף להקים "מיני סטורג'" שמורכב משרת עם דיסקים + JBOD (במקרה הצורך) הואיל ו-Object Storage אינו מצריך מהירות גבוהה.

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

גילוי נאות
שרותים אלו ניתנים ע"י חץ ביז

העתיד: דיסקים, Storage ו-NVME-OF

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

ואז הגיעו דיסקים SSD ובהתחלה יצאו SSD עם חיבור SAS אך במקביל יצאו דיסקים SSD בחיבור SATA, וכאן החל הבלבול: הרבה אנשים מכירים את המפרט הזה של SAS מול SATA ו-SATA הרי תמיד יתן ביצועים יותר נמוכים מול SAS, לא?

התשובה: במקרים של דיסקים מכניים – בהחלט. במקרים של SSD – זה יוצא ההיפך. קחו דיסק SSD בחיבור SATA ותקבלו לדוגמא מהירות קריאה של 550 מגהבייט לשניה. לזה, שום SAS לא הגיע עם דיסקים מכניים (אלא אם מכניסים את ה-Cache של הבקר אבל זה יפה במבחנים, לא לעבודה במציאות) וכך עולם הדיסקים חזר "אחורה" ל-SATA ופורמט ה-SAS די "מת" למרות מאמצים מצד יצרני בקרים ושרתים להוציא (מאוחר מדי, LSI היו הראשונים להוציא מוצרים ב-2013) את SAS-12G, וכך המצב בשנתיים האחרונות בשוק הוא שדיסקים SSD קיימים בגירסאות SATA בלבד – אבל הדיסקים עצמם מכילים את כל תכונות ה-Enterprise כמו תיקון תקלות אוטומטי, שמירת מידע עצמאית בעת הפסקת חשמל, שרידות גבוהה בעבודות כבדות ועוד.

דיסקים SSD מבוססים SATA מאפשרים לחברות להמשיך לעבוד כאילו הם עובדים עם דיסקים מכניים או דיסקים SSD ישנים, ורבים נוטים עדיין לעשות את הטעות לעבוד כ-RAID-5,50,60 כשהם שוכחים 2 דברים מאוד חשובים:

ה-RAID-5 וה"אחים" שלו 50,60 ביצעו 2 דברים חשובים: נתנו ביצועים גבוהים הנובעים מעבודה עם ריבוי דיסקים וחלוקת העבודה בין הדיסקים, ושרידות יותר גבוהה מכיוון שאם הולך דיסק אחד או 2 (בהתאם לשלב ה-RAID) – המערכת היתה ניתנת לשיקום לאחר החלפת הדיסקים. עם SSD לעומת זאת (גירסת Enterprise!) הביצועים שהדיסקים האלו מוציאים די "חונקים" כל כרטיס רשת. תחשבו על כך: 2 דיסקים SSD ב-RAID-0 מוציאים מהירות תיאורתית של 1100 מגהבייט לשניה (בקריאה). נתרגם זאת לג'יגהביט ונקבל .. 8 ג'יגהביט, כלומר כרטיס רשת של 10 ג'יגהביט יהיה תפוס ב-80% בזמן שהוא משדר את ה-DATA מצמד הדיסקים, ושוב – אני מדבר על 2 דיסקים בלבד. אז מה בעצם נותן בקר דיסקים? ביצועים? יש כבר לדיסקים, לא צריך גם Cache. שרידות? ב-SSD ל-Enterprise יש יכולות הרבה יותר מרשימות של שרידות פנימית מאשר כמעט כל בקר RAID בשוק. ובכל זאת, חברות ממשיכות לעבוד כך. מדוע? אני חושב שזה עניין של הרגל.

בשנתיים האחרונות נכנסנו לעידן חדש של דיסקים SSD, מה שבהתחלה נקרא PCI SSD והיום פשוט נקרא NVME SSD. לדיסקים הללו לא תמצאו שום RAID כי הדיסק מחובר ישירות לתושבת PCIE X4 (בחיבור שנקרא כיום U.2, חלק מהיצרנים לצערי עדיין משתמשים בחיבור קנייני משלהם, לרווחתם של יצרני הדיסקים והשרתים, לצערם של הלקוחות ש"ננעלים" בכך שלא ניתן להכניס דיסקים יותר טובים מצד ג'). הדיסקים הללו כיחידות עצמאיות נותנות יותר ביצועים מכל מה שתשיג עם SSD ו-RAID, מהירויות של 2-4 ג'יגהבייט לשניה בקריאה ועד 2 ג'יגהבייט בכתיבה עם עשרות עד מאות אלפי IOPS (וכמובן את המילה האחרונה בשרידות, ושוב – שרידות הרבה יותר גבוהה מכל דיסק מכני שאתם מכירים) ושם כבר אין RAID (ואם רוצים RAID 0,1,10 – עושים זאת בתוכנה. הביצועים לא יהיו נמוכים יותר בהשוואה לבקר יעודי, האמינו לי, גם אם תנסו את זה על מעבד i5 פשוט [ניסיתי בעצמי מול בקר יוקרתי של LSI ]).

מי שבתחום כבר בוודאי מכיר את כל מה שכתבתי, אבל מה בעצם הלאה?

אם נסתכל מבחינת דיסקים, בשנה הנוכחית השוק מנסה להסתגל למצב חדש שבו יש הרבה יותר ביקוש מהיצע. דיסקים NVME SSD של 3-4 טרהבייט, גם אם תנפנף מול היצרן בכרטיס אשראי פלטיניום, תשלום מיידי או ערימת מזומנים – תיאלץ במקרים רבים לחכות וזה כרגע עדיין "מכה" ב-HP, DELL וגם ב-Lenovo. היצרנים נתפסו "במערומיהם" עם דרישות היסטריות לשבבי Flash מצד כל יצרני המחשבים והטלפונים. כולם רוצים שבבי NAND ועכשיו. יצרני השבבים גדלים (חברת TSMC לדוגמא, אחת החברות הגדולות ליצור שבבים – מתכננת בניה של FAB נוסף בסין בדיוק בשביל זה) ושבבי ה-3D NAND החדשים מאפשרים ליצור שבבים עם כמות אחסון יותר גדלה בליטוגרפיה בשיטות יותר "ישנות" כך שניתן פר Waffer ליצור יותר שבבים. שלבים אלו ואחרים יתורגמו לשחרור לחץ בשוק במהלך השנה שנתיים הקרובות.

אבל גם אם הבעיה תיפתר, נמצא את עצמנו בבעיה אחרת: בשביל ביצועים רציניים צריך NVME SSD וגם אם יש לך דיסקים חדשים וגדולים כאלו, איך בדיוק תשתמש בהם? זה לא שיש לך בקר RAID להגדיר Virtual Disk שעל זה אתה מתקין Windows, Linux, vSphere וכו'.. אפשר כמובן להוסיף דיסק קשיח כלשהו (ולהשתמש בבקר הפנימי כדי לבנות RAID-1 מדיסקים פשוטים) כדי להתקין את מערכת ההפעלה וכו', אבל הדבר הבא שהיצרנים ידחפו נקרא NVME-OF (זהירות, לינק לקובץ PDF). זהו הסטנדרט חדש שנבנה ע"י החברות שבנו את סטנדרט NVME, ועם הסטנדרט הזה אנחנו משתמשים בכמה מושגים שבוודאי שמעתם עליהם:

  • ה-AFA (כלומר All Flash Array) – מערכת סטורג' (או שרת) שבנוי כולו מדיסקים NVME SSD.
  • על מה נעביר את הנתונים? זוכרים ROCE? אז הוא חוזר לסיבוב נוסף, ולאלו שאוהבים לשפוך כסף כאילו אין מחר (בנקים, מכוני מחקר יוקרתיים וכו') – Infiniband.
  • ובאיזו שיטה? זוכרים iSCSI? אז נגזור משם את ה-Target ו-Initiator, שיהיה לכם חיים יותר קלים.
  • אבל מה עם כתובות IP וכו'? זה ישאר, רק שהפעם זה "נעקר" מה-OS ומועבר לביצוע ע"י כרטיס הרשת (כלומר TCP Offload).

עכשיו נשלב את הכל ביחד: נבנה שרת מבוסס Dual Xeon עם 128 ג'יגה (עדיף יותר, תלוי בכמות ה-Clients וכו') מבוסס לינוקס עם קרנל 4.8.7 ומעלה, עליו נרים מערכת שתהווה בעצם Target ובה ישבו לא רק הדיסקים אלא גם מספר כרטיסי רשת עם פס רחב (25 ג'יגה ומעלה או Infiniband). הכרטיסים יחוברו למתג תואם ומשם יחוברו לשאר השרתים שאנו מעוניינים. את חלוקת ה-Volumes וכו' נעשה על ה-Linux והמערכת בלינוקס תשדר זאת דרך ה-ROCE כבלוקים (אפשר עם שילוב TCP/IP, אפשר גם בלי אבל אז יתחילו הצרחות ממחלקת ה-IT) וה-Initiator בשרתים יתחבר ל-Target (יהיו גם אפשרויות אותנטיקציה, הצפנה וכו'). שרתים ישנים יוכלו להעלות את ה-Initiator לדוגמא דרך IPXE (או PXE לחובבי טכנולוגיה קלאסית) ומשם ה-OS יעלה ויקבל תמיכה מלאה כאילו מדובר בדיסקים מקומיים.

והביצועים? אם נשווה זאת לדיסקים NVME מקומיים, ההבדל יהיה באחוזים בודדים. מכיוון שכל השיטה מעיפה כל דבר שמוסיף Latency, הביצועים נראים כאילו מדובר בדיסקים מקומיים, רק שאין צורך לבצע תחזוקת דיסקים פר שרת והכל מבוצע ממקום אחד (ומנסיון, התחזוקה לא כזו מורכבת). סתם דוגמא: גם אם שפכתם כסף והפכתם את המערכת תקשורת שלכם ל-100 ג'יגהביט, תקבלו (במספר חיבורים במקביל) קצב של 93 ג'יגהביט בקריאה, ו-40 ג'יגהביט בכתיבה. עכשיו תנסו לדמיין מערכת VDI לאלפי משתמשים ואיך זה יעבוד, וכן – יש Initiators ללינוקס, Windows ול-VMWare כבר כיום.

כמובן שחובבי מיקרוסופט לא ישארו בצד ואם הם רוצים להקים לעצמם Target מבוסס Windows Storage Server אז הם יצטרכו להמתין קצת לגירסה הבאה.

לסיכום: דיברתי כאן על דיסקים SSD, על תקשורת שגבוהה בהרבה מ-10 ג'יגהביט, על NVME-OF (ממש על קצה המזלג). הטכנולוגיה קיימת כבר כיום (חברת Mellanox  כבר דוחפת ומדגימה אותה), אבל שום חברה לא עוברת מהיום למחר לטכנולוגיה חדשה שמצריכה החלפת מתגים וכרטיסי רשת ורכישה רצינית של NVME SSD ושרתים לכך. אלו דברים שלוקחים זמן, לפעמים שנים – אבל זהו הכיוון שהשוק ל-Data Center עובר אליו. חברות סטורג' רבות ישמחו למכור לכם את הפתרון לאחסון מחר בבוקר, אבל לפחות מבחינת TCO ו-ROI (ואם החברה מוכנה לאמץ מעט ראש פתוח) אני ממליץ לחשוב על פתרון בניה עצמית. הוא הרבה יותר קל ממה שרבים נוטים לחשוב (סתם דוגמא: הוא הרבה יותר קל מאשר הקמה וניהול של שרת ZFS) והוא פתרון שיכול להיות Scale Out די בקלות וזול בהרבה אם חושבים להרחיב – מאשר פתרון קנייני.

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