שאלה כיצד להפוך את תוכנת לינוקס RAID1 לזהות דיסק שחיתות?


זהו אחד הימים בלהות: שרת וירטואלי פועל על לינוקס SW-RAID1 פועל VM המציג segfaults אקראית לכאורה קודצקי אקראי.

בעוד debugging אני מוצא כי הקובץ נותן md5sums שונים על כל לרוץ. לחפור עמוק יותר אני מוצא את זה: מחיצות דיסק גלם המרכיבות את המראה RAID1 מכילים 2 סיביות הבדל ו ca. 9 סקטורים ריקים לחלוטין על דיסק אחד ומלאים נתונים על הדיסק השני.

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

ה דוק אמר:

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

תודה. זה יעזור לי לישון. : - /

האם יש דרך לקבל לינוקס לפחות לזהות את השחיתות באמצעות בדיקת הסקטור או משהו כזה? האם זה יהיה מזוהה בהגדרת RAID5? האם זה הרגע שבו אני רוצה להשתמש ZFS או btrfs (פעם זה הופך להיות שמיש ללא יכולות סופר מנהל)?

ערוך: אני לא לבד.


6
2018-01-07 09:05






תשובות:


אתה יכול לכפות בדיקה של (למשל) md0 עם

echo "check" > /sys/block/md0/md/sync_action

אתה יכול לבדוק את מצב הבדיקה עם

cat /sys/block/md0/md/sync_action

בעוד הוא חוזר check ההמחאה פועלת, ברגע שהיא חוזרת idle אתה יכול לעשות

cat /sys/block/$dev/md/mismatch_cnt

כדי לראות אם ספירת האי-התאמה היא אפס או לא. הפצות רבות להפוך את זה לבדוק לרוץ למשל שבועי בשבילך בכל מקרה, בדיוק כמו רוב חומרה תעשייתית RAIDs הרף להפעיל את זה ברקע (הם קוראים לזה לעתים קרובות "RAID scrubbing") ואילו המערך הוא סרק אחרת. שים לב כי על פי ההערות בקובץ הבדיקה האוטומטית של fedora, RAID1 כותב בליבה הם unbuffered ולכן ספירת אי התאמה יכול להיות לא אפס אפילו עבור מערך בריא אם המערך מותקן.

אז quisscing מערכים על ידי ביצוע בדיקה זו בזמן VM הוא למטה, אם בכלל אפשרי, הוא כנראה רעיון טוב.

הייתי מוסיף שאני מסכים עם המסמכים כשהם אומרים את זה

RAID לא יכול ולא אמור   השומר מפני שחיתות נתונים על   מדיה

RAID אמור להישמר מפני כשל מוחלט של המכשיר; שמירה מפני כשלים אקראיים מצטברים באלמנטים של התקן אחסון היא משימה לבדיקת שגיאות ולחסימת בלוקים, מה שעשוי לעשות את הטוב ביותר בבקר עצמו. אני שמח שהרופאים מזהירים את המגבלות של RAID, במיוחד אם הם מיושמים על גבי מכשירים מתפוררים. אני מוצא את זה בדיקות תכופות smartctl הבריאותי של הכוננים שלי לעזור לי להישאר על גבי כוננים אשר מתחילים להראות את סוג השגיאות המובילות out-of- סינכרון מראות.


5
2018-01-07 11:50



ובכן לא היו לי mismatches אבל אני מכבה את זה מאז יש - כפי שאתה מציין - סיבות לא בעייתי להם להופיע. הם נעלמו בצ'ק אחר כך חשבתי שאני בטוח. בסך הכל אנחנו מסתכלים על בעיות בלתי ניתנות לגילוי במקרה של שחיתות שקטה של ​​המגזרים על דיסק - בשנת 2010. - Paul


בדקת את זה? http://tldp.org/HOWTO/Software-RAID-HOWTO-6.html


0
2018-01-07 11:51



אני דווקא חושד שיש לו, כי הוא מצטט מעליה. - MadHatter
יו פי אס. האם ראית את זה: <עכשיו ... לבדוק את זה serverfault.com/questions/21284/raid1-question (זה די דומה התשובה לעיל) - Nikolaidis Fotis
כן עשיתי, אבל תודה על הצבעה על זה. - Paul