מספר מאמרים על ZFS

hetzbh

New member
מספר מאמרים על ZFS

בשבועיים האחרונים כתבתי מספר מאמרים על ZFS (גם ZFS על לינוקס וגם על מערכות יוניקס אחרות)
למעוניינים, כל המאמרים מופיעים בקטגוריית ZFS בקישור הבא: http://linvirtstor.net/category/zfs
 

hetzbh

New member
אם תסתכל בלינק

יש גם מאמר שמתייחס ספציפית לגירסת BSD וכו', אבל אתמצת לך:
&nbsp
* חברות מעוניינות בפתרון שרץ על מערכות הפעלה שהן עובדות/מכירות, שזה בד"כ Windows או Linux ותאמין לי שהרבה אנשי סיסטם לא מעוניינים ללמוד מערכת הפעלה נוספת רק בשביל שירוץ ZFS. אם איש הסיסטם שם מכיר טוב BSD לסוגיו, אז הוא בין כה ישתמש ב-ZFS כבר ממזמן.
* מבחינת תמיכת חומרה, אני יודע שיש דעות לכאן ולכאן, אבל כשזה מגיע לשרתים, לינוקס תומך בהרבה יותר ברזלים ואני יכול להעמיד לך בשורה שרתים די חדשים ש-FreeBSD עליהם נותן הודעת Panic עוד בזמן ה-Boot או שהוא לא מכיר בציוד התקשורת שיש בשרתים, וכשאני מדבר על ציודי תקשורת, אני מדבר על Infiniband, FC, FCoE וכמובן על UEFI, במיוחד גירסת ה-UEFI שיצאה בחודשים האחרון שאין שם יותר תמיכת CSM.
* מבחינת ביצועים - פעם היה לגרסאות BSD יתרונות בהשוואה ל-ZFS (במיוחד שרבים השוו את הביצועים למימוש FUSE של ZFS בלינוקס, דבר שדי "מת" כיום), כיום בכל פרוטוקול וכל דרך שתרצה, לא תמצא הבדלי ביצועים.
&nbsp
אם זה ZFS למשתמש הביתי אז הוא בכיף יכול להריץ FreeNAS (בתקווה שהוא לא יתקל בתקלות כמו שאני נתקלתי, ששם אף אחד לא ממש סייע לי ושמשום מה כלל לא מופיעות לי ב-ZFS על לינוקס), ואם הוא משתמש כבר בסולאריס, אז הוא כבר משתמש ב-ZFS והוא כבר בין כה לא יכול לייצא את ה-Pool שלו החוצה לשום מערכת (בגלל בעיות גירסה).
 

ירון316

New member
כן קראתי את זה

אני די מחבב את הבלוג שלך, קראתי הרבה ממה שכתבת.
הבדלי ביצועים פחות מטרידים אותי, אלא מה יקרה אם yum upgrade כולל קרנל ידפוק לי את ההתקנה של ה-ZFS (קרה לי כבר). ב-BSD זה לא קורה.
BSD מאפשר היום יחסית בקלות להשתמש בדרייברים של ווינדוס, אז עניין החומרה פחות מטריד. ברמת שרתים, FreeBSD תומך ברוב רכיבי החומרה היום.
לגבי סולאריס אגב, הסכמתי עם מה שכתבת בבלוג. אני עובד בארגון מהיחידים בארץ (לדעתי) שמחזיקים Sun Storage אמיתי של אורקל. יקר להחריד אבל אמנם אמין מאוד בזכות ה-ZFS. חבל שהם סגרו את הקוד. שונא את לארי אליסון...
 

hetzbh

New member
כמה דברים

קודם כל, פקודת yum upgrade כשאתה משתמש בערוצים הרשמיים לעדכונים לעולם לא דופקת קרנל. קרנל של גירסאות יציבות נשאר אותו דבר, כלומר קרנל של CentOS 6.0 תואם ב-100% בינארית לקרנל שיש ב-6.6. המדיניות של רד-האט היא להכניס תיקונים מבלי לשבור שום דבר וכל קרנל שיוצא עובר בדיקות תואמות מלאות ועד כה לא נמצא שום קרנל ש"שבר" משהו בגלל ששדרגת באותה גירסת Major. האפשרות
היחידה שכן ישברו דברים זה אם אתה משתמש בדרייברים שהם Binary Only כמו דרייברים של nViidia או הדרייבר הסגור של ATI, אבל בשביל זה יש DKMS, ואותו דבר לגבי מודולים של ZFS. גם אם אתה לא משתמש ב-YUM אלא מקמפל בעצמך מה-git, פשט תריץ את ה-DKMS כדי שיקמפל מול kernel-devel אחרון, כך לא תהיה שום בעיה. (אגב, אני מקווה שבשבועות הקרובים אוכל להוציא grub2 שתומך ב-native בהרבה יותר גרסאות pool כך שהפרטישן היחיד שתצטרך שהוא לא ZFS יהיה ה-boot/ ואולי גם פרטישן ל-EFI שהוא בין כה חייב להיות VFAT). אגב, בשביל ה-FUN, תנסה לעשות boot ל-FreeBSD כלשהו עם גרסאות ה-UEFI החדשות שאין בהם יותר CSM - כלומר אין זכר ל-BIOS, מבטיח לך שיהיה מעניין


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


לגבי ה-Storage של אורקל, יש לו כל מיני יתרונות, אבל רק לפני חודש הדגמתי לחברה כלשהי את ZFS על לינוקס כשהשרת היה מורכב עם JBOD ודיסקים של 50 טרה ודיסקים SATA (עם 4 כונני SSD) מול המפלצת ZFS של אורקל שהיתה להם. רוצה לצחוק? המערכת שאני הקמתי היתה מהירה ב-Throughput יותר ב-13% בהשוואה למערכת של אורקל ועלות הברזל היתה יותר זול ב-54% ממה שהם שילמו לאורקל (אני מדבר רק על תשלום עבור הברזל, בניכוי התשלום עבור תמיכה ושרות).
 

ירון316

New member
אה ואגב תמיכה ושירות של אורקל

התמיכה שלהם לא רעה בכלל, אבל המחיר הוא ממש אסטרונומי.
 

hetzbh

New member
לספר לך סיפורים מסמרי שיער?

על התמיכה, השבתות שרתי פרודקשן וכו'?
 

Infin1ty

New member
מה אתה אומר?

בדיוק כמו שהעדכונים האחרונים לקרנל ב CentOS/RHEL 6.6 הרסו את הדריבר (גירסא קודמת) של ixgbe (צ'יפסטים של 10Gbit של אינטל), אותו דבר יכול לקרות ל ZFS.
&nbsp
יש עדיין דברים שהם לא יציבים בלינוקס (אתה חושב שהם יציבים, תשים מערכת כזו ב Production תחת תצורות שונות, לא אלו הברירת מחדל שאתה מכיר) ותגלה אולי דברים יוצאי דופן, זה גם אחת הסיבות שזה עדיין ל stable.
&nbsp
&nbsp
 

hetzbh

New member
ובכן

נתקלתי בבעיה של ה-ixgbe גם בבית (כן, אני בדיוק מתכנן בבית לעבור ל-10G) והפתרון כפי שצוין כאן היה לקחת kmod-ixgbe-3.23.2-1.el6.elrepo.x86_64 מ-elrepo והעדכון הזה אגב, היה קיים עוד מהשבוע שיצא CentOS 6.6 וכמדומני שהוא קיים גם ב-repo של CentOS Plus, אם אתה מסתכל אליו מדי פעם.
ב-ZFS לעומת זאת, אם אתה הולך על גירסה 0.6.3, המודולים עולים מעולה גם על העדכונים האחרונים הרשמיים של CentOS/RHEL 6.6, אלא אם אתה עובד עם קרנל 3.19 שאתה מקמפל, ואז תוריד מה-GIT את 0.6.4 שצריך לצאת בקרוב.

לגבי Stable או לא: אם תקרא את הפוסטים שכתבתי על ZFS ושמתי לינק, תראה שאני ציינתי שיש יתרונות לשימוש ב-ZoL ויש גם חסרונות. לא טענתי שיש להשתמש בגירסת ZFS על לינוקס בכל מצב, אבל ברוב המקרים אפשר גם אפשר. הרמתי שרתי פרודקשן ל-VOD, ל-ESXI, שרתי קבצים ל-SMB ועוד כמה, וכולם רצים על לינוקס אחרי טסטים רציניים שהמערכת "נסחטה". זה לא גירסה 0.6.3, אלא 0.6.4 + עוד כמה תיקונים שהרכבתי והרצתי Stress testing רציני לפי הדרישות של לקוחות.

אל תשכח שהגירסה הפתוחה של ZFS עוברת שיפורים כל הזמן, הן מהצד של יבוא טלאים מ-Illumos לכיוון FreeBSD וגם מהצד השני. סתם דוגמא: אני מנסה לדחוף ל-GIT של GRUB2 (ומחכה עד אין קץ שיאשרו) טלאים לתמוך ב-UEFI ללא מודול של CSM ו-American Megatrend העיפו מגירסאות אחרות של UEFI ואם תזכור, OmniOS וחבריו עדיין משתמשים ב-GRUB 0.97 שלא ממש עובד טוב עם UEFI בגרסאות האחרונות, כך שאם תנסה להקים שרת ZFS עם OmniOS על שרת G9 של HP לדוגמא, תחטוף Panic ב-Boot. בלינוקס יש לזה פתרון ב-CentOS 7, ב-FreeBSD Current יש פתרון צולע (עושה בעיות עם ה-Frame Buffer). יש גם שיפורים אחרים שנותנים בסביבות 130% ביצועים יותר גבוהים ב-GIT של ZoL שגם הם יום אחד יגיעו למערכות האחרות.

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

Infin1ty

New member
שוב

הדריבר היה שבור ב 6.6, לקח להם חודשיים בערך לסדר את זה (Intel) וגם החבילה מ ELREPO לא עבדה (היה fallback לגירסא המקורית שמגיעה עם הקרנל).
&nbsp
כשאתה מוכר ללקוחות שרות, מה קורה שיש לך בעיה רצינית? אתה יודע איך הכל עובד בפנים? אתה יודע איך לעשות HA (ע"י 2 ראשים ושימוש ב JBODs)? אתה יודע איך לגרום ל failover לעבוד מהר? אני יכול להתקיל אותך בכל כל הרבה שאלות שאתה לא תדע לענות.
&nbsp
כמה ניסיון (שנים) יש לך עם zfs ומערכות כאלו?
 

hetzbh

New member
תראה

אני אתייחס כללית לעניין, ללא קשר למודול זה או אחר (קרה לי הרבה עם דרייברים של nVidia ל-Quadro ול-VMWare שהגירסה של המודול לא התאימה ו/או לא הצליחה להתקמפל מול העדכון האחרון): אם אתה עובד עם עדכונים, אתה תמיד יכול להתקין kernel ולא לשדרג kernel, כך שבמקרה כזה אתה יכול לחזור אחורה ב-GRUB2. אתה גם יכול לבצע snapshot עם ה-LVM (אם אתה לא עובד ZFS על ה-root) ולחזור אחורה לגמרי עם כל ה-OS, כך שאתה יכול תוך דקות ספורות לחזור אחורה ולנסות במועד מאוחר יותר.
&nbsp
לגבי שאלתך השניה, אנחנו לא מכירים אישית, אבל אני כן יכול לאמר לך שאני לא מוכר משהו שאני לא מכיר אותו מספיק טוב לדעתי. אני לדוגמא לא מומחה במוצרי מיקרוסופט ולכן אני לא מוכר שרותים על המערכות הללו כמו שאני לא מוכר שרותים על NetAPP או EMC ואם מישהו פונה אליי לגבי הדברים הנ"ל ואחרים שאין לי ידע - אשמח להפנות אותו לאחרים שימכרו לו שרותים, בניגוד לחלק מהפרילאנסרים וחברות ש"מראות" שהן יודעות לבצע המון דברים בשעה שהן לא.
&nbsp
כשאני מוכר שרות על ZFS, אז כן, אני מכיר את הנושא די טוב והייתי שמח להזמין אותך בהזדמנות אליי לראות את הדברים רצים על ברזלים (לא VM). האם אני יודע לעשות HA? כן, לפחות ב-2 שיטות - Corosync/DRBD/PaceMaker וגם ב-Lustre.
&nbsp
אתה יכול להתקיל אותי במה שתרצה אבל היחס שלך כבר מגיע לזלזול והתנשאות וזה לא משהו שאני מעוניין להשתתף בו.
 

Infin1ty

New member
אוקי

אם אני רוצה שיהיו לי 2 ראשים לסטוראג', נניח שראש אחד שולט על pool0 והראש השני שולט על pool1, במקרה של קריסת אחד הראשים הראש השני מגבה אותו (כלומר במצב נתון ראש אחד יכול לשלוט ב pool0 ו pool1.
איך היית מסתכל על הארכיטקטורה מהנק' הזו? גם מנק' מבט שבכל רגע נתון JBOD אחד יכול לקרוס לי. (כלומר אתה צריך לדעת לתכנן נכון את החילוק שלך של הדיסקים ב JBOD עם התחשבות בכמות בקרים מספקת בלי לפגוע בביצועים, כלומר לוח אם שאין לו שיתוף על ה PCIE)
אה, ולא מדובר על לרפלק את המידע, מדובר ממש ש 2 ראשים רואים את אותם הדיסקים. (בגלל שאלו דיסקים של SAS, מן הסתם אלו יכולים להיות דיסקים SAS זולים של 7200)
איך אתה מתמודד עם כך שה ZFS בטעות לא יעשה import ל pool בצד השני בזמן שהוא בשימוש? איך אתה עושה ש ה failover יהיה מהיר (תחשוב שיש לך 600 דיסקים, import כזה יכול לקחת כמה דק'...)
&nbsp
 

Infin1ty

New member
לא מבין למה פשוט לא להשתמש במשהו שהוא native

לא חסרים מערכות היום שמבוססות על Illumos, הקרנל שגם Nexenta (מפתחים) ומשתמשים בה.
&nbsp
 

ירון316

New member
דעתי הצנועה...

כי Illumos מבוססת על הגרסא האחרונה הפתוחה של OpenSolaris, שכבר בת 4-5 שנים...
אגב כיוון שהיום כל אלה מבוססות OpenZFS, גם FreeBSD נחשבת Native. הקוד מוטמע בתוך הקרנל בצורה מלאה.
 

Infin1ty

New member
יש לך טעות

גם הגירסאות האחרונות של Oracle מבוססות על גירסאות ישנות יותר, אז?
Illumos היא לא OpenSolaris שהייתה לפני כ 4-5 שנים, אין לי מושג כמה אתה מעורב ב Illumos אבל זה רחוק ממה שהיה לפני כ 4-5 שנים. (רחוק מאוד מאוד)
&nbsp
&nbsp
 

hetzbh

New member
לא מדויק

אם נעזוב את ZFS בצד לרגע, ב-Illumos יש חוסר רציני בעדכוני דרייברים לציודי שרתים (כרטיסים), התמיכה של FreeBSD בציודי שרתים היא גם לא משהו לרוץ לספר לחבר'ה.
אורקל עצמם תומכים מעולה בציוד שרתים - כל עוד מדובר בציוד שהם מוכרים, אבל אם תשאל את אנשי המכירות שלהם כרגע, הם הרבה יותר דוחפים את ה-Oracle Linux מאשר הפתרונות Solaris (למעט במקרים שאין להם פתרון מבוסס לינוקס, ע.ע. ZFS Storage).
 

Infin1ty

New member
כל מה שחדש לא אומר שהוא טוב

תשים לב שהציוד של אורקל הוא לא תמיד bleeding edge הוא מתקדם בהתאם ליציבות, ורובו גם מבוסס על אותם דברים ש Nexenta משתמשים וממליצים כדי שהמערכת שלך תיהיה יציבה.
גם LSI שהם משחררים בעצמם כרטיסים חדשים לא ממליצים תמיד לקנות אותם (למרות התמיכה שלהם) ועוד הרבה יצרנים אחרים. (זה רק ממחיש שלא יצא לך מספיק לעבוד בסקאלות גדולות מול החברות האלו ישירות)
וההמלצה שלך לגבי Areca רק ממחישה את זה.
&nbsp
&nbsp
 

hetzbh

New member
ושוב..

הציוד של אורקל אולי הוא לא Bleeding Edge אבל לפחות אורקל עובדת על הדרייברים שלו (בסולאריס) ובודקת היטב לפני שהיא משחררת. אתה רוצה לסמוך על הבדיקות של Nexenta? אהלן וסהלן.
לגבי כרטיסי LSI - אני מעדיף לדחוף 2 כרטיסים פשוטים שלהם לשרת ולחבר ל-2 JBOD (לדוגמא) מאשר לכרטיס אחד עם 2 כניסות, ויש לכך יתרונות.
&nbsp
ובעניין Areca - הזכרתי את Areca אם אתה בונה JBOD. אין לי שום בעיה אם תרכוש JBOD מוכן מ-HP/DELL/LENOVO. מהנסיון שיש לי עם ה-Expander של Areca שאתה בונה JBOD, הוא עושה את העבודה מעולה.
&nbsp
 
למעלה