עדיף? תלוי. כרגיל.
בתחום האיחסון קיימת משוואה משולשת שמחזיקה מעמד כבר שנים
אמינות
ביצועים
מחיר
אתה יכול לקבל כל 2 מהפרמטרים, אבל אף פעם לא את כל השלושה.
מתחילים בבסיס - נפח, ביצועים ומחיר של דיסקים במערום (מה שנקרא: JBOD - Just a Bunch Of Disks).
1. אמינות וביצועים:
בנה מערך רייד 10
אמינות: בינונית פלוס - אתה יכול לאבד דיסק אחד ללא חשש כלל, ועד חצי מהמערך שלך בתנאי שלא איבדת שני דיסקים באותו סט של רייד 1
ביצועים - מעולים. בתיאוריה שווה לביצועי רייד 0 - כתיבה וקריאה במקביל (לא מדויק, אבל בערך) מכל קבוצות רייד 1 במערך
המחיר: גרוע - שילמת על כמות גדולה פי 2 של כדי לקבל אותו נפח שהיית מקבל ממערך JBOD מקביל.
1.5 אמינות וביצועים:
רייד 50/60
אמינות - בינונית פלוס עד טובה מאוד
רייד 50 - זהה לאמינות רייד 10 - ניתן לאבד עד דיסק יחיד בכל סט של רייד 5
רייד 60 - אמינות טובה מאוד - ניתן לאבד עד 2 דיסקים בכל מערך של רייד 6
ביצועים:
רייד 50 - ביצועים טובים מאוד - חישובי parity בחומרה ייעודית מגבירים ביצועים עוד יותר, ובכל מקרה לא מתרחשים בקריאה (אחת הבעיות הידועות עם רייד 5, ומה שמוריד מעט מאמינותו), אך גם ללא חומרה ייעודית, ובתנאי שהתקן האיחסון לא מבצע דברים אחרים, מעבד מודרני יכל להתמודד עם זה ללא קושי ניכר.
רייד 60 - ביצועים בינוניים פלוס - יש לערוך שני חישובים על כל כתיבה (להבדיל מחישוב יחיד ברייד 50)
מחיר - בינוני - מאבדים דיסק יחיד או שניים מנפח הברוטו לעומת JBOD על כל סט, כלומר מינימום של שני דיסקים ברייד 50 (שני סטים של 3 דיסקים == 6 דיסקים ייתנו נפח של 4 דיסקים) או 4 דיסקים ברייד 60 (שני סטים של 5 דיסקים == 10 דיסקים ייתנו נפח של 6 דיסקים)
2. אמינות ומחיר:
בנה מערך רייד 5
אמינות: בינונית
אתה יכול לאבד עד דיסק אחד מהמערך ללא איבוד מידע
ביצועים - טובים - קריאה וכתיבה מ/אל מספר דיסקים במקביל וחוספת זמן בכתיבה לחישובי זוגיות
מחיר - טוב - אתה מאבד רק דיסק אחד על כל המערך - ככל שהמערך גדול יותר החלק היחסי שהולך לאיבוד קטן יותר
3. ביצועים ומחיר:
רייד 0
ביצועים - מעולים, כמו רייד 10 - כל הדיסקים משתתפים בקריאות/כתיבות, אין איבוןד זמן על חישבים
אמינות - גרועה מאוד - איבוד של דיסק יחיד מאבד את כל המידע בכל המערך
מחיר - מעולה - זהה לעלות הנפח של JBOD - אתה מקבל את כל הנפח מכל הדיסקים, אין איבוד נפח
עכשיו מתחיל החלק המעניין - מה חשוב לך?
ככל שתוסיף דיסקים למערך רייד 5 תשפר ביצועים, אך תקטין אמינות. ניתן להסתמך על הצהרות יצרן לגבי אמינות דיסק בודד (MTBF ופרמטרים נוספים) ובהתאם לפרופיל השימוש הצפוי (כמו המידע שישתנה בכל דיסק בממוצע על פני זמן נתון) להעריך את הסיכוי לכשל דיסק כלשהו.
דוגמא במספרים עגולים לשם הפשטות (לא מציאותי בעליל, וזכור שבפועל נתוני יצרן לעיתים לא דומים לנתוני אמת המפורסמים על ידי משתמשים מעת לעת):
נניח שיצרן מצהיר כי קצב השגיאות בדיסק (error rate) עומד על 1x10^15 - כלומר בערך שגיאה בביט בודד כל כ115TB של כתיבה לדיסק.
נניח שפרופיל השימוש שלך הוא 10TB ליום לדיסק.
אזי דיסק בודד יצבור שגיאות בקצב של 1 לכל 10 ימים.
אם במערך שלך יהיו 10 דיסקים, קצב השגיאות במערך יהיה 1 ליום (אם כי הגדלת ביצועים/קצב העברת נתונים ל 100TB ליום).
ככל שיש יותר דיסקים במערך - תוכל לכתוב את אותם 10TB מהר יותר, אך תסתכן בנפילת דיסק מהמערך מוקדם יותר (אם אתה שם חסם של 10TB למרות שהמערך מסוגל ליותר, בתיאוריה לא הגדלת את הסיכון ורק הרווחת ביצועים. בפועל אף אחד לא מגביל שימוש בדיסק/מערך לפי נפח שימוש עד נק' זמן).
נעבוד לרייד 50 - כאן יש לך אפילו יותר אפשרויות בחירה.
נניח שיש לך 100 דיסקים, הנה כמה אפשרויות לבניית מערך:
1. 10x10 - בנה 10 מערכים של 10 דיסקים כל אחד, עכלומר איבדת 10 דיסקים בנפח כולל
2. 2x50 - בנה 2 מערכים של 50 דיסקים כל אחד. איבדת רק שני דיסקים, אבל הסיכוי לכשל גדל מאוד מאוד וראה דוגמא קודמת על רייד 5.
3. 20x5 - בנה 20 מערכים של 5 דיסקים כל אחד - איבדת 20 דיסקים מהנפח, אך האמינות עלתה פלאים - אתה יכול לאבד את אותם 20 דיסקים לכשלים ועדיין תוכל לגשת למידע.
ועכשיו נעבור לדברים מעט מורכבים יותר
ניתן בתוכנה להגדיר מערך רייד 1 על 3 דיסקים, למשל. כלומר תוכל לאבד 2 דיסקים ועדיין לגשת למידע.
סטים של רייד 1 מעל 3 דיסקים ניתן לגבב לרייד 0, כלומר להגביר אמינות של מערך רייד 10 שתהה זהה לזו של רייד 60 בנפח קטן בהרבה אך ביצועים גבוהים בהרבה.
ניתן להשתמש במערכות קבצים שמאפשרות 3 דיסקים ל parity, למשל ZFS שמאפשר במערך בשם raidz3 - ניתן לאבד 3 דיסקים בכל מערך לפני איבוד מידע, וגם מערכים כאלו ניתן לגבב בתוך רייד 0 לטובת ביצועים.
ניתן להשתמש בערכות קבצים מבוזרות שמרפלקות (מעתיקות) את המידע על פני כמה מכונות שונות - זה נותן לך מלבד היתירות תוספת ביצועים, שכן אין לך יותר צוואר בקבוק של גישת רשת יחידה לאותו התקן איחסון (וברור שגיבוב פורטים במכונות לא משנה לצורך העניין - או אותו גיבוב ניתן הרי לעשות על המכונות המבוזרות ושוב השגנו הכפלה במהירות הגישה על גבי הרשת לנתונים).
אז התשובה אם זה עדיף היא כאמור בכותרת-
זה תלוי.
אבל כך זה כרגיל, לא? כל תשובה תמיד תלויה בכל מני גורמים...