RAID6CHECK(8) System Manager's Manual RAID6CHECK(8)

raid6check - بررسی و اعتبارسنجی خطاهای دستگاه MD RAID6

raid6check <raid6_device> <start_stripe> <number_of_stripes> [autorepair]

raid6check <raid6_device> repair <stripe> <failed_slot_1> <failed_slot_2>

دستگاه‌های RAID6 که در آن‌ها یکی از درایوهای سازنده دارای خطا است، می‌توانند از توازن دوگانه (double parity) برای یافتن اینکه کدام درایو سازنده دچار مشکل است، استفاده کنند. ابزار "raid6check" دارای دو حالت است: حالت بررسی و حالت تعمیر.

دستور "raid6check" به یک دستگاه MD از نوع RAID6 سالم (non-degraded) به عنوان آرگومان نخست نیاز دارد. اگر دستگاه MD ارائه‌شده یک RAID6 نباشد، طبیعتاً "raid6check" ادامه نخواهد داد.

اگر دستگاه MD از نوع RAID6 تخریب‌شده (degraded) باشد، "raid6check" یک خطا گزارش می‌دهد و عملیات متوقف خواهد شد.

در حالت بررسی، ابزار "raid6check" سازگاری توازن دوگانه را برای هر نوار (stripe) بررسی می‌کند، عدم‌تطابق‌ها را گزارش می‌دهد و در صورت امکان مشخص می‌کند کدام درایو سازنده دارای عدم‌تطابق است. از آنجا که این ابزار در سطح نوار کار می‌کند، می‌تواند در نوارهای گوناگون، درایوهای متفاوتی را که دارای عدم‌تطابق هستند گزارش کند.

علاوه بر دستگاه MD، دستور "raid6check" نیازمند یک نوار آغازین (معمولاً 0) و تعداد نوارهای مورد بررسی است. اگر این آرگومان سوم نیز 0 باشد، آرایه را تا انتها بررسی خواهد کرد. اگر آرگومان چهارم "autorepair" باشد، خطاهای تک‌اسلاتی (single-slot) را بازنویسی و اصلاح خواهد کرد.

دستور "raid6check" ابتدا چاپ اطلاعات مربوط به RAID6 را آغاز می‌کند و سپس برای هر نوار، وضعیت چرخش توازن را گزارش می‌دهد. در صورت وجود عدم‌تطابق در توازن، "raid6check" در صورت امکان گزارش می‌دهد که کدام درایو سازنده می‌تواند مقصر باشد. در غیر این صورت گزارش می‌دهد که یافتن درایو سازنده امکان‌پذیر نیست.

هیچ عملیات نوشتنی بر روی آرایه یا اجزای سازنده انجام نمی‌شود، مگر اینکه "autorepair" مشخص شده باشد. علاوه بر این، آرایهٔ مورد بررسی می‌تواند در طول اجرای "raid6check" آنلاین و در حال استفاده باشد.

در حالت تعمیر، ابزار "raid6check" نوار ارائه‌شده را بررسی می‌کند. در صورت یافتن ناسازگاری‌ها، تلاش می‌کند نوار را با این فرض که دو اسلات ارائه‌شده نادرست هستند، تعمیر کند.

می‌توان از -1 برای مشخص کردن توازن P و از -2 برای توازن Q استفاده کرد.

raid6check /dev/md0 0 0
این دستور /dev/md0 را از ابتدا تا انتها بررسی می‌کند.

raid6check /dev/md3 0 1 autorepair
این دستور نخستین نوار از /dev/md3 را بررسی می‌کند. هرگونه خطا گزارش شده و در صورت تک‌اسلاتی بودن، تعمیر خواهد شد.

raid6check /dev/md3 0 repair 1 -1 -2
این دستور نخستین نوار از /dev/md3 را بررسی می‌کند. در صورت یافتن هرگونه ناسازگاری، عملیات تعمیر با فرض نادرست بودن دو توازن انجام می‌شود.

raid6check /dev/md1 1000 0
این دستور /dev/md1 را از نوار 1000 تا انتها بررسی می‌کند.

raid6check /dev/m127 128 256
این دستور 256 نوار از /dev/md127 را از نوار 128 آغاز کرده و بررسی می‌کند.

raid6check /dev/md0 0 0 | grep -i error > md0_err.log
این دستور /dev/md0 را به طور کامل بررسی کرده و یک فایل گزارش (log) ایجاد می‌کند که تنها حاوی خطاها (در صورت وجود) است.

دستور "raid6check" مستقیماً از درایوهای سازنده به صورتی که در /dev قرار دارند استفاده می‌کند. علاوه بر این، رابط sysfs برای مشخص کردن پارامترهای RAID6 مورد نیاز است.

پارامترهای منفی نوار به دلیل تابع strtoull می‌توانند به نتایج غیرمنتظره منجر شوند. (شماره‌های منفی اسلات باید برای Q [-1] و P [-2] کار کنند، اما در حال حاضر رفتار وابسته به کامپایلر دارند.)

مشخص نیست در صورتی که دستگاه MD از نوع RAID6 در طول بررسی تخریب شود (degraded گردد)، چه اتفاقی خواهد افتاد.

تازه‌ترین نسخهٔ raid6check همواره باید از نشانی زیر در دسترس باشد:

https://www.kernel.org/pub/linux/utils/raid/mdadm

mdadm(8), mdmon(8), mdadm.conf(5), md(4).

v1.0.0