Download presentation
Presentation is loading. Please wait.
1
תרגול 3 RAID
2
7/14/20152 עובדה : בעת שכלל החומרה מתקדם בצעדי ענק, התקדמות הדיסקים מבחינת זמן גישה ונפח איטית יותר. פיתרון : לעבוד עם מספר גדול של דיסקים, כאשר בעיית המהירות נפתרת בגישה במקביל למספר דיסקים. בעיה : גם אם ההסתברות שדיסק בודד יתקלקל היא קטנה, כאשר משתמשים במספר גדול של דיסקים, ההסתברות שלפחות אחד הדיסקים יתקלקל תגדל באופן משמעותי. פיתרון : להשתמש באלגוריתמים שיכולים לתקן שגיאות גם במקרה שידוע לנו רק חלק מהמידע הכולל.
3
7/14/20153 לומדים בקורסים אחרים כי נושא גילוי ותיקון שגיאות מתחלק ל - 3 קטגוריות עיקריות : 1. גילוי שגיאות בלבד כאשר המידע העומד לרשותנו הוא הקידוד של המידע. 2. גילוי ותיקון שגיאות כאשר המידע העומד לרשותנו הוא הקידוד של המידע. 3. תיקון שגיאות כאשר ידוע איזה חלק מהקידוד פגום ( למשל, מספר הדיסק ). אנו מתעניינים במקרה השלישי, דהינו אנו רוצים שהמערכת תחזיק מספיק מידע כדי לתקן טעות שמיקומה ידוע. למשל, לשחזר מידע של דיסק מקולקל בהינתן מספר הדיסק המקולקל.
4
7/14/20154 הנחות כלליות : במערכת מרובת דיסקים, נתוני הדיסקים זהים. במקרה של קריאה ( כתיבה ) במקביל לאותה כתובת בכמה דיסקים שונים, ובגלל שאנו לא מניחים סנכרון של סיבובי הדיסקים, אין תלות בין זמני ההמתנה לתחילת מסילה בין הדיסקים השונים.
5
7/14/20155 חישוב תוחלת הזמן של גישה ( קריאה או כתיבה ) במקביל לאותה כתובת ב -m דיסקים : לעיתים, במערכת מרובת דיסקים זמן הגישה הינו הזמן המקסימאלי לגישה מבין מספר דיסקים או המינימאלי בהתאם לשיטת ה -RAID ולסוג הגישה. כזכור, זמן גישה מורכב מ - זמן תזוזת זרוע + השהיית סיבוב + זמן העברה
6
7/14/20156 זמן תזוזת זרוע : חישוב תוחלת המינימום / מקסימום של זמן תזוזת זרוע הוא מסובך ולכן בתרגילים נשתמש בזמן תזוזת זרוע ממוצעת. השהיית סיבוב : תוחלת מינימום השהיית סיבוב מבין m דיסקים : תוחלת מקסימום השהיית סיבוב מבין m דיסקים : זמן העברה : קבוע בכל הדיסקים
7
ובאופן כללי : הסטטיסטי ה -X 7/14/20157 בלי להיכנס יותר מדי להוכחות הסטטיסטיות הרעיון הוא כזה : אם יש לנו במערכת שלנו n דיסקים ואנחנו מחכים ש -X הראשונים יסיימו את ה Rotation Delay ( כלומר אנחנו לא יודעים מי יהיו ה -X הראשונים שיסיימו אבל יש לנו צורך לדעת מתי הם יסיימו ) אזי הזמן שבו יגמר ה -Rotation Delay של הדיסקים הללו הוא ( שימו לב שזה עובד עבור המקרה הפרטי של דיסק אחד שמחכים שיסיים את הדיליי שלו )
8
7/14/20158 סיווג שיטות RAID: 1. איזה אינפורמציה יתירה להחזיק – זוגיות (parity). – קוד אחר (Reed-Solomon). – שכפול כל דיסק (mirroring).
9
7/14/20159 סיווג שיטות RAID: 2. רמת גרעין (Striping Unit) אם נפזר כל byte בין מספר דיסקים, בכל קריאה נצטרך לקרוא 8 דיסקים ובכל כתיבה נצטרך 9 דיסקים ( כולל דיסק הזוגיות ). אם נשמור כל מסילה על אותו דיסק ודיסק אחר יחזיק את ביטי הזוגיות של כל קבוצת דיסקים, נוכל לבצע קריאה בגישה לדיסק אחד וכתיבה בגישה ל - 2 דיסקים.
10
7/14/201510 סיווג שיטות RAID: 3. השיטה לפיה נפזר את היתירות ( המידע הנחוץ לתיקון שגיאות ) אם אחד הדיסקים יכיל את הזוגיות של m דיסקים אחרים, כל כתיבה תחייב גישה לדיסק זה (hot spot). אם מפזרים את הזוגיות בין דיסקים שונים אז נפתרת בעיית העומס בכתיבה.
11
7/14/201511 רמה 1: הדיסקים מחולקים לזוגות, כל זוג מוגדר לוגית כדיסק אחד. כל כתיבה לדיסק הלוגי תיכתב לשני הדיסקים. זמן הכתיבה הוא המקסימום של זמני הגישה. זמן הקריאה הוא המינימום של זמני הגישה.
12
7/14/201512 שאלה 1 נתונה מערכת מרובת דיסקים הבנויה ע " פ רמה 1 מדיסקים A ו - B. לשני הדיסקים הנתונים הבאים : זמן סיבוב – T rot. זמן תזוזת זרוע ממוצעת – T avg. עבור דיסק לוגי המורכב מהדיסקים A ו - B, א. כמה זמן תיקח כתיבת מסילה לדיסק הלוגי ?
13
7/14/201513 שאלה 1 נתונה מערכת מרובת דיסקים הבנויה ע " פ רמה 1 מדיסקים A ו - B. לשני הדיסקים הנתונים הבאים : זמן סיבוב – T rot. זמן תזוזת זרוע ממוצעת – T avg. עבור דיסק לוגי המורכב מהדיסקים A ו - B, ב. כמה זמן תיקח קריאת מסילה מהדיסק הלוגי ?
14
רמה 2 מערך של שבעה כוננים לפחות, בו המידע מחולק בין הדיסקים סיבית אחר סיבית, כלומר הסיבית הראשונה של המערך מאוחסנת בכונן הראשון, השנייה בשני וכו '. כך, כל קריאה או כתיבה של סיבית אחת, גוררת קריאה וכתיבה מכל הכוננים. השיטה כוללת שימוש בקוד המינג כקוד לתיקון שגיאות. קוד זה דורש 3 סיביות על כל 4 סיביות מידע ולכן מנצל רק ( כ - 57 %) מנפח האחסון הנתון ( השאר משמש לקוד לתיקון השגיאות ). שיטה זו היא היחידה המאפשרת זיהוי ותיקון מידע משובש ( מידע שחלה שגיאה בקריאתו אך לא זוהתה על ידי הכונן הקורא ) תוך - כדי עבודה. ב -RAID 2 נדרש שכל הכוננים יסתובבו בסנכרון מלא, זה מול זה, כדי שפעולות הקריאה והכתיבה יתבצעו ביעילות. הדרישה לשבעה כוננים לפחות נובעת מכך, שקוד המינג הקטן ביותר בשימוש מקודד 7 סיביות על כל 4 סיביות מידע. מכאן, שיחידת המידע הקטנה ביותר היא 7 סיביות. ברמה 2, מערך ה -RAID צריך להכיל כונן לכל סיבית ביחידת המידע הקטנה ביותר [1] - שגודלה, כאמור, 7 סיביות. בצורה דומה, ניתן להרכיב מערך RAID 2 מ - 14 כוננים, 39 כוננים וכו ', על - פי קוד המינג המתאים. [1] מתוך וויקיפדיה 7/14/201514
15
7/14/201515 רמה 3: הדיסקים מחולקים לקבוצות של G דיסקים, כל קבוצה תכיל דיסק זוגיות. יחידת האינפורמציה שרשומה על הדיסק היא bit. אבחנה : כל פעם שנרצה לקרוא מידע ( אפילו בגודל byte יחיד ) נצטרך לגשת לכל הדיסקים ולקרוא את אותה כתובת, לכן הזרועות של כל הדיסקים נמצאים תמיד מעל אותו גליל. ראיתי וויכוחים לגבי יחידת האינפורמציה. בקורס הזה זה ביט !!!
16
7/14/201516 זוגיות (parity): ביט הזוגיות הוא ערך ה -XOR של ביטי המידע : דוגמא : במערכת RAID רמה 3 יש 4 דיסקים. ( אז כמה דיסקי מידע ?) תוכן הבית הראשון הוא 001 101 00. ( זה המידע. אז מה תוכן הדיסקים ?) תוכן הדיסקים : a 1 = 0, b 1 = 0, c 1 = 1, p 1 = 1 a 2 = 1, b 2 = 0, c 2 = 1, p 2 = 0...
17
7/14/201517 שאלה 2 במערכת מרובת דיסקים המאורגנת ע " פ רמה 3, בכל קבוצה יש 9 דיסקים ( כולל הזוגיות ) כך שכל byte נפרש כ -bit בכל דיסק. נתוני הדיסקים : 50 גלילים. 10 משטחים. 20 סקטורים בכל מסילה. גודל כל סקטור 1 Kbyte. זמן תזוזת זרוע ממוצעת - T avg. זמן סיבוב – T rot.
18
7/14/201518 א. כמה זמן תיארך קריאת 8 Kbyte? הסבר : 8K מחולקים בין 8 הדיסקים, כך שמכל דיסק צריך לקרוא 1K, שזה בדיוק הגודל של סקטור. סה " כ : נצטרך לחכות לדיסק האחרון מתוך ה - 8 שיסיים את קריאת הסקטור. גוואלד !!!! יש טעות בשקף. מצאו אותה !!! טוב, לא בדיוק טעות, פשוט משהו לא אופטימלי...
19
עצה שלי : איך כדאי לחשוב על זה ? כדי להקל על החיים שלכם קצת בשאלות האלה אני מציע לכם לחשוב על הדברים הבאים : 1. כמה כל דיסק צריך לקרוא ( כי הרי עכשיו כל אחד קורא פחות... 2. כמה דיסקים צריך לקרוא \ כתיבות ( כלומר כמה קריאות \ כתיבות מתרחשות בו זמנית )? 3. כמה מידע דרוש לי מתוך כל המידע שאני הולך להשיג ? 4.( וזה הכי חשוב ) כמה זמן תיקח הקריאה האחרונה שלי ? 7/14/201519
20
7/14/201520 א. כמה זמן תיארך קריאת 1 Kbyte? הסבר : 1K מחולקים בין 8 הדיסקים, כך שמכל דיסק צריך לקרוא 128B, שזה קטן מגודל של סקטור. אבל אי אפשר לקרוא פחות מסקטור ולכן נצטרך לקרוא את הסקטור בשלמותו. ההמשך דומה לסעיף הקודם. גוואלד !!!! אותה טעות !!!! מישהו לא לומד מטעויות !!!
21
7/14/201521 א. כמה זמן תיארך קריאת 160 Kbyte? הסבר : 160K מחולקים בין 8 הדיסקים, כך שמכל דיסק צריך לקרוא 20K, שזה בדיוק הגודל של מסילה. סה " כ : נצטרך לחכות לדיסק האחרון מתוך ה - 8 שיסיים את קריאת המסילה.
22
7/14/201522 ב. כמה זמן תיארך כתיבת 8 Kbyte? הסבר : בדומה לקריאה אך בכתיבה צריך לכתוב גם לדיסק הזוגיות. סה " כ : נצטרך לחכות לדיסק האחרון מתוך ה - 9 שיסיים את כתיבת הסקטור. פתאום פה זה בסדר... איזה חוסר עקביות...
23
7/14/201523 ב. כמה זמן תיארך כתיבת 1 Kbyte? הסבר : 1K מחולקים בין 8 הדיסקים, כך שלכל דיסק צריך לכתוב 128B, שזה פחות מגודל של סקטור. אבל אי אפשר לכתוב לפחות מסקטור. אז כדי שנוכל לכתוב לסקטור מבלי לדרוס את המידע שהיה ב - 7K הנותרים, קודם נקרא את כל המידע מ - 8K – חישבנו בסעיף א, נעדכן את החלק הרלוונטי (1K) ונכתוב את כל ה - 8K כולל הזוגיות וזה לוקח זמן של עוד סיבוב.
24
7/14/201524 ב. כמה זמן תיארך כתיבת 160 Kbyte? הסבר : 160K מחולקים בין 8 הדיסקים, כך שלכל דיסק צריך לכתוב 20K, שזה בדיוק הגודל של מסילה. סה " כ : נצטרך לחכות לדיסק האחרון מתוך ה - 9 ( כולל דיסק הזוגיות ) שיסיים את כתיבת המסילה.
25
משפט שיעזור לכם בחיים ( ובמבחן ) בידינו מערכת דיסקים של N דיסקי מידע ו M דיסקי עזר ( יתירות כלשהי, זוגיות, עותקים נוספים או כל דבר אחר ). אזי לא קיימת קריסה של M+1 דיסקים שממנה המערכת תוכל להתאושש ובמילים אחרות : אם מספר הדיסקים שקורסים גדול ממש ממספר דיסקי העזר, המערכת לא תוכל להתואשש הבהרה : יכול להיות שקיימת נפילה של פחות דיסקים שלא נוכל להתאושש ממנה. 7/14/201525
26
7/14/201526 רמות 4 ו - 5: יחידת האינפורמציה (striping unit) היא בלוק. זוגיות של בלוקים היא שרשור הזוגיות של הביטים. עבור קבוצה של G דיסקים, בכל G בלוקים מקבילים ( המתחילים מאותה כתובת ) אחד מהם בלוק זוגיות ( כל פעם דיסק אחר ). בכל קריאה של מידע מתוך בלוק אחד, ניגשים לדיסק יחיד. בכל כתיבה של מידע לתוך בלוק אחד, ניגשים לשני דיסקים, הדיסק בו נמצא הבלוק ודיסק הזוגיות של אותו בלוק. קוראים את המידע הישן משני הדיסקים ואז כותבים את המידע החדש, כאשר הזוגיות מחושבת באופן הבא : שימו לב בבקשה למה שצריך בשביל כתיבה. יש צורך במידע הישן, במידע החדש ובזוגיות הישנה כדי לכתוב זוגיות חדשה
27
7/14/201527 דיסק שורה d0d0 d1d1 d2d2 d3d3 d4d4 0B0B0 B1B1 B2B2 B3B3 P0P0 1B4B4 B5B5 B6B6 B7B7 P1P1 2B8B8 B9B9 B 10 B 11 P2P2 3B 12 B 13 B 14 B 15 P3P3 4B 16 B 17 B 18 B 19 P4P4 דוגמא ( רמה 4): האם שיטה זו יעילה ? הבעיה היא HotSpot
28
7/14/201528 דיסק שורה d0d0 d1d1 d2d2 d3d3 d4d4 0B0B0 B1B1 B2B2 B3B3 P0P0 1B4B4 B5B5 B6B6 P1P1 B7B7 2B8B8 B9B9 P2P2 B 10 B 11 3B 12 P3P3 B 13 B 14 B 15 4P4P4 B 16 B 17 B 18 B 19 פתרון ( רמה 5):
29
7/14/201529 שאלה 3 נתונה מערכת raid 5 ( רמה 5 ) המתוארת בציור, כאשר נתוני הדיסקים הם : 50 גלילים. 10 משטחים. 20 סקטורים בכל מסילה. גודל כל סקטור 1 Kbyte. זמן תזוזת זרוע ממוצעת - T avg. זמן סיבוב – T rot. גודל בלוק הוא מסילה אחת. כמו בציור הכוונה : כמו הטבלה לפני שני שקפים : כלומר סך הכל 5 דיסקים
30
7/14/201530 א. באיזה כתובת ובאיזה דיסק נמצא בלוק הזוגיות של הבלוק ה -n ? מספר מסילה : ולכן מספר הגליל : ומספר המשטח : מספר הדיסק : הכוונה היא לאיזו מסילה מתחילת הדיסקים בכלל ( לא מסילה בגליל ). כל בלוק הוא מסילה.
31
7/14/201531 ב. באיזה כתובת ובאיזה דיסק נמצא הבלוק ה -n? אם דיסק הזוגיות מימין לדיסק של הבלוק אזי מספר הדיסק הוא : אחרת :. באופן פורמאלי : היות ולכל הבלוקים באותה שורה, אותה כתובת ( רק בדיסקים שונים ) הכתובת תחושב כמו בסעיף קודם.
32
נ.ב.נ.ב. ישנה גם רמה שישית Raid 6 אבל גם היא לא מעניינות אותנו בקורס זה. אבל תדעו שיש !!!
33
שאלה ממבחן – אביב תשס " ח א ' 7/14/201533
34
7/14/201534 א. ברור שלא. אתם יודעים את זה לפי המשפט שניתן בתרגול הזה לפני כמה שקפים. אבל בואו נניח לרגע שאין לכם את המשפט הזה, איך מוכיחים שזה לא נכון ? הטענה היא שלכל נפילה של N+1 ניתן להתאושש. אז אנחנו נציג ברייד שלנו נפילה שלא ניתן להתאושש ממנה : נניח שיש לנו מערכת מדהימה ומטורפת של M דיסקי מידע ו N דיסקי יתירות. ונניח שנפלו כל דסקי היתירות ועוד סיק אחד מבין דיסקי המידע. סך הכל נפלו N+1 דיסקים נכון ? אבל איבדנו את כל המידע היתיר שלנו, ולכן אין שום אפשרות לשחזר את דיסק המידע שנפגע ( אם היה אפשר, זה אומר שאפשר היה לשחזר את המידע הזה בלי שום דיסקי יתירות מלחתכילה, כלומר לחזר דיסק שנפל בלי שום עזרה ואנחנו יודעי םשזה בלתי אפשרי ). אז תשימו לב לצורת ההוחכה : נתתי מקרה ספציפי שבו הטענה אינה נכונה, כי הטענה הייתה לכל נפילה.
35
שאלה ממבחן – אביב תשס " ח א ' 7/14/201535
36
7/14/201536 ב. אוקיי השאלה הזאת היא שאלה של שני שלבים ולכל שלב יש שני חלקים בהוכחה, אז שימו לב איך זה אמור להיראות : המספר המינימאלי שממנו המערת לא תוכל להתאושש היא 3 נפילות. נוכיח את זה בשני חלקים : קודם כל נציג נפילה של 3 דיסקים שמהם לא ניתן להתאושש : אם נופל דיסק מידע, העותק שלו, ודיסק הזוגיות אזיי לא ניתן לשחזר את המדיע שהיה על דיסק המידע. הראינו נפילה של 3. עכשיו צריך להראות שניתן להתאושש מנפילות קטנות יותר : עבור נפילה של שני דיסקים יש כמה כמה אפשרויות : אם נפלו שני דיסקים של מידע שהם לא עותק אחד של השני, אז לכל אחד מהם יש עותק. אם הם כן עותק אחד של השני, אז נוכל לשחזר את אחד מהם בעזרת דיסק הזוגיות ואז לשכפל את התוצאה. אם נפל דיסק מידע ודיסק הזוגיות אז יש העתק לדיסק המידע, וניתן לשחזר את הזוגיות. הראינו שניתן להתואשש מכל נפילה של 2 ולכן 3 מינימאלי. מה המקסימלי שממנו ניתן להתאושש ? זה יותר פשוט : אם כל דיסקי העזר ( שזה M+1) ייפלו עדיין ניתן להתאושש כי כל דיסקי המידע המקוריים שלנו לא נפלו. האם ניתן לתהאושש מנפילה של M+2 דיסקים ? לא לפי המשפט שנתנו. אם לא היה לנו את המשפט היינו צריכים להוכיח : אם נפל דיסק הזוגיות אז נפל גם לפחות דיסק אחד והעותק שלו ( לפי עקרון שובך היונים ) ואז לא ניתן לשחזר אותו. אחרת, נפלו לפחות שני דיסקים עם העותקים שלהם ( לפי אותו עיקרון ) ושוב לא ניתן לשחזר. אבל המשפט חוסך לכם את ההוכחה הזאת.
37
שאלה ממבחן – אביב תשס " ח א ' 7/14/201537
38
7/14/201538 ג. זה די דומה. המספר המינימאלי שלא ניתן להתאושש ממנו הוא שתי נפילות – נפילה של דיסק מידע כלשהו D ( שאינו D1) וה XOR שלו עם D1. ברור שניתן להתאושש מכל נפילה של דיסק יחיד. לגבי המקסימלי – כמו בשאלה הקודמת. נפילה של כל דיסקי העזר. ההוכחה היא לפי המשפט, או לפי דוגמאות ספציפיות שלכם, מה שבא לכם. ד. אוקיי, בשאלה הזאת יש כמה דברים שחשוב שתכתבו בניתוח שלכם, ואחרי זה תתנו הערכה לכל סיטואציה איזו מערכת מתאימה לה. אז נתחיל : המערכת הראשונה היא מערכת שבקריאה של כל גזרה נסתפק בקריאה של דיסק המידע הראשון, או דיסק המידע השני ( כלומר הראשון מבין שניים ) או קריאה של דיסק הזוגיות וגם דיסק אחר כלשהו. כלומר למרות שאין לנו נוסחא סטטיסטית מדויקת למצב הזה ( מישוה מכם רוצה לפתח במזן מבחן ?) ניתן להבין שאנחנו נמצאים בערך שהוא קטן יותר מהססטטיסטי הראשון מתוך שניים. עבור כתיבה אנחנו צריכים לחכות קודם כל לקריאה של הזוגיות, ואז לכתיבה של 3 דיסקים שונים ( כולם צריכים לסיים ), ולא לשכוח את המילה החשובה : דיסק הזוגיות הופך להיות HotSpot נכון ? האמת שהוא כזה גם בקריאה ( תחשבו למה...) עבור המערכת השניה : כל קריאה תסתיים אחרי קריאה של דיסק המידע, או אחרי קריאה של דיסק הזוגיות של אותו דיסק מידע ואחד העותקים של D1 ( אלא אם כן אנחנו קוראים מידע מ D1 ואז זה פשוט המהיר מבין 2 ) נשים לב שהקריאה המתמדת הזאת מ D1 הופכת אותו ואת ההעתק שלו גם כן לנקודה חמה.. עבור כתיבה אנחנו תמיד נחכה לקריאת זוגיות ( אלא אם כן כותבים לדיסק D1) ואז לכתיבה של שני דיסקים – האחרון מבינהם. זה יותר טוב מלחכות ל - 3. לכן לקריאה עדיפה המערכת הראושונה ( סעיף ב ') ולכתיבה השניה. אבל חשוב לנו בתשובה הניתוח שלכם, כי זה כל מה שאנחנו בעצם רוצים לראות.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.