תגובות לכתבה: מה זה RAID?

פורום רשתות, IT ומחשוב כללי - רשתות, ראוטרים, מחשבים ניידים, אביזרים וכו'.
kingikra
סמל אישי של משתמש
חבר שלא מהעולם הזה
חבר שלא מהעולם הזה
הודעות: 8040
הצטרף: דצמבר 2006
נתן תודות: 335 פעמים
קיבל תודות: 242 פעמים

נושא שלא נקרא #16 

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

תודה

urisavor
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 908
הצטרף: ספטמבר 2009
מיקום: רחובות
נתן תודות: 46 פעמים
קיבל תודות: 54 פעמים

נושא שלא נקרא #17 

kingikra כתב:שאלה:
RAID5 עובד בשיטת פויינטרים או כמו בקרת תצורה?

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

pup26
חבר ותיק
חבר ותיק
הודעות: 2810
הצטרף: אוקטובר 2007
מיקום: שערי תקוה
נתן תודות: 62 פעמים
קיבל תודות: 79 פעמים

נושא שלא נקרא #18 

יופי של מאמר, עשה לי הרבה סדר.

תודה רבה יאן!!!
פרופיל מאומת זה אחד הדברים אם לא ה

kingikra
סמל אישי של משתמש
חבר שלא מהעולם הזה
חבר שלא מהעולם הזה
הודעות: 8040
הצטרף: דצמבר 2006
נתן תודות: 335 פעמים
קיבל תודות: 242 פעמים

נושא שלא נקרא #19 

urisavor כתב:
kingikra כתב:שאלה:
RAID5 עובד בשיטת פויינטרים או כמו בקרת תצורה?

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

urisavor
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 908
הצטרף: ספטמבר 2009
מיקום: רחובות
נתן תודות: 46 פעמים
קיבל תודות: 54 פעמים

נושא שלא נקרא #20 

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

byoyo
סמל אישי של משתמש
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 327
הצטרף: אפריל 2005
נתן תודות: 11 פעמים
קיבל תודות: 21 פעמים

נושא שלא נקרא #21 

אני אנסה להסביר קצת...
שימו לב להבדל בין ביט (bit) לבין בייט (byte).
בייט אחד=שמונה ביטים (לשם ההבנה אפשר לומר שבייט מייצג תו בודד, למשל a, זה לא 100% נכון - אבל זה מספיק)

Raid5 בגדול עובד עם משהו בסגנון שער XOR.
שער XOR מקבל שני פרמטרים, 0 או 1.
אם הפרמטרים שונים הוא מחזיר 1 אם הם שווים הוא מחזיר 0.

בסופו של יום הכל נכתב על הדיסק בתור או 0 או 1 (ביטים)
על מנת לאפשר שרידות שמאפשרת איבוד דיסק אחד בודד, מה שעושים זה לוקחים את כל הביטים (1 או 0) מאותו מקום בדיוק בכל הדיסקים ומעבירים בשער.
התוצאה המתקבלת היא ה- parity bit.

עכשיו נניח שאבד אחד הביטים של המידע, תמיד ניתן לחשב אותו... עושים XOR להכל ולפי ה- parity bit ניתן לדעת מה הוא היה.

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

בנוסף ניתן להבין למה לכתוב לתצורת RAID5 זה "יקר" - עבור כל בייט שנכתב יש חישוב של parity bit... (=בקר טוב יותר כותב יותר מהר.. יש לו מעבד מהיר יותר ו- cache)

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

תומר.

lebovitz
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 393
הצטרף: יולי 2007
נתן תודות: 1 פעם
קיבל תודות: 7 פעמים

נושא שלא נקרא #22 

ובהמשך למה ש-byoyo אמר

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

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

guyezra
חבר במועדון ה-20K
חבר במועדון ה-20K
הודעות: 34542
הצטרף: ינואר 2005
נתן תודות: 181 פעמים
קיבל תודות: 622 פעמים

נושא שלא נקרא #23 

תודה רבה!
השכלתי

omri
חבר שרק התחיל
חבר שרק התחיל
הודעות: 44
הצטרף: מאי 2005
נתן תודות: 0
קיבל תודות: 0

מידע משלים

נושא שלא נקרא #24 

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

בנייה
כל דיסק בנוי ממערך של פלטות (plates), כל פלטה מחולקת לtracks (כמו תקליט ווניל) וכל track מחולק ל-sectors
כשמסתכלים על הכל בתלת מימד זה נראה כמו סדרת גלילים (cylinders) הנוצרים מכל הtracks באותו מרחק מהמרכז, כל sector בתלת מימד מקבל כתובת יחודית הנקראת block
התמונה הבאה מנסה להמחיש את זה:
תמונה
מעל ומתחת לכל פלטה יש ראש קורא והראש יכול לזוז רק לשני כיוונים פנימה (לכיוון המרכז) והחוצה

פעולה
הדיסקים כל הזמן מסתובבים וכאשר ניתנת פקודת קריאה כתיבה הראש זז קדימה או החוצה לtrack המבוקש, ואז הוא ממתין לסיבוב של הדיסק כדי שהבלוק הרצוי יתמקם מתחת לראש , בממוצע מדובר על המתנה של חצי סיבוב. סך כל הזמן שעובר ברגע קבלת הפקודה ועד תחילת הקריאה נקרא access time
לדוגמא , נניח שהדיסק מסתובב במהירות של 10000 RPM (10000 סיבובים לדקה) הזמן לעשות חצי סיבוב הוא 3ms, ונניח שהזמן הממוצע של הראש לזוז בין tracks הוא 5ms אז הaccess time הוא 8ms, זה זמן לגישה אקראית לבלוק, אם הגישה היא רציפה (כלומר גישה לבלוקים עוקבים כמובן שהזמן הראה יותר מהיר, לכן חשוב לעשות defrag )
מכיוון שלוקח זמן לדיסק לגשת לקריאה (בדוגמא 8ms) יש מגבלה על הכמות של פקודות אותן הדיסק יכול לקבל בשניה, בדיסק הדוגמא שלנו הכמות היא 1000ms/8ms=125 כלומר 125 פקודות לשניה (IOPS)
אבל מה קורה אם האפליקציה שלנו צריכה 200IOPS לשם כך צריך לחבר שני דיסקים למערך אחד והמערך הזה מסוגל לנפק 250IOPS (ע"פ דיסק הדוגמא)
וכאן למעשה הומצא הRAID הראשון , RAID 0
RAID0
כמו שהסברתי הפתרון הזה נועד להגברת המהירות ע"י חיבור דיסקים במערך אחד, בנוסף הנפח שמתקבל הוא כמספר הדיסקים, אולם כמו שנאמר במאמר , אם דיסק אחד מתקלקל המידע אבוד.
RAID1
בגלל חוסר אמינותם של הדיסקים היה צורך ליצר שרידות מידע במצב של כשל דיסק, לשם כך חיברו שני דיסקים ביחד כשאשר הם העתק מדוייק אחד של השני כך שאם אחד הדיסקים נפגע, הדיסק הנוסף יכיל את כל המידע וכך תושג ההשרדות. מבחינת פעילות כל IO (פקודת דיסק) שמגיע לכתיבה מוכפל ונכתב על שני הדיסקים , אולם כל IO שמגיע לקריאה מנותב רק לאחד הדיסקים , וזה נותן ביצועי קריאה כמו RAID0
זהו הפתרון היקר ביותר אבל גם השריד ביותר ובמינימום פגיעה בביצועים

RAID5
פתרון זה נועד הוריד את עלות פתרון RAID1 כאשר עדין מספקים שרידות גבוהה אולם במחיר כבד של ביצועים
אני אפנה למאמר לתמונה של RAID5 אתם יכולים לראות בתמונה הזאת כי הדיסקים מחולקים לשכבות (בציור יש 4 שכבות A,B,C,D כל שכבה מנוהלת כיחידה אחת ודיסק את נבחר לשמור את מידע השרידות ע"י פעולת XOR המיצרת parity, בציור הparity מצויין כp קטנה ליד כל אחת מהשכבות.
בקריאת מידע הביצועים הם דומים לRAID0 קצת יותר נמוכים (כי דיסק אחד תמיד מכיל את המיגע להשרדות ,parity, ולא יכול לשמש לקריאה
בכתיבת מידע יש פגיעה רצינית בביצועים, קודם צריך לקרוא את המידע הישן , אחר כך צריך לחשב שוב את הparity ע"י XOR , ולבסוף לכתוב אותו שוב, כלומר על כל בקשה של IO לכתיבה צריך לבצע שתי בקשות כתיבה על הדיסקים (פי שתיים יותר איטי) בנוסף בגלל שהRAID צריך לנהל את החלוקה לdata וparity הוא צריך לשמור את המידע בבלוקים קטנים יחסית למשל של 512KB כלומר אם מגיעה בקשה של 1MB היא תפוצל לשתי בקשות אותן יבצעו פעמים (עבור 1MB בקשה, ביצועים איטיים פי 4, עבור בקשה בגודל 2MB ביצועיים איטיים פי 8)

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

rib
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 215
הצטרף: פברואר 2005
נתן תודות: 10 פעמים
קיבל תודות: 8 פעמים

נושא שלא נקרא #25 

השרשור כאן רק מחזק את התחושה שלי שהמאמר נגמר מהר מידי.
מצד אחד לא אבן שושן ומצד שני ממש לא אנציקלופדיה.

פספוס משהו...

uriler
סמל אישי של משתמש
גורו
גורו
הודעות: 10116
הצטרף: פברואר 2005
מיקום: חולון
נתן תודות: 190 פעמים
קיבל תודות: 513 פעמים

נושא שלא נקרא #26 

rib,
המאמר נתן "על קצה המזלג" את ההבנה מה זה RAID, מה עושים עם זה, למה, כמה וקצת איך.

לגבי השרשור - אני נהנה לראות שהשרשור הזה לא פחות מקצועי מהמאמר ובהחלט ניתן לראות איך הקהילה הזו מפרה הדדית אחד את השני.
תענוג!

aladin_7
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 106
הצטרף: מאי 2006
נתן תודות: 2 פעמים
קיבל תודות: 0

נושא שלא נקרא #27 

מאמר מצויין

רק שאלה
נגיד ויש לי מערך בגודל של 3 דיסקים (raid 0/5). האם ניתן להוסיף עוד דיסק למערך מבלי לבנות את הכל מחדש?
השאלה מתייחסת גם לבקר יעודי וגם לאלו שנמצאים על הלוחות אם

תודה

FIRE_WIRE
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
הודעות: 3790
הצטרף: מאי 2005
מיקום: צפון
נתן תודות: 419 פעמים
קיבל תודות: 132 פעמים

נושא שלא נקרא #28 

תודה יאן על המאמר הפרקטי (Y)
And the meek shall inherit the earth
...

shlomiassaf
סמל אישי של משתמש
חבר ותיק
חבר ותיק
הודעות: 1444
הצטרף: נובמבר 2005
מיקום: חיפה והקריות
נתן תודות: 42 פעמים
קיבל תודות: 70 פעמים

נושא שלא נקרא #29 

למה שללתם באופן מוחלט RAID 5 בתוכנה?

למשל FREENAS?

הרי הפתרון המוצע הוא למשתמש הבייתי...

motico
כתב
כתב
הודעות: 1509
הצטרף: מרץ 2005
מיקום: גבעתיים
נתן תודות: 100 פעמים
קיבל תודות: 114 פעמים

נושא שלא נקרא #30 

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

שלח תגובה

חזור אל “רשתות, אינטרנט ו- Fiber”