תרגול 3 raid. 7/14/20152 עובדה : בעת שכלל החומרה מתקדם בצעדי...
Post on 22-Dec-2015
237 Views
Preview:
TRANSCRIPT
3תרגול
RAID
04/19/232
בעת שכלל החומרה מתקדם בצעדי ענק, התקדמות עובדה: הדיסקים מבחינת זמן גישה ונפח איטית יותר.
לעבוד עם מספר גדול של דיסקים, כאשר בעיית פיתרון: המהירות נפתרת בגישה במקביל למספר דיסקים.
גם אם ההסתברות שדיסק בודד יתקלקל היא קטנה, בעיה: כאשר משתמשים במספר גדול של דיסקים, ההסתברות
אחד הדיסקים יתקלקל תגדל באופן משמעותי.שלפחות
להשתמש באלגוריתמים שיכולים לתקן שגיאות גם פיתרון: במקרה שידוע לנו רק חלק מהמידע הכולל.
04/19/233
לומדים בקורסים אחרים כי נושא גילוי ותיקון קטגוריות עיקריות:3שגיאות מתחלק ל-
גילוי שגיאות בלבד כאשר המידע העומד לרשותנו הוא 1.הקידוד של המידע.
גילוי ותיקון שגיאות כאשר המידע העומד לרשותנו הוא 2.הקידוד של המידע.
תיקון שגיאות כאשר ידוע איזה חלק מהקידוד פגום 3.)למשל, מספר הדיסק(.
אנו מתעניינים במקרה השלישי, דהינו אנו רוצים שהמערכת תחזיק מספיק מידע כדי לתקן טעות שמיקומה ידוע.
למשל, לשחזר מידע של דיסק מקולקל בהינתן מספר הדיסק המקולקל.
04/19/234
הנחות כלליות:במערכת מרובת דיסקים, נתוני הדיסקים •
זהים.במקרה של קריאה )כתיבה( במקביל •
לאותה כתובת בכמה דיסקים שונים, ובגלל שאנו לא מניחים סנכרון של סיבובי
הדיסקים, אין תלות בין זמני ההמתנה לתחילת מסילה בין הדיסקים השונים.
04/19/235
חישוב תוחלת הזמן של גישה )קריאה או mכתיבה( במקביל לאותה כתובת ב-
דיסקים:
לעיתים, במערכת מרובת דיסקים זמן הגישה הינו הזמן המקסימאלי לגישה מבין מספר
דיסקים או המינימאלי בהתאם לשיטת ולסוג הגישה.RAIDה-
כזכור, זמן גישה מורכב מ-
זמן תזוזת זרוע + השהיית סיבוב + זמן העברה
04/19/236
זמן תזוזת זרוע:חישוב תוחלת המינימום/מקסימום של זמן תזוזת
זרוע הוא מסובך ולכן בתרגילים נשתמש בזמן תזוזת זרוע ממוצעת.
השהיית סיבוב:תוחלת מינימום השהיית סיבוב מבין
m :דיסקים תוחלת מקסימום השהיית סיבוב מבין
m :דיסקים
קבוע בכל הדיסקיםזמן העברה:
rotTm*
1
1
rotTm
m*
1
Xובאופן כללי: הסטטיסטי ה-
04/19/237
בלי להיכנס יותר מדי להוכחות הסטטיסטיות הרעיון הוא כזה: דיסקיםnאם יש לנו במערכת שלנו
Rotation Delay הראשונים יסיימו את ה Xואנחנו מחכים ש- הראשונים שיסיימו אבלX)כלומר אנחנו לא יודעים מי יהיו ה-
הם יסיימו(מתי יש לנו צורך לדעת
של הדיסקים הללו הואRotation Delayאזי הזמן שבו יגמר ה-
1
X
n
)שימו לב שזה עובד עבור המקרה הפרטי של דיסק אחד שמחכים שיסיים את הדיליי שלו(
04/19/238
:RAIDסיווג שיטות
איזה אינפורמציה יתירה להחזיק .1.(parity)זוגיות –(.Reed-Solomonקוד אחר )–(.mirroringשכפול כל דיסק )–
04/19/239
:RAIDסיווג שיטות
(Striping Unitרמת גרעין ).2
בין מספר דיסקים, בכל byteאם נפזר כל דיסקים ובכל כתיבה 8קריאה נצטרך לקרוא
דיסקים )כולל דיסק הזוגיות(.9נצטרך
אם נשמור כל מסילה על אותו דיסק ודיסק אחר יחזיק את ביטי הזוגיות של כל קבוצת
דיסקים, נוכל לבצע קריאה בגישה לדיסק דיסקים.2אחד וכתיבה בגישה ל-
04/19/2310
:RAIDסיווג שיטות
השיטה לפיה נפזר את היתירות )המידע .3הנחוץ לתיקון שגיאות(
mאם אחד הדיסקים יכיל את הזוגיות של דיסקים אחרים, כל כתיבה תחייב גישה
(.hot spotלדיסק זה )
אם מפזרים את הזוגיות בין דיסקים שונים אז נפתרת בעיית העומס בכתיבה.
04/19/2311
: 1רמה
הדיסקים מחולקים לזוגות, כל זוג מוגדר •לוגית כדיסק אחד.
כל כתיבה לדיסק הלוגי תיכתב לשני •הדיסקים.
זמן הכתיבה הוא המקסימום של זמני הגישה.•
זמן הקריאה הוא המינימום של זמני הגישה.•
04/19/2312
1שאלה 1נתונה מערכת מרובת דיסקים הבנויה ע"פ רמה
.B ו- Aמדיסקים
לשני הדיסקים הנתונים הבאים:
.Trotזמן סיבוב – •
.Tavgזמן תזוזת זרוע ממוצעת – •
,B ו- Aעבור דיסק לוגי המורכב מהדיסקים •
מסילה לדיסק הלוגי?כתיבתא. כמה זמן תיקח
2max ,
2 1avg wait A wait B rot avg rot rotT T T T T T T
04/19/2313
1שאלה 1נתונה מערכת מרובת דיסקים הבנויה ע"פ רמה
.B ו- Aמדיסקים
לשני הדיסקים הנתונים הבאים:
.Trotזמן סיבוב – •
.Tavgזמן תזוזת זרוע ממוצעת – •
,B ו- Aעבור דיסק לוגי המורכב מהדיסקים •
מסילה מהדיסק הלוגי?קריאתב. כמה זמן תיקח
1min ,
2 1avg wait A wait B rot avg rot rotT T T T T T T
2רמה
מערך של שבעה כוננים לפחות, בו המידע מחולק בין הדיסקים סיבית אחר סיבית, כלומר הסיבית •הראשונה של המערך מאוחסנת בכונן הראשון, השנייה בשני וכו'. כך, כל קריאה או כתיבה של סיבית
בקוד המינג כקוד לתיקון שגיאות. אחת, גוררת קריאה וכתיבה מכל הכוננים. השיטה כוללת שימוש ( מנפח האחסון הנתון )השאר 57% סיביות מידע ולכן מנצל רק )כ-4 סיביות על כל 3קוד זה דורש
משמש לקוד לתיקון השגיאות(.שיטה זו היא היחידה המאפשרת זיהוי ותיקון מידע משובש )מידע שחלה שגיאה בקריאתו אך לא •
זוהתה על ידי הכונן הקורא( תוך-כדי עבודה.נדרש שכל הכוננים יסתובבו בסנכרון מלא, זה מול זה, כדי שפעולות הקריאה והכתיבה RAID 2ב-•
יתבצעו ביעילות. סיביות על 7הדרישה לשבעה כוננים לפחות נובעת מכך, שקוד המינג הקטן ביותר בשימוש מקודד •
צריך RAID, מערך ה-2 סיביות. ברמה 7 סיביות מידע. מכאן, שיחידת המידע הקטנה ביותר היא 4כל סיביות. בצורה דומה, ניתן 7 - שגודלה, כאמור, [1]להכיל כונן לכל סיבית ביחידת המידע הקטנה ביותר
כוננים וכו', על-פי קוד המינג המתאים.39 כוננים, 14מ- RAID 2להרכיב מערך
מתוך וויקיפדיה
04/19/2314
04/19/2315
:3רמה דיסקים, Gהדיסקים מחולקים לקבוצות של •
כל קבוצה תכיל דיסק זוגיות.יחידת האינפורמציה שרשומה על הדיסק •
.bitהיא כל פעם שנרצה לקרוא מידע )אפילו :אבחנה•
יחיד( נצטרך לגשת לכל byteבגודל הדיסקים ולקרוא את אותה כתובת, לכן
הזרועות של כל הדיסקים נמצאים תמיד מעל אותו גליל.
ראיתי וויכוחים לגבי יחידת האינפורמציה. בקורס הזה זה ביט!!!•
04/19/2316
:(parity)זוגיות
של ביטי המידע:XORביט הזוגיות הוא ערך ה-
דוגמא:)אז כמה דיסקי דיסקים. 4 יש 3 רמה RAIDבמערכת •
מידע?(
)זה המידע. אז מה תוכן . 00 101 001תוכן הבית הראשון הוא •
הדיסקים?(
תוכן הדיסקים:•a1 = 0, b1 = 0, c1 = 1, p1 = 1 a2 = 1, b2 = 0, c2 = 1, p2 = 0
...
),,(),,( cbapcbacbapcba
04/19/2317
2שאלה , בכל3במערכת מרובת דיסקים המאורגנת ע"פ רמה
נפרש byte דיסקים )כולל הזוגיות( כך שכל 9קבוצה יש בכל דיסק.bitכ-
נתוני הדיסקים: גלילים.50• משטחים.10• סקטורים בכל מסילה.20•.Kbyte 1גודל כל סקטור •.Tavgזמן תזוזת זרוע ממוצעת - •.Trotזמן סיבוב – •
04/19/2318
?Kbyte 8א. כמה זמן תיארך קריאת
הסבר:
8K הדיסקים, כך שמכל דיסק 8 מחולקים בין , שזה בדיוק הגודל של 1Kצריך לקרוא
סקטור. סה"כ: נצטרך לחכות לדיסק האחרון שיסיים את קריאת הסקטור.8מתוך ה-
8
8 1 20rot
avg rot
TT T
!!!!אלד
גוו
ף.ת בשק
ש טעוי
ה!!!אות
או מצ
ת, דיוק טעו
א ב, ל
טוב
שוטפ
י...מל
טיאופ
א ו ל
משה
עצה שלי: איך כדאי לחשוב על זה?
כדי להקל על החיים שלכם קצת בשאלות האלה אני מציע לכם לחשוב על הדברים הבאים:
כמה כל דיסק צריך לקרוא )כי הרי עכשיו כל אחד קורא 1.פחות...
כמה דיסקים צריך לקרוא\כתיבות )כלומר כמה קריאות\2.כתיבות מתרחשות בו זמנית(?
כמה מידע דרוש לי מתוך כל המידע שאני הולך להשיג?3.
שלי?אחרונה)וזה הכי חשוב( כמה זמן תיקח הקריאה ה4.
04/19/2319
04/19/2320
?Kbyte 1א. כמה זמן תיארך קריאת
הסבר:
1K הדיסקים, כך שמכל דיסק 8 מחולקים בין , שזה קטן מגודל של 128Bצריך לקרוא
סקטור. אבל אי אפשר לקרוא פחות מסקטור ולכן נצטרך לקרוא את הסקטור
בשלמותו.ההמשך דומה לסעיף הקודם.
8
8 1 20rot
avg rot
TT T
!!!!אלד
גוו
!!!!ה טעות
אות
ת!!!עויו
לומד מטו לא
מישה
04/19/2321
?Kbyte 160א. כמה זמן תיארך קריאת
הסבר:
160K הדיסקים, כך שמכל 8 מחולקים בין , שזה בדיוק הגודל 20Kדיסק צריך לקרוא
של מסילה. סה"כ: נצטרך לחכות לדיסק שיסיים את קריאת 8האחרון מתוך ה-
המסילה.
8
8 1avg rot rotT T T
04/19/2322
?Kbyte 8ב. כמה זמן תיארך כתיבת
הסבר:
בדומה לקריאה אך בכתיבה צריך לכתוב גם לדיסק הזוגיות. סה"כ: נצטרך לחכות לדיסק
שיסיים את כתיבת 9האחרון מתוך ה- הסקטור.
9
9 1 20rot
avg rot
TT T
ר...ה בסד
ה זם פ
אופת
ת...ביו
סר עקחו
ה איז
04/19/2323
?Kbyte 1ב. כמה זמן תיארך כתיבת
הסבר:1K הדיסקים, כך שלכל דיסק צריך 8 מחולקים בין
, שזה פחות מגודל של סקטור. אבל 128Bלכתוב אי אפשר לכתוב לפחות מסקטור. אז כדי שנוכל
לכתוב לסקטור מבלי לדרוס את המידע שהיה ב- 7K -8 הנותרים, קודם נקרא את כל המידע מK
– חישבנו בסעיף א, נעדכן את החלק הרלוונטי (1K -ונכתוב את כל ה )8K כולל הזוגיות וזה לוקח
זמן של עוד סיבוב.
rotrot
rotavg TT
TT
2018
8
04/19/2324
?Kbyte 160ב. כמה זמן תיארך כתיבת
הסבר:
160K הדיסקים, כך שלכל 8 מחולקים בין , שזה בדיוק הגודל 20Kדיסק צריך לכתוב
של מסילה. סה"כ: נצטרך לחכות לדיסק )כולל דיסק הזוגיות( 9האחרון מתוך ה-
שיסיים את כתיבת המסילה.
9
9 1avg rot rotT T T
משפט שיעזור לכם בחיים )ובמבחן(
M דיסקי מידע וNבידינו מערכת דיסקים של דיסקי עזר )יתירות כלשהי, זוגיות, עותקים
נוספים או כל דבר אחר(.
דיסקים M+1אזי לא קיימת קריסה של שממנה המערכת תוכל להתאושש
ממספר דיסקי גדול ממשובמילים אחרות: אם מספר הדיסקים שקורסים העזר, המערכת לא תוכל להתואשש
הבהרה: יכול להיות שקיימת נפילה של פחות דיסקים שלא
נוכל להתאושש ממנה.
04/19/2325
04/19/2326
:5 ו-4רמות ( היא בלוק.striping unitיחידת האינפורמציה )•זוגיות של בלוקים היא שרשור הזוגיות של הביטים.• בלוקים מקבילים G דיסקים, בכל Gעבור קבוצה של •
)המתחילים מאותה כתובת( אחד מהם בלוק זוגיות )כל פעם דיסק אחר(.
בכל קריאה של מידע מתוך בלוק אחד, ניגשים •לדיסק יחיד.
בכל כתיבה של מידע לתוך בלוק אחד, ניגשים לשני •דיסקים, הדיסק בו נמצא הבלוק ודיסק הזוגיות של
אותו בלוק. קוראים את המידע הישן משני הדיסקים ואז כותבים את המידע החדש, כאשר הזוגיות
מחושבת באופן הבא:_ _ _ _new parity old parity old data new data
שימו לב בבקשה למה שצריך בשביל
כתיבה
. יש צורך במידע הישן, במידע
החדש ובזוגיות הישנה כדי לכתוב זוגיות
חדשה
04/19/2327
d4d3d2d1d0דיסק
שורה
P0B3B2B1B00
P1B7B6B5B41
P2B11B10B9B82
P3B15B14B13B123
P4B19B18B17B164
(:4דוגמא )רמה
האם שיטה זו יעילה?
הבעיה היא
HotSpot
04/19/2328
d4d3d2d1d0דיסק
שורה
P0B3B2B1B00
B7P1B6B5B41
B11B10P2B9B82
B15B14B13P3B123
B19B18B17B16P44
(:5פתרון )רמה
04/19/2329
3שאלה ( המתוארת בציור,5 )רמה raid 5נתונה מערכת
כאשר נתוני הדיסקים הם: גלילים.50• משטחים.10• סקטורים בכל מסילה.20•.Kbyte 1גודל כל סקטור •.Tavgזמן תזוזת זרוע ממוצעת - •.Trotזמן סיבוב – •גודל בלוק הוא מסילה אחת.•
כמו בציור הכוונה כמו :
הטבלה
לפני שני שקפים: כלומר סך
5הכל דיסקים
04/19/2330
א. באיזה כתובת ובאיזה דיסק נמצא בלוק ?nהזוגיות של הבלוק ה-
מספר מסילה:
ולכן מספר הגליל:
ומספר המשטח:
מספר הדיסק:
4
nk
10410
k n
mod10 mod 104
nk
4 mod54
nm
הכוונה היא לאיזו מסילה
מתחילת הדיסקים בכלל
)לא מסילה בגליל(. כל בלוק
הוא מסילה.
04/19/2331
?nב. באיזה כתובת ובאיזה דיסק נמצא הבלוק ה-
אם דיסק הזוגיות מימין לדיסק של הבלוק אזי מספר הדיסק הוא:
. אחרת:
באופן פורמאלי:
היות ולכל הבלוקים באותה שורה, אותה כתובת )רק בדיסקים שונים( הכתובת תחושב כמו בסעיף קודם.
mod 4n
mod 4 1n
mod 4 mod 4 4 mod54
mod 4 1 mod 4 4 mod54
nn n
mn
n n
נ.ב.
Raid 6ישנה גם רמה שישית
אבל גם היא לא מעניינות אותנו בקורס זה. אבל תדעו שיש!!!
שאלה ממבחן – אביב תשס"ח א'
04/19/2333
04/19/2334
א. ברור שלא. אתם יודעים את זה לפי המשפט שניתן בתרגול הזה לפני כמה שקפים. אבל בואו נניחN+1 נפילה של לכללרגע שאין לכם את המשפט הזה, איך מוכיחים שזה לא נכון? הטענה היא ש
ניתן להתאושש. אז אנחנו נציג ברייד שלנו נפילה שלא ניתן להתאושש ממנה:
דיסקי יתירות. ונניח שנפלו כל דסקיN דיסקי מידע וMנניח שיש לנו מערכת מדהימה ומטורפת של דיסקים נכון? אבל איבדנו את כל המידעN+1היתירות ועוד סיק אחד מבין דיסקי המידע. סך הכל נפלו
היתיר שלנו, ולכן אין שום אפשרות לשחזר את דיסק המידע שנפגע )אם היה אפשר, זה אומר שאפשרהיה לשחזר את המידע הזה בלי שום דיסקי יתירות מלחתכילה, כלומר לחזר דיסק שנפל בלי שום עזרה
ואנחנו יודעי םשזה בלתי אפשרי(.אז תשימו לב לצורת ההוחכה: נתתי מקרה ספציפי שבו הטענה אינה נכונה, כי הטענה הייתה לכל נפילה.
שאלה ממבחן – אביב תשס"ח א'
04/19/2335
04/19/2336
ב. אוקיי השאלה הזאת היא שאלה של שני שלבים ולכל שלב יש שני חלקים בהוכחה, אז שימו לב איך
זה אמור להיראות:
נפילות. נוכיח את זה בשני 3המספר המינימאלי שממנו המערת לא תוכל להתאושש היא חלקים:
דיסקים שמהם לא ניתן להתאושש: אם נופל דיסק מידע, העותק 3 קודם כל נציג נפילה של שלו, ודיסק
.3הזוגיות אזיי לא ניתן לשחזר את המדיע שהיה על דיסק המידע. הראינו נפילה של עכשיו צריך להראות שניתן להתאושש מנפילות קטנות יותר: עבור נפילה של שני דיסקים יש
כמהכמה אפשרויות: אם נפלו שני דיסקים של מידע שהם לא עותק אחד של השני, אז לכל אחד
מהם ישעותק. אם הם כן עותק אחד של השני, אז נוכל לשחזר את אחד מהם בעזרת דיסק הזוגיות ואז
לשכפלאת התוצאה. אם נפל דיסק מידע ודיסק הזוגיות אז יש העתק לדיסק המידע, וניתן לשחזר את
הזוגיות. מינימאלי.3 ולכן 2הראינו שניתן להתואשש מכל נפילה של
( ייפלוM+1מה המקסימלי שממנו ניתן להתאושש? זה יותר פשוט: אם כל דיסקי העזר )שזה עדיין ניתן להתאושש כי כל דיסקי המידע המקוריים שלנו לא נפלו. האם ניתן לתהאושש
מנפילה שלM+2:דיסקים? לא לפי המשפט שנתנו. אם לא היה לנו את המשפט היינו צריכים להוכיח
אם נפל דיסק הזוגיות אז נפל גם לפחות דיסק אחד והעותק שלו )לפי עקרון שובך היונים( ואז לא ניתן
לשחזר אותו. אחרת, נפלו לפחות שני דיסקים עם העותקים שלהם )לפי אותו עיקרון( ושוב לא ניתן
לשחזר. אבל המשפט חוסך לכם את ההוכחה הזאת.
שאלה ממבחן – אביב תשס"ח א'
04/19/2337
04/19/2338
ג. זה די דומה. המספר המינימאלי שלא ניתן להתאושש ממנו הוא שתי נפילות – נפילה של דיסק
. ברור שניתן להתאושש מכל נפילה של דיסק D1 שלו עם XOR( והD1 )שאינו Dמידע כלשהו יחיד.
לגבי המקסימלי – כמו בשאלה הקודמת. נפילה של כל דיסקי העזר. ההוכחה היא לפי המשפט, או
לפי דוגמאות ספציפיות שלכם, מה שבא לכם.
ד. אוקיי, בשאלה הזאת יש כמה דברים שחשוב שתכתבו בניתוח שלכם, ואחרי זה תתנו הערכהלכל סיטואציה איזו מערכת מתאימה לה. אז נתחיל: המערכת הראשונה היא מערכת שבקריאה
של כל גזרה נסתפק בקריאה של דיסק המידע הראשון, או דיסק המידע השני )כלומר הראשון מבין
שניים( או קריאה של דיסק הזוגיות וגם דיסק אחר כלשהו. כלומר למרות שאין לנו נוסחא סטטיסטית
מדויקת למצב הזה )מישוה מכם רוצה לפתח במזן מבחן?( ניתן להבין שאנחנו נמצאים בערך שהוא
יותר מהססטטיסטי הראשון מתוך שניים. עבור כתיבה אנחנו צריכים לחכות קודם כל קטןלקריאה
דיסקים שונים )כולם צריכים לסיים(, ולא לשכוח את המילה 3של הזוגיות, ואז לכתיבה של החשובה:
נכון? האמת שהוא כזה גם בקריאה )תחשבו למה...(HotSpotדיסק הזוגיות הופך להיות
עבור המערכת השניה: כל קריאה תסתיים אחרי קריאה של דיסק המידע, או אחרי קריאה של דיסק
ואזD1 )אלא אם כן אנחנו קוראים מידע מD1הזוגיות של אותו דיסק מידע ואחד העותקים של הופכת אותו ואת ההעתק D1( נשים לב שהקריאה המתמדת הזאת מ2זה פשוט המהיר מבין
שלו גם כן לנקודה חמה.. עבור כתיבה אנחנו תמיד נחכה לקריאת זוגיות )אלא אם כן כותבים לדיסק
D1-3( ואז לכתיבה של שני דיסקים – האחרון מבינהם. זה יותר טוב מלחכות ל.
לכן לקריאה עדיפה המערכת הראושונה )סעיף ב'( ולכתיבה השניה. אבל חשוב לנו בתשובה הניתוח שלכם, כי זה כל מה שאנחנו בעצם רוצים לראות.
top related