MDADM(8) دستورات مدیریت سیستم MDADM(8)

mdadm - مدیریت دستگاههای MD (آرایههای چندگانه دیسک / Software RAID)

mdadm [حالت] <دستگاه_رِید> [گزینه‌ها] <دستگاه‌های_عضو>

ابزار mdadm برای مدیریت، ایجاد، ساخت، پیکربندی، نظارت و بررسی آرایههای چندگانه دیسک لینوکس (Software RAID) به کار میرود.

دستگاه‌های RAID دستگاه‌های مجازی هستند که از دو یا چند دستگاه بلوکی واقعی ساخته می‌شوند. این کار امکان ترکیب چند دستگاه (معمولاً درایوهای دیسک یا پارتیشن‌های آن‌ها) را در یک دستگاه واحد برای نگهداری (برای نمونه) یک فایل‌سیستم منفرد فراهم می‌آورد. برخی از سطوح RAID شامل افزونگی (Redundancy) هستند و بنابراین می‌توانند در برابر درجاتی از خرابی دیسک‌ها دوام بیاورند.

دستگاه‌های Software RAID در لینوکس از طریق درایور دستگاه md (دستگاه‌های چندگانه - Multiple Devices) پیاده‌سازی می‌شوند.

در حال حاضر، لینوکس از دستگاه‌های md زیر پشتیبانی می‌کند: LINEAR, RAID0 (توزیع داده‌ها / Striping)، RAID1 (آینه‌ای / Mirroring)، RAID4, RAID5, RAID6, RAID10, MULTIPATH, FAULTY و CONTAINER.

MULTIPATH یک سازوکار RAID نرم‌افزاری واقعی نیست، اما شامل چندین دستگاه می‌شود: هر دستگاه یک مسیر به یک دستگاه ذخیره‌سازی فیزیکی مشترک است. در نصب‌های جدید نباید از md/multipath استفاده شود، زیرا پشتیبانی ضعیفی دارد و توسعه فعالی روی آن انجام نمی‌شود؛ به جای آن از ابزارهای multipath بر پایه Device Mapper استفاده کنید. این قابلیت منسوخ شده و پشتیبانی از آن در آینده حذف خواهد شد.

FAULTY نیز یک RAID واقعی نیست و تنها شامل یک دستگاه می‌شود. این حالت لایه‌ای روی یک دستگاه واقعی فراهم می‌کند که می‌تواند برای تزریق خطاها (Fault Injection) و شبیه‌سازی خرابی به کار رود. این قابلیت نیز منسوخ شده و پشتیبانی از آن در آینده حذف خواهد شد.

CONTAINER موضوعی متفاوت است. یک CONTAINER مجموعه‌ای از دستگاه‌ها است که به صورت یک کل واحد مدیریت می‌شوند؛ شبیه به مجموعه‌ای از دیسک‌ها که به یک کنترلر سخت‌افزاری RAID متصل هستند. این مجموعه می‌تواند شامل چندین آرایه RAID مختلف باشد که هر کدام از بخشی (یا همه) بلوک‌های موجود در دستگاه‌های مجموعه استفاده می‌کنند. برای نمونه، در یک مجموعه ۵ دیسکی، دو دیسک می‌توانند یک آرایه RAID1 کامل تشکیل دهند، و سه دیسک باقی‌مانده می‌توانند یک RAID5 روی نیمه نخست هر دیسک و یک RAID0 روی نیمه دوم داشته باشند.

با یک CONTAINER, یک مجموعه متادیتا وجود دارد که تمام آرایه‌های درون ظرف را توصیف می‌کند. بنابراین وقتی mdadm یک دستگاه CONTAINER ایجاد می‌کند، این دستگاه صرفاً نمایانگر متادیتا است و آرایه‌های معمولی دیگر (مانند RAID1 و غیره) را می‌توان در داخل این ظرف ایجاد کرد.

ابزار mdadm چندین حالت کاری اصلی دارد:

سرهم‌بندی (Assemble)
سرهم‌بندی اجزای یک آرایه از پیش ایجادشده در یک آرایه فعال. اجزا می‌توانند به صورت صریح مشخص شوند یا جستجو شوند. mdadm بررسی می‌کند که آیا اجزا تشکیل یک آرایه معتبر را می‌دهند یا خیر، و در صورت درخواست، می‌تواند اطلاعات ابربلوک (Superblock) را دستکاری کند تا یک آرایه معیوب نیز سرهم‌بندی شود.
ساخت سریع (Build)
ساخت آرایه‌ای که متادیتای اختصاصی روی هر دیسک (ابربلوک) ندارد. برای این دست آرایه‌ها، mdadm نمی‌تواند تفاوت میان ایجاد اولیه و سرهم‌بندی بعدی آرایه را تشخیص دهد. همچنین نمی‌تواند بررسی کند که آیا اجزای درستی درخواست شده‌اند یا خیر. به همین دلیل، حالت Build تنها باید با آگاهی و درک کامل از آنچه انجام می‌دهید استفاده شود.
ایجاد (Create)
ایجاد یک آرایه جدید با متادیتای اختصاصی روی هر دیسک (ابربلوک). متادیتای مناسب روی هر دیسک نوشته می‌شود و سپس آرایه متشکل از آن دستگاه‌ها فعال می‌گردد. یک فرایند «همگام‌سازی مجدد» (resync) آغاز می‌شود تا اطمینان حاصل شود که آرایه سازگار است (برای نمونه، هر دو سمت آینه حاوی داده‌های یکسانی باشند)، اما محتوای دیسک‌ها دست‌نخورده باقی می‌ماند. آرایه به محض ایجاد قابل استفاده است و نیازی به صبر کردن برای پایان همگام‌سازی اولیه نیست.
نظارت یا پیگیری (Follow or Monitor)
نظارت بر یک یا چند دستگاه md و واکنش به تغییرات وضعیت آن‌ها. این حالت تنها برای آرایه‌های RAID1، 4، 5، 6، 10 یا multipath معنی‌دار است، زیرا فقط این سطوح وضعیت‌های قابل توجه دارند. آرایه‌های RAID0 یا Linear هرگز دیسک‌های مفقود، یدکی (Spare) یا خراب ندارند، بنابراین چیزی برای نظارت در آن‌ها وجود ندارد.
گسترش (Grow)
افزایش (یا کاهش) حجم یک آرایه، یا تغییر شکل ساختاری آن (Reshape). گزینه‌های پشتیبانی‌شده در حال حاضر شامل تغییر اندازه فعال دیسک‌های عضو، تغییر تعداد دیسک‌های فعال در سطوح Linear و RAID 0/1/4/5/6، تغییر سطح RAID میان 0، 1، 5 و 6، و میان 0 و 10، تغییر اندازه تکه‌ها (Chunk size) و چیدمان برای RAID 0,4,5,6,10، و همچنین افزودن یا حذف بیت‌مپ قصد نوشتن (Write-intent bitmap) و تغییر خط‌مشی سازگاری آرایه است.
سرهم‌بندی افزایشی (Incremental Assembly)
افزودن یک دستگاه مجزا به آرایه مناسب. اگر افزودن دستگاه باعث شود آرایه قابل اجرا شود، آرایه راه‌اندازی خواهد شد. این ویژگی رابطی مناسب برای سیستم‌های اتصال گرم (hot-plug) فراهم می‌کند؛ با شناسایی هر دستگاه، mdadm فرصت می‌یابد در صورت لزوم آن را در آرایه مناسب جای دهد. در صورت استفاده از گزینه --fail, به جای افزودن، دستگاه از آرایه فعال جدا می‌شود.

اگر یک CONTAINER در این حالت به mdadm داده شود، تمام آرایه‌های داخل آن ظرف سرهم‌بندی و راه‌اندازی خواهند شد.

مدیریت (Manage)"
برای انجام عملیات روی اجزای خاصی از آرایه مانند افزودن دیسک‌های یدکی (Spare) جدید و حذف دیسک‌های معیوب.
متفرقه (Misc)"
حالت «همه کارهای دیگر» که از عملیات روی آرایه‌های فعال، عملیات روی دیسک‌های عضو مانند پاک کردن ابربلوک‌های قدیمی، و عملیات جمع‌آوری اطلاعات پشتیبانی می‌کند.
شناسایی خودکار (Auto-detect)
این حالت روی دستگاه یا آرایه خاصی عمل نمی‌کند، بلکه از هسته لینوکس درخواست می‌کند تا هر آرایه شناسایی‌شده خودکار را فعال سازد.

سرهم‌بندی یک آرایه از پیش موجود.
ساخت یک آرایه قدیمی بدون ابربلوک.
ایجاد یک آرایه جدید.
انتخاب حالت نظارت (Monitor).
تغییر اندازه یا شکل یک آرایه فعال.
افزودن/حذف یک دستگاه واحد به/از یک آرایه مناسب، و احتمالاً راه‌اندازی آرایه.
درخواست از هسته لینوکس برای راه‌اندازی آرایه‌های شناسایی‌شده خودکار. این گزینه تنها زمانی کار می‌کند که md درون هسته کامپایل شده باشد، نه به عنوان یک ماژول بارگذاری‌شونده. آرایه‌ها زمانی توسط هسته به صورت خودکار شناسایی می‌شوند که تمام بخش‌های آن‌ها در پارتیشن‌های اولیه MS-DOS با نوع پارتیشن FD قرار داشته و همگی از متادیتای نگارش 0.90 استفاده کنند. استفاده از شناسایی خودکار درون هسته برای نصب‌های جدید توصیه نمی‌شود. استفاده از mdadm برای شناسایی و سرهم‌بندی آرایه‌ها (احتمالاً در یک initrd) بسیار انعطاف‌پذیرتر است و ترجیح داده می‌شود.

اگر پیش از هر گزینه‌ای یک دستگاه مشخص شود، یا اگر نخستین گزینه یکی از موارد --add, --re-add, --add-spare, --fail, --remove, یا --replace باشد، حالت مدیریت (MANAGE) در نظر گرفته می‌شود. هر مورد دیگری باعث در نظر گرفتن حالت متفرقه (Misc) خواهد شد.

نمایش پیام راهنمای عمومی، یا پس از انتخاب یکی از گزینه‌های بالا، نمایش راهنمای مربوط به آن حالت خاص.
نمایش راهنمای دقیق‌تر درباره تجزیه خط فرمان و برخی گزینه‌های پرکاربرد.
چاپ اطلاعات نگارش mdadm.
ارائه توضیحات و گزارش‌های با جزئیات بیشتر در مورد رویدادها. این گزینه را می‌توان دو بار برای جزئیات حداکثری به کار برد. این پرگویی اضافی در حال حاضر تنها بر --detail --scan و --examine --scan تاثیر می‌گذارد.
جلوگیری از چاپ پیام‌های صرفاً اطلاع‌رسانی. با این گزینه، mdadm ساکت خواهد بود مگر اینکه موضوع واقعاً مهمی برای گزارش وجود داشته باشد.
اعمال اجبار بیشتر بر روی برخی عملیات‌ها. برای معنای دقیق این گزینه در زمینه‌های مختلف، بخش‌های مربوط به هر حالت را ببینید.
مشخص کردن فایل یا دایرکتوری پیکربندی. در صورت عدم تعیین، از فایل پیکربندی پیش‌فرض و دایرکتوری پیش‌فرض conf.d استفاده خواهد شد. برای جزئیات بیشتر به mdadm.conf(5) مراجعه کنید.

اگر فایل پیکربندی به عنوان partitions مشخص شود، هیچ فایلی خوانده نمی‌شود، اما mdadm طوری رفتار می‌کند که گویی فایل پیکربندی دقیقاً حاوی خط زیر است:
DEVICE partitions containers
و فایل /proc/partitions را برای یافتن فهرست دستگاه‌ها جهت پویش، و /proc/mdstat را برای یافتن فهرست ظروف (Containers) بررسی می‌کند. اگر کلمه none داده شود، mdadm طوری رفتار می‌کند که گویی فایل پیکربندی خالی است.

اگر نام داده‌شده یک دایرکتوری باشد، mdadm تمامی فایل‌های موجود در آن دایرکتوری که نام آن‌ها با .conf خاتمه می‌یابد را جمع‌آوری کرده، بر اساس حروف الفبا مرتب می‌کند و همه را به عنوان فایل‌های پیکربندی پردازش می‌نماید.

پویش فایل پیکربندی یا /proc/mdstat برای یافتن اطلاعات مفقود. به طور کلی، این گزینه به mdadm اجازه می‌دهد تا هرگونه اطلاعات مفقود (مانند دستگاه‌های عضو، دستگاه‌های آرایه، هویت آرایه و مقصد هشدارها) را از فایل پیکربندی استخراج کند؛ یک استثنا در حالت MISC هنگام استفاده از --detail یا --stop است که در آن حالت --scan فهرست دستگاه‌های آرایه را از /proc/mdstat دریافت می‌کند.
تعیین سبک متادیتای RAID (ابربلوک) مورد استفاده. مقدار پیش‌فرض برای --create برابر 1.2 است، و برای سایر عملیات‌ها به صورت حدس‌زدن انجام می‌شود. این پیش‌فرض را می‌توان با تنظیم مقدار metadata برای کلیدواژه CREATE در mdadm.conf تغییر داد.

گزینه‌ها عبارتند از:

0, 0.90
استفاده از قالب اصلی ابربلوک 0.90. این قالب آرایه‌ها را به ۲۸ دستگاه عضو محدود می‌کند و دستگاه‌های عضو در سطوح ۱ و بالاتر را به ۲ ترابایت محدود می‌سازد. همچنین ممکن است این ابهام پیش بیاید که آیا ابربلوک به کل دیسک اعمال می‌شود یا تنها به آخرین پارتیشن، به ویژه اگر آن پارتیشن روی مرز 64K شروع شود.
1, 1.0, 1.1, 1.2 پیش‌فرض
استفاده از قالب جدید ابربلوک نسخه ۱. این نسخه محدودیت‌های کمتری دارد، به راحتی میان سیستم‌هایی با ترتیب بایت متفاوت (Endianness) جابجا می‌شود، و عملیات بازیابی را می‌توان نشانه‌گذاری (Checkpoint) کرده و از سر گرفت. زیرنسخه‌های مختلف، ابربلوک را در مکان‌های متفاوتی از دستگاه ذخیره می‌کنند: در انتهای دیسک (برای 1.0)، در ابتدای دیسک (برای 1.1) یا ۴ کیلوبایت پس از شروع دیسک (برای 1.2). مقدار "1" معادل "1.2" (قالب رایج و ترجیح داده‌شده 1.x) است و مقدار "default" نیز معادل "1.2" می‌باشد.
استفاده از استاندارد صنعتی DDF (Disk Data Format) تعریف‌شده توسط SNIA. قالب DDF منسوخ شده و توسعه فعالی روی آن انجام نمی‌شود. هنگام ایجاد یک آرایه DDF، یک CONTAINER ایجاد می‌شود و آرایه‌های معمولی را می‌توان درون آن ظرف ایجاد کرد.
استفاده از قالب متادیتای Intel(R) Matrix Storage Manager. این گزینه یک CONTAINER ایجاد می‌کند که به شیوه‌ای مشابه DDF مدیریت می‌شود و توسط Option-ROM در برخی پلتفرم‌ها پشتیبانی می‌گردد:
https://www.intel.com/content/www/us/en/support/products/122484
این گزینه تنظیمات HOMEHOST در فایل پیکربندی را نادیده می‌گیرد و هویت میزبانی را مشخص می‌کند که باید به عنوان میزبان اصلی آرایه‌ها در نظر گرفته شود.

هنگام ایجاد یک آرایه، homehost در متادیتا ثبت می‌شود. برای ابربلوک‌های نگارش ۱، این نام به عنوان پیشوند نام آرایه درج می‌شود. برای ابربلوک‌های نگارش 0.90، بخشی از هش SHA1 نام میزبان در نیمه دوم UUID ذخیره می‌گردد.

هنگام گزارش اطلاعات یک آرایه، هر آرایه‌ای که با این homehost برچسب خورده باشد به همین صورت گزارش می‌شود.

در هنگام سرهم‌بندی خودکار (Auto-Assemble)، تنها آرایه‌هایی که برای این میزبان برچسب خورده‌اند اجازه استفاده از نام‌های محلی (یعنی نام‌هایی که به '_' و یک رشته عددی ختم نمی‌شوند) را خواهند داشت. بخش سرهم‌بندی خودکار در زیر را ببینید.

نام ویژه "any" می‌تواند به عنوان یک نویسه عمومی (Wildcard) استفاده شود. اگر آرایه‌ای با --homehost=any ایجاد شود، نام "any" در آن ذخیره شده و می‌تواند بر روی هر میزبانی به همان شکل سرهم‌بندی شود. اگر آرایه‌ای با این گزینه سرهم‌بندی شود، homehost ثبت‌شده روی آرایه نادیده گرفته خواهد شد.

هنگامی که mdadm نیاز به چاپ نام یک دستگاه دارد، معمولاً کوتاه‌ترین نام ارجاع‌دهنده به آن دستگاه در /dev را انتخاب می‌کند. هنگامی که یک مؤلفه مسیر با --prefer مشخص شود، mdadm نام طولانی‌تری را ترجیح می‌دهد اگر شامل آن مؤلفه باشد. برای نمونه --prefer=by-uuid نامی را در زیرپوشه by-uuid در /dev ترجیح خواهد داد. این قابلیت در حال حاضر تنها توسط --detail و --monitor ارائه می‌شود.
نام کلاستر را برای دستگاه md مشخص می‌کند. دستگاه md تنها بر روی کلاستری که با نام مشخص‌شده مطابقت دارد قابل سرهم‌بندی است. اگر این گزینه ارائه نشود، mdadm تلاش می‌کند تا نام کلاستر را به صورت خودکار شناسایی کند.

تعیین تعداد دستگاه‌های فعال در آرایه. این تعداد به اضافه تعداد دستگاه‌های یدکی (Spare) باید برابر با مجموع دستگاه‌های_عضو (شامل دستگاه‌های "missing") باشد که در خط فرمان برای --create ذکر شده‌اند. تنظیم مقدار ۱ احتمالاً یک اشتباه است و بنابراین نیازمند آن است که ابتدا --force مشخص شود؛ در این صورت مقدار ۱ برای حالت‌های linear، multipath، RAID0 و RAID1 مجاز خواهد بود، اما هرگز برای RAID4، RAID5 یا RAID6 مجاز نیست.
این تعداد را تنها می‌توان با استفاده از --grow برای آرایه‌های RAID1، RAID4، RAID5 و RAID6 تغییر داد.
تعیین تعداد دستگاه‌های یدکی (eXtra) در آرایه اولیه. دیسک‌های یدکی را می‌توان بعداً نیز اضافه یا حذف کرد. تعداد دستگاه‌های عضو فهرست‌شده در خط فرمان باید برابر با مجموع دیسک‌های RAID به علاوه دیسک‌های یدکی باشد.
میزان فضای مورد استفاده (به کیلوبایت) از هر درایو در سطوح رِید 1/4/5/6/10 و برای RAID 0 روی متادیتای خارجی. این مقدار باید مضربی از اندازه تکه (Chunk size) باشد و حدود ۱۲۸ کیلوبایت فضا در انتهای درایو برای ابربلوک RAID باقی بگذارد. هنگامی که مقدار به صورت ¸max¸ مشخص شود (که بسیار رایج است)، کوچک‌ترین درایو (یا پارتیشن) تعیین‌کننده اندازه خواهد بود. در این حالت، اگر اندازه درایوها به عنوان یک گروه بیش از یک درصد با یکدیگر تفاوت داشته باشد، یک پیام هشدار نمایش داده خواهد شد.

پسوندهای 'K'، 'M'، 'G' یا 'T' می‌توانند به ترتیب برای نشان دادن کیلوبایت، مگابایت، گیگابایت یا ترابایت استفاده شوند.

گاهی ممکن است درایو جایگزین اندکی کوچکتر از درایوهای اصلی باشد، هرچند استانداردهای IDEMA این اختلاف را به حداقل رسانده‌اند. چنین درایو جایگزینی توسط md رد خواهد شد. برای پیشگیری از این مشکل، مفید است که اندازه اولیه اندکی کوچکتر از کوچکتری دستگاه تنظیم شود تا همچنان بزرگتر از هر جایگزین احتمالی باشد.

این گزینه با --create برای تعیین اندازه اولیه آرایه به کار می‌رود. برای متادیتای خارجی، می‌تواند روی یک حجم (Volume) استفاده شود، اما روی خود کانتینر قابل استفاده نیست. تنظیم اندازه اولیه برای آرایه RAID 0 تنها در متادیتای خارجی معتبر است.

این مقدار را می‌توان با --grow برای سطوح رِید 1/4/5/6/10 تغییر داد، هرچند ممکن است آرایه‌های DDF قادر به پشتیبانی از آن نباشند. اندازه آرایه RAID 0 قابل تغییر نیست. اگر آرایه با اندازه‌ای کوچکتر از درایوهای فعال کنونی ایجاد شده باشد، فضای اضافی را می‌توان با استفاده از --grow در دسترس قرار داد. اندازه را می‌توان به عنوان max تعیین کرد که به معنای انتخاب بزرگترین اندازه‌ای است که روی تمام درایوهای فعلی جا می‌شود.

پیش از کاهش اندازه آرایه (با --grow --size=) باید مطمئن شوید که فضا مورد نیاز نیست. اگر دستگاه حاوی فایل‌سیستم است، باید فایل‌سیستم را تغییر اندازه دهید تا فضای کمتری اشغال کند.

پس از کاهش اندازه آرایه، باید بررسی کنید که آیا داده‌های ذخیره‌شده هنوز در دسترس هستند یا خیر. اگر دستگاه حاوی فایل‌سیستم است، اجرای یک 'fsck' روی آن حداقل نیاز ضروری است. در صورت بروز مشکل، می‌توان با دستور دیگری از --grow --size= آرایه را بدون اتلاف داده مجدداً بزرگ کرد.

این گزینه تنها با --grow معنی‌دار است و اثر آن ماندگار نیست: هنگامی که آرایه متوقف و دوباره راه‌اندازی شود، اندازه پیش‌فرض آرایه بازیابی خواهد شد.

تنظیم اندازه آرایه باعث می‌شود که آرایه برای برنامه‌هایی که به داده‌ها دسترسی دارند کوچکتر به نظر برسد. این امر به ویژه پیش از تغییر شکل ساختاری (Reshape) آرایه برای کوچکتر شدن آن مورد نیاز است. از آنجا که تغییر ساختار غیرقابل بازگشت است، اما تنظیم اندازه با --array-size برگشت‌پذیر است، لازم است که اندازه آرایه پیش از کاهش تعداد دستگاه‌ها کاهش داده شود.

قبل از کاهش اندازه آرایه مطمئن شوید که فضا مورد نیاز نیست. اگر دستگاه حاوی فایل‌سیستم است، باید فایل‌سیستم را کوچک کنید.

پس از کاهش اندازه آرایه بررسی کنید که داده‌ها سالم باشند (اجرای fsck). مقدار max اندازه ظاهری آرایه را به مقدار فضای واقعی موجود بازمی‌گرداند.

آرایه‌های خوشه‌ای (Clustered) هنوز از این پارامتر پشتیبانی نمی‌کنند.

تعیین اندازه تکه (Chunk size) به کیلوبایت. مقدار پیش‌فرض هنگام ایجاد آرایه ۵۱۲ کیلوبایت است. برای سازگاری با نگارش‌های قدیمی‌تر، پیش‌فرض هنگام ساخت آرایه بدون متادیتای ماندگار ۶۴ کیلوبایت است. این گزینه تنها برای RAID0، RAID4، RAID5، RAID6 و RAID10 معنی‌دار است.

در سطوح RAID4، RAID5، RAID6 و RAID10، اندازه تکه باید توانی از ۲ و حداقل ۴ کیلوبایت باشد.

پسوندهای 'K'، 'M'، 'G' یا 'T' برای واحدهای کیلوبایت تا ترابایت قابل استفاده‌اند.

تعیین ضریب گرد کردن برای یک آرایه Linear. اندازه هر جزء به مضربی از این مقدار به سمت پایین گرد می‌شود. این یک مترادف برای --chunk است اما معنای متفاوت آن را در Linear در مقایسه با سایر سطوح برجسته می‌کند. مقدار پیش‌فرض 0K است (بدون گرد کردن).
تنظیم سطح RAID. هنگام استفاده با --create, گزینه‌ها عبارتند از: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty, container. برخی از این‌ها مترادف یکدیگرند.

هنگامی که قالب متادیتای CONTAINER درخواست می‌شود، تنها سطح container مجاز است و نیازی به ذکر صریح آن نیست.

هنگام استفاده با --build, تنها مقادیر linear, stripe, raid0, 0, raid1, multipath, mp و faulty معتبر هستند.

می‌توان با --grow برای تغییر سطح RAID در برخی حالات استفاده کرد. بخش تغییرات سطح (LEVEL CHANGES) در ادامه را ببینید.

این گزینه جزئیات دقیق چیدمان داده‌ها را برای آرایه‌های RAID5، RAID6 و RAID10 پیکربندی می‌کند و حالت‌های خرابی را برای سطح faulty کنترل می‌نماید. همچنین می‌تواند برای دور زدن یک باگ هسته در RAID0 به کار رود، هرچند عموماً نیازی به تنظیم صریح ندارد.

چیدمان بلوک توازن (Parity) در RAID5 می‌تواند یکی از موارد زیر باشد: left-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs. پیش‌فرض برابر با left-symmetric است.

همچنین می‌توان با انتخاب parity-first یا parity-last کاری کرد که RAID5 از چیدمانی شبیه به RAID4 استفاده کند.

در نهایت برای RAID5 چیدمان‌های سازگار با DDF شامل ddf-zero-restart, ddf-N-restart و ddf-N-continue وجود دارند.

همین چیدمان‌ها برای RAID6 نیز در دسترس هستند. علاوه بر این، ۴ چیدمان وجود دارند که مرحله‌ای میانی برای تبدیل میان RAID5 و RAID6 فراهم می‌کنند؛ این چیدمان‌ها روی N-1 دستگاه اول مشابه چیدمان RAID5 متناظر هستند و سندروم 'Q' (دومین بلوک توازن RAID6) را روی آخرین دستگاه قرار می‌دهند: left-symmetric-6, right-symmetric-6, left-asymmetric-6, right-asymmetric-6 و parity-first-6.

هنگام تنظیم حالت خرابی برای سطح faulty, گزینه‌ها عبارتند از: write-transient, wt, read-transient, rt, write-persistent, wp, read-persistent, rp, write-all, read-fixable, rf, clear, flush, none.

هر حالت خرابی می‌تواند با یک عدد همراه باشد که به عنوان دوره تکرار تولید خطا به کار می‌رود. بدون عدد، خطا یک‌بار در اولین درخواست مربوطه تولید می‌شود. با درج عدد، خطا پس از آن تعداد درخواست ایجاد شده و پس از انقضای هر دوره ادامه می‌یابد.

با استفاده از گزینه --grow می‌توان چندین حالت خرابی را به طور همزمان فعال داشت. عبارت "clear" یا "none" هرگونه حالت خطای معلق یا دوره‌ای را پاک می‌کند و "flush" خطاهای ماندگار را برطرف می‌سازد.

گزینه‌های چیدمان برای RAID10 یکی از حروف 'n'، 'o' یا 'f' به همراه یک عدد کوچک نشان‌دهنده تعداد نسخه‌های هر بلوک داده است. پیش‌فرض 'n2' است. گزینه‌های پشتیبانی‌شده:

'n'
نشان‌دهنده نسخه‌های نزدیک (Near): چند نسخه از یک بلوک داده در آفست‌های مشابه در دیسک‌های مختلف قرار دارند.
'o'
نشان‌دهنده نسخه‌های جابجاشده (Offset): به جای تکرار تکه‌ها درون یک نوار، کل نوارها کپی می‌شوند اما با چرخش یک دستگاهی، به طوری که بلوک‌های تکراری روی دستگاه‌های متفاوتی قرار می‌گیرند.
'f'
نشان‌دهنده نسخه‌های دور (Far): نسخه‌های متعدد آفست‌های بسیار متفاوتی دارند. برای جزئیات به md(4) مراجعه کنید.

تعداد معمول نسخه‌ها ۲ و گاهی ۳ است. این مقدار حداکثر می‌تواند برابر تعداد دستگاه‌ها باشد.

یک باگ معرفی‌شده در لینوکس 3.14 باعث شد آرایه‌های RAID0 با دستگاه‌هایی با اندازه‌های متفاوت از چیدمان متفاوتی استفاده کنند که می‌توانست به خرابی داده‌ها منجر شود. از لینوکس 5.4 به بعد هسته چنین آرایه‌ای را نمی‌پذیرد مگر اینکه چیدمان صریحاً روی 'original' یا 'alternate' تنظیم شده باشد. هنگام ایجاد یک آرایه جدید، mdadm به صورت پیش‌فرض 'original' را انتخاب می‌کند. برای ایجاد آرایه روی هسته‌های قدیمی‌تر می‌توان آن را روی 'dangerous' تنظیم کرد.

هنگام تبدیل آرایه میان RAID5 و RAID6 از یک چیدمان میانی استفاده می‌شود که بلوک توازن دوم (Q) همیشه روی آخرین دیسک است. برای تبدیل و باقی ماندن در این چیدمان از --layout=preserve استفاده کنید تا از بازسازی نوارها جلوگیری شود. برعکس آن، --layout=normalise چیدمان غیر استاندارد را به حالت عادی تغییر می‌دهد.

مشابه با --layout (دلیل وجود حرف p در -p).
تعیین نحوه ذخیره‌سازی بیت‌مپ قصد نوشتن (Write-intent bitmap). مقادیر زیر پشتیبانی می‌شوند:

internal - بیت‌مپ به همراه متادیتا روی آرایه ذخیره شده و روی تمام دستگاه‌ها تکرار می‌شود.

clustered - آرایه برای محیط خوشه‌ای ایجاد می‌شود. برای هر گره مشخص‌شده با پارامتر --nodes یک بیت‌مپ به صورت داخلی ایجاد و ذخیره می‌گردد.

none - ایجاد آرایه بدون بیت‌مپ یا حذف بیت‌مپ موجود (در حالت grow).

--bitmap-chunk=
تنظیم اندازه تکه بیت‌مپ. هر بیت متناظر با آن مقدار کیلوبایت از فضای ذخیره‌سازی خواهد بود. برای بیت‌مپ داخلی (internal)، اندازه تکه پیش‌فرض 64Meg است، یا بزرگتر اگر برای جا شدن بیت‌مپ در فضای موجود لازم باشد.
دستگاه‌های بعدی که در خط فرمان ذکر می‌شوند با ویژگی 'write-mostly' علامت‌گذاری خواهند شد. این گزینه تنها برای RAID1 معتبر است و باعث می‌شود درایور 'md' تا حد امکان از خواندن از این دستگاه‌ها خودداری کند مگر در مواقع ضروری. این گزینه برای پیوندهای شبکه‌ای با سرعت پایین بسیار مفید است.
فعال‌سازی نوشتن پس‌زمینه (Write-behind) برای دستگاه‌های علامت‌گذاری‌شده با write-mostly. این ویژگی اجازه می‌دهد درخواست‌های نوشتن به دستگاه‌های کندتر به صورت ناهمگام انجام شوند. حداکثر تعداد درخواست‌های نوشتن معلق را می‌توان تعیین کرد (پیش‌فرض ۲۵۶).
دستگاه‌های بعدی را با علامت 'failfast' مشخص می‌کند. این گزینه تنها برای RAID1 و RAID10 معتبر است و باعث می‌شود در صورت بروز خطای خواندن یا نوشتن، درایور به جای تلاش‌های مکرر و طولانی، بلافاصله دستگاه را خطا اعلام کند تا از تاخیر جلوگیری شود. اگر آرایه تحلیل رود به طوری که دستگاه failfast تنها دستگاه قابل استفاده باشد، این فلگ نادیده گرفته می‌شود.
به mdadm اعلام می‌کند که آرایه از پیش وجود داشته و کاملاً تمیز و همگام است. این گزینه برای بازیابی پس از خرابی‌های عمده بسیار مفید است. همچنین می‌توان هنگام ایجاد RAID1 یا RAID10 برای اجتناب از همگام‌سازی اولیه از آن استفاده کرد، اما این کار معمولاً توصیه نمی‌شود مگر اینکه دقیقاً بدانید چه می‌کنید. اگر دیسک‌ها پیش از ایجاد با صفر پر شده باشند (مثلاً پس از badblocks)، می‌توان از این گزینه استفاده کرد. هنگام افزایش اندازه آرایه با --grow --size=, فضای جدید معمولاً بازهمگام‌سازی می‌شود؛ با این گزینه می‌توان از آن صرف‌نظر کرد.
هنگام ایجاد آرایه، درخواست‌های نوشتن صفر به تمام دستگاه‌های بلوکی ارسال می‌شود. این کار ناحیه داده را صفر می‌کند تا همگام‌سازی اولیه لازم نباشد و در صورت موفقیت، مانند --assume-clean عمل خواهد کرد. این گزینه تنها با create-- معنی‌دار است.
هنگامی نیاز است که از --grow برای افزایش تعداد دستگاه‌ها در RAID5 یا RAID6 (در صورت عدم وجود دیسک یدکی) یا برای کوچک‌سازی، تغییر سطح یا چیدمان استفاده شود. این فایل باید روی دستگاهی مجزا ذخیره شود، نه روی خود آرایه‌ای که در حال تغییر ساختار است.
آرایه‌های دارای متادیتای 1.x می‌توانند فاصله‌ای میان آغاز دستگاه و آغاز داده‌های آرایه باقی بگذارند. این فاصله data-offset نامیده می‌شود. معمولاً به طور خودکار محاسبه می‌شود، اما تنظیم صریح آن در مواقع بازسازی آرایه‌ای که با نگارش متفاوتی از mdadm ایجاد شده مفید است. این گزینه در --grow نیز برای تغییر آفست داده حین تغییر ساختار کاربرد دارد.
مکمل گزینه --freeze-reshape در سرهم‌بندی است. برای ادامه عملیات تغییر ساختاری که متوقف شده استفاده می‌شود. همراه با -G و دستگاه آرایه فراخوانی می‌شود و تمام پارامترها را از متادیتا می‌خواند.
تنظیم نام برای آرایه. نام باید با POSIX PORTABLE NAME سازگار بوده و بیش از ۳۲ نویسه نباشد.
اجبار به راه‌اندازی آرایه حتی اگر به نظر برسد برخی از دستگاه‌ها در آرایه یا فایل‌سیستم دیگری فعال هستند (حذف پرسش‌های تاییدی).
اجبار به پذیرش پیکربندی هندسی و چیدمان مشخص‌شده بدون تردید.
راه‌اندازی آرایه در حالت فقط‌خواندنی به جای خواندن/نوشتن عادی.
این گزینه در حالت Grow در دو حالت به کار می‌رود: افزودن دستگاه به یک آرایه Linear، یا افزودن دستگاه‌های اضافی هنگام افزایش raid-disks در یک آرایه RAID0 که امکان دیسک یدکی ندارد.
تعیین حداکثر تعداد گره‌های کلاستر که به طور همزمان از این دستگاه استفاده خواهند کرد (پیش‌فرض ۴).
تعیین دستگاه ژورنال برای آرایه RAID-4/5/6 (باید ترجیحاً یک SSD با طول عمر مناسب باشد).
تعیین نحوه حفظ سازگاری آرایه در زمان خاموشی غیرمنتظره. گزینه‌های پشتیبانی‌شده:
همگام‌سازی کامل پس از خاموشی نامناسب انجام می‌شود و تمام افزونگی بازتولید می‌گردد.
همگام‌سازی به کمک بیت‌مپ قصد نوشتن. با انتخاب --bitmap به طور ضمنی فعال می‌شود.
برای سطوح RAID 4/5/6، از دستگاه ژورنال برای ثبت تراکنش‌ها و بازپخش آن‌ها استفاده می‌شود. با --write-journal به طور ضمنی فعال می‌شود.
تنها برای RAID5، لاگ توازن جزئی (Partial Parity Log) برای بستن حفره نوشتن (Write Hole) و حذف بازهمگام‌سازی استفاده می‌شود. PPL در ناحیه متادیتای دیسک‌های عضو ذخیره می‌شود و نیازی به درایو ژورنال اضافی ندارد.

شناسه یکتای (UUID) آرایه برای سرهم‌بندی. دستگاه‌هایی که فاقد این شناسه باشند مستثنی می‌شوند.
شماره فرعی (Minor number) دستگاهی که آرایه برای آن ایجاد شده بود. اگر آرایه‌ای به عنوان /dev/md1 ایجاد شده باشد، تمام ابربلوک‌ها حاوی شماره ۱ خواهند بود حتی اگر بعداً به عنوان /dev/md2 سرهم‌بندی شود. مقدار "dev" از شماره فرعی دستگاه در حال سرهم‌بندی استفاده می‌کند. این گزینه تنها برای متادیتای v0.90 مطرح است و استفاده از --uuid بسیار امن‌تر است.
مشخص کردن نام آرایه برای سرهم‌بندی. باید با POSIX PORTABLE NAME سازگار بوده و حداکثر ۳۲ نویسه باشد.
سرهم‌بندی آرایه حتی اگر متادیتای برخی دستگاه‌ها قدیمی به نظر برسد. اگر mdadm نتواند دستگاه‌های فعال کافی برای راه‌اندازی پیدا کند، دستگاه‌هایی که به عنوان خراب ثبت شده‌اند را به عنوان سالم علامت‌گذاری می‌کند تا آرایه راه‌اندازی شود. این گزینه باید با احتیاط استفاده شود چون ممکن است منجر به خرابی داده شود.
تلاش برای راه‌اندازی آرایه حتی اگر تعداد درایوهای کمتری نسبت به آخرین زمان فعال بودن یافت شده باشد.
نقطه مقابل --run است؛ از راه‌اندازی آرایه جلوگیری می‌کند مگر اینکه تمام درایوهای مورد انتظار حاضر باشند.
اگر هنگام تغییر ساختار یک آرایه از این فایل استفاده شده باشد و سیستم در طول بخش بحرانی از کار افتاده باشد، همان فایل باید به --assemble داده شود تا داده‌های آسیب‌دیده بازیابی شوند و تغییر ساختار تکمیل گردد.
اگر فایل پشتیبان بالا در دسترس نباشد، می‌توان با دادن یک فایل خالی به همراه این گزینه اعلام کرد که فایل نامعتبر است تا بقیه آرایه تا جای ممکن بازیابی شود.
به‌روزرسانی ابربلوک روی هر دستگاه در حین سرهم‌بندی آرایه. آرگومان می‌تواند یکی از موارد زیر باشد: summaries, uuid, name, nodes, homehost, home-cluster, resync, byteorder, devicesize, no-bitmap, bbl, no-bbl, ppl, no-ppl, layout-original, layout-alternate, layout-unspecified, metadata, یا super-minor.

گزینه super-minor فیلد minor ترجیحی را در هر ابربلوک مطابق با شماره فرعی آرایه در حال سرهم‌بندی به‌روزرسانی می‌کند.

گزینه uuid شناسه UUID آرایه را تغییر می‌دهد.

گزینه name نام آرایه ذخیره‌شده در ابربلوک را تغییر می‌دهد (تنها برای نگارش ۱).

گزینه nodes تعداد گره‌های آرایه را در ابربلوک بیت‌مپ تغییر می‌دهد (محیط خوشه‌ای).

گزینه homehost نام homehost ثبت‌شده در ابربلوک را به‌روز می‌کند.

گزینه home-cluster نام کلاستر ثبت‌شده را به‌روزرسانی می‌کند.

گزینه resync باعث می‌شود آرایه به عنوان کثیف (dirty) علامت‌گذاری شود و یک دور همگام‌سازی کامل انجام شود تا تمام اطلاعات افزونگی بررسی و تصحیح شوند.

گزینه byteorder امکان جابجایی آرایه‌های با متادیتای 0.90 را میان معماری‌هایی با ترتیب بایت متفاوت (مانند big-endian به little-endian) فراهم می‌کند.

گزینه summaries خلاصه‌ها و شمارنده‌های کل، سالم، فعال، خراب و یدکی را در ابربلوک اصلاح می‌کند.

گزینه devicesize برای متادیتای 1.1 و 1.2 هنگامی که اندازه فیزیکی دستگاه عضو بزرگتر شده است کاربرد دارد تا حداکثر فضای قابل استفاده را شناسایی کرده و فیلد متناظر در متادیتا را به‌روز کند.

گزینه metadata آرایه‌های متادیتای v0.90 را به v1.0 تبدیل می‌کند (آرایه نباید کثیف باشد یا بیت‌مپ داشته باشد).

گزینه no-bitmap در صورتی که بیت‌مپ داخلی خراب شده و مانع سرهم‌بندی آرایه شود، آن را نادیده می‌گیرد.

گزینه‌های bbl و no-bbl برای تخصیص یا حذف فضای لیست بلوک‌های خراب (Bad block list) به کار می‌روند.

گزینه‌های ppl و no-ppl برای فعال یا غیرفعال کردن Partial Parity Log در ابربلوک RAID5 استفاده می‌شوند.

گزینه‌های layout-original, layout-alternate و layout-unspecified برای تنظیم یا بازگرداندن چیدمان آرایه‌های RAID0 با دیسک‌های ناهم‌اندازه استفاده می‌شوند (سازگاری با هسته‌های قبل و بعد از لینوکس 5.4).

این گزینه در اسکریپت‌های راه‌اندازی فاز initrd استفاده می‌شود تا تغییر ساختار را پس از بازیابی بخش بحرانی متوقف کند و از تداخل با تغییر نقطه اتصال ریشه سیستم‌عامل (pivot) جلوگیری به عمل آورد.

خروج با وضعیت ۲ در صورتی که هیچ تغییری در آرایه ایجاد نشود و ۰ در صورت اعمال حداقل یک تغییر. هنگام استفاده از تعیین‌کننده‌هایی مانند missing، detached یا faulty مفید است.
اتصال گرم (hot-add) دستگاه‌های فهرست‌شده. اگر دستگاه قبلاً عضو آرایه بوده باشد، دوباره اضافه (re-add) می‌شود؛ در غیر این صورت به عنوان دیسک یدکی (hot-spare) اضافه خواهد شد.
افزودن مجدد دستگاهی که قبلاً از آرایه حذف شده است. در صورت وجود بیت‌مپ، تنها بلوک‌های تغییریافته بازسازی می‌شوند و نیازی به بازسازی کامل نیست. اگر نام دستگاه missing داده شود، تلاش می‌شود تمامی دستگاه‌های مفقود اضافه شوند. اگر faulty داده شود، دستگاه‌های معیوب حذف و بلافاصله تلاش می‌شود دوباره اضافه شوند.
افزودن مستقیم دستگاه به عنوان دیسک یدکی بدون بررسی برای re-add.
حذف دستگاه‌های مشخص‌شده (باید غیرفعال، خراب یا یدکی باشند). کلمات failed, detached و نام‌های مجموعه‌ای مانند set-A نیز پذیرفته می‌شوند.
علامت‌گذاری دستگاه‌های فهرست‌شده به عنوان معیوب (Faulty).
مشابه با --fail.
علامت‌گذاری دستگاه برای جایگزینی. به محض در دسترس بودن دیسک یدکی، بازسازی روی آن آغاز می‌شود در حالی که درایو اصلی همچنان در خدمت باقی می‌ماند تا پایداری در برابر خطاهای همزمان افزایش یابد.
دستگاه‌های پس از این گزینه ترجیحاً برای جایگزینی دستگاه‌های مشخص‌شده با --replace استفاده خواهند شد.
تنظیم ویژگی 'write-mostly' برای دستگاه‌های بعدی که اضافه یا اضافه مجدد می‌شوند (فقط RAID1).
پاک کردن ویژگی 'write-mostly' برای دستگاه‌های بعدی.
تایید وجود دستگاه در محیط‌های خوشه‌ای در پاسخ به درخواست add-- از سوی یک گره دیگر.
افزودن یک دستگاه ژورنال به یک آرایه موجود، یا بازسازی ژورنال برای یک آرایه RAID-4/5/6 که دستگاه ژورنال خود را از دست داده است. برای جلوگیری از وقفه در عملیات نوشتن، این گزینه تنها در حالت فقط‌خواندنی کار می‌کند.
تنظیم فلگ 'failfast' برای دستگاه‌های بعدی (تنها برای RAID1 و RAID10).
افزودن مجدد دستگاه‌ها بدون فلگ 'failfast'.

بررسی یک دستگاه برای تشخیص اینکه: (۱) آیا یک دستگاه md است، و (۲) آیا عضوی از یک آرایه md می‌باشد یا خیر. اطلاعات کشف‌شده ارائه می‌شوند.
چاپ جزئیات کامل یک یا چند دستگاه md فعال.
--detail-platform
چاپ جزئیات قابلیت‌های RAID پلتفرم (میان‌افزار / هم‌بندی سخت‌افزاری) برای یک قالب متادیتای مشخص. در صورت عدم تعیین آرگومان، تمامی کنترلرها بررسی می‌شوند.
هنگام استفاده با --detail, --detail-platform, --examine یا --incremental, خروجی به صورت جفت‌های key=value قالب‌بندی می‌شود تا وارد کردن آن به متغیرهای محیطی یا اسکریپت‌ها آسان باشد.
چاپ محتوای متادیتای ذخیره‌شده روی دستگاه‌های نام‌برده. تفاوت میان --examine و --detail در این است که examine روی دستگاه‌های عضو آرایه اجرا می‌شود در حالی که detail روی کل یک آرایه فعال اعمال می‌گردد.
گزارش اطلاعات مربوط به یک بیت‌مپ. آرگومان باید یک دستگاه عضو آرایه باشد (نه نام خود دستگاه آرایه مانند /dev/md0).
--examine-badblocks
فهرست کردن بلوک‌های خراب ثبت‌شده برای دستگاه (در صورتی که لیست بلوک‌های خراب پیکربندی شده باشد؛ متادیتای 1.x و IMSM).
ذخیره متادیتا از دستگاه‌های فهرست‌شده در یک دایرکتوری، یا بازیابی متادیتا از فایل‌های دایرکتوری به دستگاه‌ها.
راه‌اندازی یک آرایه ناقص سرهم‌بندی‌شده. اگر --assemble دستگاه کافی برای راه‌اندازی کامل پیدا نکند، می‌توان با --run آن را در حالت تخریب‌شده (Degraded) بالا آورد.
غیرفعال کردن آرایه و آزادسازی تمام منابع اختصاص‌یافته به آن.
علامت‌گذاری آرایه به عنوان فقط‌خواندنی.
تغییر وضعیت یک آرایه فقط‌خواندنی به حالت خواندن/نوشتن.
اگر دستگاه حاوی یک ابربلوک معتبر md باشد، آن بلوک با صفر بازنویسی و پاک می‌شود. همراه با --force حتی در صورت نامعتبر به نظر رسیدن ابربلوک نیز رونویسی انجام می‌شود. توجه: هنگام فراخوانی این گزینه روی آرایه‌های خوشه‌ای دقت کنید که آرایه در گره دیگری استفاده نشده باشد.
اگر دستگاه یک کانتینر باشد، زیرآرایه (subarray) غیرفعال مشخص‌شده درون کانتینر را حذف می‌کند.
به‌روزرسانی فیلد مشخص‌شده در ابربلوک یک زیرآرایه در کانتینر.
هنگام استفاده با --detail, کد خروج mdadm را برای انعکاس وضعیت آرایه تنظیم می‌کند (۰ سالم، ۱ دارای دیسک خراب، ۲ غیرقابل استفاده، ۴ خطای عمومی).
برای هر دستگاه md داده‌شده، منتظر پایان یافتن هرگونه فعالیت بازهمگام‌سازی، بازیابی یا تغییر ساختار می‌ماند.
ترتیبی می‌دهد که آرایه در سریع‌ترین زمان ممکن تمیز (Clean) علامت‌گذاری شود (به ویژه برای متادیتای خارجی).
تنظیم عمل همگام‌سازی ("sync_action") برای دستگاه‌های md به یکی از مقادیر idle, frozen, check یا repair. گزینه check صحت توازن را بررسی و عدم تطابق‌ها را در sysfs گزارش می‌دهد، در حالی که repair علاوه بر بررسی، عدم تطابق‌ها را با بازنویسی اطلاعات توازن اصلاح می‌کند.
ایجاد قوانین udev برای مدیریت دستگاه‌های خام اتصال گرم بر اساس خط‌مشی‌های (POLICY) موجود در mdadm.conf.

بازسازی فایل نگاشت (/run/mdadm/map) که mdadm برای ردیابی آرایه‌های در حال سرهم‌بندی استفاده می‌کند.
راه‌اندازی آرایه سرهم‌بندی‌شده به محض حاضر بودن حداقل تعداد دستگاه‌های لازم، بدون معطلی برای رسیدن همه درایوها.
پویش فایل نقشه برای یافتن آرایه‌هایی که به صورت افزایشی سرهم‌بندی شده‌اند و تلاش برای راه‌اندازی مواردی که هنوز شروع نشده‌اند.
به سیستم hot-plug اجازه می‌دهد دستگاه‌هایی که کاملاً از هسته ناپدید شده‌اند را ابتدا خراب اعلام کرده و سپس از آرایه جدا سازد.
تنها با fail-- استفاده می‌شود. مسیر فیزیکی ثبت می‌شود تا در صورت اتصال درایو جدید در همان درگاه، جایگزین دستگاه قبلی شود.

مشخص کردن آدرس ایمیل برای ارسال پیام‌های هشدار. قابل تنظیم با MAILADDR در mdadm.conf.
تعیین برنامه‌ای که در زمان وقوع هر رویداد اجرا شود. قابل تنظیم با PROGRAM در mdadm.conf.
ارسال تمامی رویدادها به سرویس 'syslog' با تسهیلات 'daemon'.
تعیین تاخیر میان دوره‌های بررسی بر حسب ثانیه (پیش‌فرض ۶۰ ثانیه).
تعیین درصد گام گزارش‌دهی پیشرفت بازسازی (ایجاد رویدادهای RebuildNN).
اجرای mdadm در پس‌زمینه به عنوان یک دیمن (جداسازی از ترمینال و چاپ PID در خروجی استاندارد).
نوشتن شناسه فرایند (PID) در فایل مشخص‌شده هنگام اجرا در حالت دیمن.
-1, --oneshot
بررسی آرایه‌ها تنها برای یک‌بار (مناسب برای اجرا در اسکریپت‌های کرون - cron).
تولید رویداد آزمایشی TestMessage در زمان راه‌اندازی برای آزمایش دریافت صحیح هشدارها.
غیرفعال کردن انتقال خودکار دیسک‌های یدکی میان آرایه‌ها در گروه‌های یدکی مشترک.

نحوه استفاده: mdadm --assemble md-device options-and-component-devices...

نحوه استفاده: mdadm --assemble --scan md-devices-and-options...

نحوه استفاده: mdadm --assemble --scan options...

این حالت یک یا چند آرایه RAID را از قطعات و دیسک‌های از پیش موجود سرهم‌بندی می‌کند. برای هر آرایه، mdadm باید دستگاه md، هویت آرایه و تعداد دستگاه‌های عضو را بداند. این اطلاعات را می‌توان از روش‌های متعددی به دست آورد.

در نخستین الگوی استفاده (بدون --scan) نخستین دستگاه داده‌شده همان دستگاه md است. در الگوی دوم، تمامی دستگاه‌های فهرست‌شده به عنوان دستگاه‌های md تلقی شده و تلاش برای سرهم‌بندی آن‌ها صورت می‌گیرد. در الگوی سوم (که هیچ دستگاهی ذکر نشده است)، تمامی دستگاه‌های md فهرست‌شده در فایل پیکربندی سرهم‌بندی خواهند شد. اگر هیچ آرایه‌ای در فایل پیکربندی توصیف نشده باشد، هر آرایه‌ای که روی دستگاه‌های استفاده‌نشده یافت شود سرهم‌بندی می‌گردد.

اگر دقیقاً یک دستگاه ذکر شود اما --scan داده نشود، mdadm طوری عمل می‌کند که گویی scan-- مشخص شده و اطلاعات هویتی را از فایل پیکربندی استخراج می‌کند.

هویت را می‌توان با گزینه‌های --uuid, --name یا --super-minor تعیین کرد، یا از رکورد md-device در فایل پیکربندی یا از ابربلوک نخستین دستگاه عضو ذکرشده در خط فرمان دریافت نمود.

تنها دستگاه‌هایی که دارای ابربلوک md با هویت منطبق باشند برای آرایه در نظر گرفته می‌شوند.

فایل پیکربندی تنها در صورتی خوانده می‌شود که صریحاً با --config تعیین شده باشد یا با استفاده از --scan درخواست شده باشد.

به طور عادی آرایه پس از سرهم‌بندی راه‌اندازی می‌شود. با این حال، اگر scan-- داده نشده باشد و تمام درایوهای مورد انتظار حاضر نباشند، برای جلوگیری از اشتباهات کاربری آرایه راه‌اندازی نمی‌شود؛ مگر اینکه از گزینه --run برای اجبار به اجرا استفاده کنید.

اگر udev فعال باشد، mdadm گره‌های دستگاه را مستقیماً در /dev نمی‌سازد بلکه این کار را به udev واگذار می‌کند و اطلاعات را در /run/mdadm/map ثبت می‌نماید تا udev نام صحیح را انتخاب کند.

هنگامی که --assemble همراه با --scan استفاده شود و هیچ دستگاهی ذکر نگردد، mdadm ابتدا تلاش می‌کند تمامی آرایه‌های موجود در فایل پیکربندی را سرهم‌بندی کند.

اگر هیچ آرایه‌ای در فایل پیکربندی نباشد، دستگاه‌های در دسترس را برای یافتن آرایه‌ها جستجو می‌کند. آرایه‌های متعلق به homehost سیستم به طور عادی سرهم‌بندی و فعال می‌شوند. آرایه‌هایی که متعلق به این میزبان نیستند، با نام‌هایی که با موارد محلی تداخل نداشته باشند ایجاد شده و در حالت "read-auto" راه‌اندازی می‌شوند تا زمانی که درخواستی برای نوشتن ارسال شود چیزی روی آن‌ها نوشته نشود (تاخیر در همگام‌سازی خودکار).

برای آرایه‌های نگارش 0.90 شماره minor به عنوان نام در /dev/md/ استفاده می‌شود (مانند /dev/md/3) و برای نگارش ۱ نام ذخیره‌شده در ابربلوک مبنای نام‌گذاری خواهد بود.

این رفتار را می‌توان با خط AUTO در فایل mdadm.conf سفارشی‌سازی کرد.

نحوه استفاده: mdadm --build md-device --chunk=X --level=Y --raid-devices=Z devices

این کاربرد مشابه --create است، با این تفاوت که آرایه‌ای بدون ابربلوک می‌سازد. در این نوع آرایه‌ها تفاوتی میان ایجاد اولیه و سرهم‌بندی بعدی وجود ندارد، جز اینکه امیدواریم در حالت دوم داده‌های مفیدی وجود داشته باشد.

سطح می‌تواند raid0، linear، raid1، raid10، multipath یا faulty باشد. تمامی دستگاه‌ها باید فهرست شوند و آرایه پس از تکمیل بلافاصله فعال می‌شود. در سطوح raid1 یا raid10 اغلب استفاده از --assume-clean مناسب خواهد بود.

نحوه استفاده: mdadm --create md-device --chunk=X --level=Y --raid-devices=Z devices

این دستور یک آرایه md جدید را مقداردهی اولیه کرده، دستگاه‌هایی را به آن پیوند می‌دهد و آرایه را فعال می‌سازد.

دستگاه md-device می‌تواند یک نام استاندارد یا یک نام دلخواه باشد (بخش نام‌گذاری دستگاه‌ها را ببینید). این دستگاه معمولاً هنگام اجرای دستور هنوز وجود ندارد و پس از فعال شدن آرایه توسط udev ایجاد می‌شود.

حداکثر طول نام دستگاه به ۳۲ نویسه محدود است (برخی متادیتاها مانند IMSM تنها ۱۶ نویسه را مجاز می‌دانند).

با اضافه شدن هر دستگاه، بررسی می‌شود که آیا حاوی ابربلوک‌های RAID یا فایل‌سیستم هست یا خیر، و همچنین بررسی می‌شود که اختلاف اندازه دستگاه‌ها از ۱٪ تجاوز نکند. در صورت مشاهده هرگونه مغایرت، اجرای خودکار متوقف می‌شود مگر اینکه از --run استفاده شده باشد.

برای ایجاد یک آرایه تحلیل‌رفته (Degraded) که برخی دیسک‌های آن مفقود هستند، کافی است کلمه "missing" را به جای نام دستگاه بنویسید. برای RAID4 یا RAID5 حداکثر یک اسلات و برای RAID6 حداکثر دو اسلات می‌توانند missing باشند. در RAID1 تنها وجود یک دستگاه واقعی کافی است و بقیه می‌توانند missing باشند.

هنگام ساخت یک آرایه RAID5، mdadm به طور خودکار یک آرایه تحلیل‌رفته با یک درایو یدکی اضافی ایجاد می‌کند، زیرا بازسازی درایو یدکی درون یک آرایه تحلیل‌رفته سریع‌تر از بازهمگام‌سازی توازن روی یک آرایه غیرتحلیل‌رفته اما نامنظم است. این رفتار با --force قابل لغو است.

هنگام ایجاد آرایه مبتنی بر پارتیشن با متادیتای نگارش 1.x، نوع پارتیشن باید روی 0xDA تنظیم شود.

فضایی برای بیت‌مپ رزرو خواهد شد تا بعداً بتوان با --grow --bitmap=internal آن را اضافه کرد. در صورت پشتیبانی متادیتا، فضایی نیز برای لیست بلوک‌های خراب (BBL) تخصیص می‌یابد.

نحوه استفاده: mdadm device options... devices...

این حالت اجازه می‌دهد دستگاه‌های مجزا در یک آرایه به عنوان خراب علامت‌گذاری شوند، حذف شوند یا اضافه گردند. امکان انجام چندین عملیات در یک فرمان واحد وجود دارد:
mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 -a /dev/hda1
این دستور ابتدا /dev/hda1 را در /dev/md0 معیوب اعلام کرده، سپس آن را از آرایه حذف می‌کند و در نهایت مجدداً به عنوان دیسک یدکی به آرایه می‌افزاید.

هنگامی که دستگاهی به آرایه فعال افزوده می‌شود، mdadm بررسی می‌کند که آیا متادیتای آن نشان‌دهنده عضویت اخیر در آرایه هست یا خیر؛ در این صورت تلاش می‌کند آن را به صورت "re-add" اضافه کند تا در صورت وجود بیت‌مپ، تنها بخش‌های تغییریافته بازسازی شوند.

نحوه استفاده: mdadm options ... devices ...

حالت متفرقه شامل مجموعه‌ای از عملیات‌های متمایز است که روی دستگاه‌ها اجرا می‌شوند:

دستگاه بررسی می‌شود تا مشخص شود آیا یک آرایه فعال md است یا بخشی از یک آرایه md. اطلاعات کشف‌شده نمایش داده می‌شوند.
دستگاه باید یک دستگاه md فعال باشد. mdadm توصیف دقیقی از وضعیت آرایه نمایش می‌دهد. گزینه‌های --brief یا --scan باعث می‌شوند خروجی خلاصه‌تر شده و در قالبی مناسب برای قرارگیری در mdadm.conf تولید شود. وضعیت خروج در صورت عدم ارائه --test معمولاً ۰ است؛ در صورت استفاده از گزینه --test, وضعیت خروج به شرح زیر خواهد بود:
0
آرایه کاملاً سالم است و به درستی کار می‌کند.
1
آرایه حداقل دارای یک دستگاه معیوب است.
2
آرایه دارای چندین دستگاه معیوب است به طوری که غیرقابل استفاده شده است.
4
در حین تلاش برای دریافت اطلاعات دستگاه خطایی رخ داده است.
--detail-platform
چاپ جزئیات قابلیت‌های RAID پلتفرم (میان‌افزار / هم‌بندی سخت‌افزاری). اگر متادیتا با -e یا --metadata= تعیین شده باشد، وضعیت خروج به این صورت است:
0
متادیتا با موفقیت اجزای پلتفرم خود را روی این سیستم شمارش کرد.
1
متادیتا مستقل از پلتفرم است.
2
متادیتا موفق به یافتن اجزای پلتفرم خود روی این سیستم نشد.
اگر دستگاه یک ظرف (Container) باشد و آرگومان این گزینه یک زیرآرایه را مشخص کند، فیلد تعیین‌شده ابربلوک را به‌روزرسانی می‌کند. گزینه‌های پشتیبانی‌شده شامل name، ppl، no-ppl، bitmap و no-bitmap هستند.
دستگاه باید عضوی از یک آرایه md باشد. mdadm ابربلوک md را خوانده و محتوای آن را نمایش می‌دهد.
اگر دستگاه حاوی متادیتای RAID باشد، فایلی با نام متناظر در دایرکتوری ایجاد شده و متادیتا در همان آفست فیزیکی به صورت یک فایل کم‌پشت (Sparse) ذخیره می‌گردد تا فضای ناچیزی اشغال شود.
عکس عملیات --dump است و متادیتا را از فایل موجود در دایرکتوری به دستگاه بازمی‌گرداند.
غیرفعال‌سازی آرایه‌های md فعال و آزادسازی دستگاه‌ها، به شرطی که در حال استفاده نباشند.
فعال‌سازی کامل آرایه نیمه‌سرهم‌بندی‌شده در حالت تحلیل‌رفته.
علامت‌گذاری آرایه فعال به صورت فقط‌خواندنی.
بازگرداندن آرایه فقط‌خواندنی به حالت خواندن/نوشتن عادی.
برای تمام عملیات‌ها به جز --examine, باعث اعمال عملیات روی تمام آرایه‌های موجود در /proc/mdstat می‌شود. برای --examine, باعث بررسی تمام دستگاه‌های فهرست‌شده در فایل پیکربندی می‌گردد.
کاهش جزئیات خروجی (همراه با detail یا examine).

نحوه استفاده: mdadm --monitor options... devices...

گزینه نظارت می‌تواند در دو حالت کار کند:

  • حالت سراسری سیستم: پیگیری تمام دستگاه‌های md بر اساس /proc/mdstat,
  • پیگیری تنها دستگاه‌های MD مشخص‌شده در خط فرمان.

گزینه --scan نشان‌دهنده حالت سراسری است و باعث می‌شود ابزار تمامی دستگاه‌های موجود در /proc/mdstat را ردیابی کند. در صورت عدم تنظیم آن، باید حداقل یک دستگاه در خط فرمان مشخص شود.

نظارت باعث می‌شود mdadm به صورت دوره‌ای آرایه‌ها را بررسی کرده و هرگونه رویداد رخ‌داده را گزارش دهد. همچنین در صورت تعریف گروه‌های یدکی مشترک (spare-group) یا دامنه‌های POLICY, می‌تواند دیسک یدکی را به طور خودکار از یک آرایه سالم به یک آرایه تحلیل‌رفته منتقل کند.

اگر رویدادها به یک برنامه ارسال شوند، برنامه به ازای هر رویداد اجرا شده و ۲ یا ۳ آرگومان دریافت می‌کند: نام رویداد، نام دستگاه md آسیب‌دیده، و نام دستگاه عضو مرتبط (در صورت وجود).

در سیستم‌هایی که نظارت mdadm از طریق systemd مدیریت می‌شود، سرویس mdmonitor.service به صورت پیش‌فرض فعال است. برای دریافت هشدارها کافی است مقدار MAILADDR را در mdadm.conf تنظیم کنید.

رویدادهای مختلف عبارتند از:

آرایه‌ای که قبلاً پیکربندی شده بود دیگر وجود ندارد (اولویت: Critical).
آرایه بازسازی یا همگام‌سازی را آغاز کرده است (اولویت: Warning).
پیشرفت بازسازی به درصد NN رسیده است (اولویت: Warning).
بازسازی آرایه به پایان رسیده یا متوقف شده است (اولویت: Warning).
یک دستگاه عضو فعال در آرایه معیوب شده است (اولویت: Critical).
یک دستگاه یدکی در حال بازسازی دچار خرابی شده است (اولویت: Critical).
بازسازی دستگاه یدکی با موفقیت پایان یافته و فعال شده است (اولویت: Info).
یک آرایه جدید در /proc/mdstat شناسایی شده است (اولویت: Info).
آرایه‌ای تازه شناسایی‌شده در وضعیت تحلیل‌رفته قرار دارد (اولویت: Critical).
یک درایو یدکی از یک آرایه به آرایه دیگر برای جایگزینی درایو خراب منتقل شد (اولویت: Info).
تعداد درایوهای یدکی کمتر از میزان تعیین‌شده در فایل پیکربندی است (اولویت: Warning).
پیام آزمایشی تولیدشده با فلگ --test (اولویت: Info).

تنها رویدادهای Fail, FailSpare, DegradedArray, SparesMissing و TestMessage باعث ارسال ایمیل می‌شوند، اما تمامی رویدادها باعث اجرای برنامه هشدار خواهند شد.

حالت گسترش (GROW) برای تغییر اندازه، ساختار یا شکل یک آرایه فعال به کار می‌رود.

تغییرات زیر پشتیبانی می‌شوند:

  • تغییر ویژگی "size" برای آرایه‌های RAID1، RAID4، RAID5 و RAID6.
  • افزایش یا کاهش ویژگی "raid-devices" در آرایه‌های RAID0، RAID1، RAID4، RAID5 و RAID6.
  • تغییر اندازه تکه (Chunk size) و چیدمان (Layout) در RAID0، RAID4، RAID5، RAID6 و RAID10.
  • تبدیل میان RAID1 و RAID5، میان RAID5 و RAID6، میان RAID0، RAID4 و RAID5، و میان RAID0 و RAID10 (در حالت near-2).
  • افزودن یا حذف بیت‌مپ قصد نوشتن (Write-intent bitmap).
  • تغییر خط‌مشی سازگاری آرایه.

استفاده از حالت GROW روی کانتینرها در حال حاضر تنها برای قالب کانتینر IMSM اینتل پشتیبانی می‌شود.

معمولاً هنگام ایجاد یک آرایه، "اندازه" از کوچک‌ترین درایو گرفته می‌شود. اگر درایوهای کوچک با درایوهای بزرگتر جایگزین شوند، می‌توان با حالت GROW فضای اضافی را فعال کرد. در این حالت یک فرایند "همگام‌سازی مجدد" برای بخش‌های جدید آغاز خواهد شد.

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

همچنین اندازه آرایه در حالی که بیت‌مپ فعال دارد قابل تغییر نیست و ابتدا باید بیت‌مپ حذف شود.

یک آرایه RAID1 می‌تواند با هر تعداد دیسک از ۱ به بالا کار کند. هنگام کاهش دیسک‌ها در RAID1، اسلات‌های مربوطه باید ابتدا با fail و remove خالی شوند. هنگام افزایش دیسک‌ها، دیسک‌های یدکی موجود بلافاصله فعال خواهند شد.

تغییر تعداد دیسک‌ها در RAID5 یا RAID6 نیازمند خواندن و نوشتن مجدد تک تک بلوک‌ها در موقعیت‌های جدید است. هسته لینوکس می‌تواند این کار را به شکلی امن و با قابلیت از سرگیری در صورت قطع شدن انجام دهد.

هسته لینوکس می‌تواند یک RAID0 را به RAID4 یا RAID5 تبدیل کند. mdadm از این قابلیت برای افزودن دیسک به یک RAID0 استفاده می‌کند (تبدیل به RAID4، افزودن دیسک، تغییر ساختار و بازگرداندن به RAID0).

هنگام کاهش تعداد دستگاه‌ها، اندازه آرایه نیز کاهش می‌یابد که غیرقابل بازگشت است. برای پیشگیری از حوادث، mdadm الزام می‌کند که ابتدا اندازه آرایه با mdadm --grow --array-size کاهش یابد و سپس کاهش دیسک‌ها انجام شود.

در طول تغییر مکان نوارهای اولیه در RAID5 و RAID6 ("بخش بحرانی")، برای جلوگیری از خرابی اطلاعات در زمان قطع ناگهانی برق، mdadm نوشتن را موقتاً غیرفعال کرده و یک نسخه پشتیبان از داده‌های آن بخش تهیه می‌کند. برای این منظور استفاده از گزینه --backup-file الزامی است و فایل باید روی دستگاهی کاملاً مجزا ذخیره شود.

تغییر سطح RAID بلافاصله انجام می‌شود. با این حال تبدیل بین RAID5 و RAID6 نیازمند چیدمان موقت داده‌ها است که ممکن است زمان‌بر باشد و استفاده از --backup-file در طول فرایند الزامی است.

تغییر اندازه تکه یا چیدمان مستلزم بازنویسی تمامی بلوک‌ها در محل است و نیازمند ارائه --backup-file می‌باشد. فایل پشتیبان باید در زمان سرهم‌بندی پس از قطع احتمالی در دسترس باشد و نباید روی خود آرایه ذخیره شود.

بیت‌مپ قصد نوشتن را می‌توان به یک آرایه فعال اضافه یا از آن حذف کرد.

خط‌مشی سازگاری یک آرایه فعال را می‌توان با استفاده از گزینه --consistency-policy تغییر داد (به عنوان نمونه فعال یا غیرفعال کردن PPL در RAID5).

نحوه استفاده: mdadm --incremental [--run] [--quiet] component-device [optional-aliases-for-device]

نحوه استفاده: mdadm --incremental --fail component-device

نحوه استفاده: mdadm --incremental --rebuild-map

نحوه استفاده: mdadm --incremental --run --scan

این حالت برای استفاده در ترکیب با سیستم شناسایی سخت‌افزار (مانند udev) طراحی شده است. با کشف دستگاه‌ها در سیستم، آن‌ها به mdadm --incremental داده می‌شوند تا به صورت مشروط به آرایه متناظر اضافه گردند. برعکس، با فلگ --fail می‌توان دستگاه جداشده را از آرایه حذف کرد.

اگر دستگاه داده‌شده یک CONTAINER باشد، تمام آرایه‌های توصیف‌شده در متادیتای آن راه‌اندازی خواهند شد.

آزمون‌هایی که mdadm انجام می‌دهد شامل بررسی مجاز بودن دستگاه در mdadm.conf, بررسی معتبر بودن ابربلوک و بررسی تعلق آن به homehost سیستم است.

فهرست آرایه‌های ناقص سرهم‌بندی‌شده در /run/mdadm/map نگهداری می‌شود. آرایه به محض حاضر بودن تمام دیسک‌ها (یا با --run به محض امکان دسترسی به داده‌ها) راه‌اندازی می‌شود. فرمان mdadm -IRs پس از پایان فرایند کشف دستگاه‌ها، تمام آرایه‌های در حال سرهم‌بندی را در حالت "read-auto" راه‌اندازی می‌کند.

این بخش متغیرهای محیطی تاثیرگذار بر نحوه عملکرد mdadm را شرح می‌دهد.

تنظیم این متغیر به مقدار ۱ از اجرای خودکار mdmon توسط mdadm جلوگیری می‌کند. این متغیر عمدتاً برای اشکال‌زدایی mdadm/mdmon کاربرد دارد.
در حالت عادی، mdadm گره‌های دستگاه را در /dev ایجاد نمی‌کند بلکه این وظیفه را به udev واگذار می‌نماید. اگر به نظر برسد udev پیکربندی نشده است، یا اگر این متغیر روی '1' تنظیم شود، mdadm دستگاه‌های مورد نیاز را خودش خواهد ساخت.
اگر mdadm تشخیص دهد که systemd در حال اجراست، درخواست شروع وظایف پس‌زمینه (به ویژه mdmon) را به جای انشعاب مستقیم به systemd ارسال می‌کند. تنظیم MDADM_NO_SYSTEMCTL=1 این رفتار را لغو می‌کند.
مزیت اصلی متادیتای IMSM سازگاری با ROM بوت پلتفرم‌های اینتل است. بنابراین mdadm تنها در صورت حضور سخت‌افزار اینتل با پشتیبانی از IMSM اجازه ایجاد آن را می‌دهد. با تنظیم IMSM_NO_PLATFORM=1 در محیط می‌توان این بررسی‌ها را برای اهداف آزمایشی یا بازیابی نادیده گرفت.
اگر آرایه‌ای در حین تغییر ساختار با فایل پشتیبان متوقف شود و پس از سرهم‌بندی مجدد mdadm اخطار دهد که فایل پشتیبان بسیار قدیمی است، با تنظیم این متغیر روی ۱ می‌توان بررسی تاریخ فایل را نادیده گرفت.
هر رشته‌ای در این متغیر به ابتدای خط AUTO در فایل پیکربندی اضافه می‌شود تا بتوان انواع خاصی از متادیتا را در زمان بوت غیرفعال کرد (برای نمونه برای سپردن مدیریت دیسک‌ها به dmraid).

mdadm --query /dev/name-of-device
بررسی می‌کند که آیا دستگاه داده‌شده یک آرایه RAID یا بخشی از یک آرایه است و اطلاعات مختصری ارائه می‌دهد.

mdadm --assemble --scan
تمامی آرایه‌های فهرست‌شده در فایل پیکربندی استاندارد را سرهم‌بندی و راه‌اندازی می‌کند (معمولاً در اسکریپت‌های راه‌اندازی سیستم قرار می‌گیرد).

mdadm --stop --scan
تمامی آرایه‌هایی که در حال حاضر مورد استفاده نیستند را خاموش و متوقف می‌سازد (معمولاً در اسکریپت خاموشی سیستم قرار می‌گیرد).

mdadm --follow --scan --delay=120
اگر آدرس ایمیل یا برنامه‌ای در فایل پیکربندی مشخص شده باشد، وضعیت تمامی آرایه‌ها را هر ۲ دقیقه یک‌بار بررسی و پایش می‌کند.

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hd[ac]1
ایجاد آرایه RAID1 با نام /dev/md0 متشکل از دو پارتیشن /dev/hda1 و /dev/hdc1.

echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf
mdadm --detail --scan >> mdadm.conf
ایجاد یک پیش‌نویس فایل پیکربندی حاوی توصیف آرایه‌های فعال کنونی.

echo 'DEVICE /dev/hd[a-z] /dev/sd*[a-z]' > mdadm.conf
mdadm --examine --scan --config=mdadm.conf >> mdadm.conf
یافتن آرایه‌هایی که می‌توان از کل دیسک‌های IDE و SCSI موجود سرهم‌بندی کرد و ذخیره اطلاعات آن‌ها در قالب فایل پیکربندی.

mdadm --examine --brief --scan --config=partitions
mdadm -Ebsc partitions
پویش دیسک‌ها با خواندن /proc/partitions برای یافتن ابربلوک‌های RAID و چاپ فهرست خلاصه آن‌ها.

mdadm -Ac partitions -m 0 /dev/md0
پویش پارتیشن‌ها و سرهم‌بندی /dev/md0 از دستگاه‌هایی با ابربلوک RAID و شماره فرعی ۰.

mdadm --monitor --scan --daemonise > /run/mdadm/mon.pid
اجرای mdadm در پس‌زمینه در حالت پایش و ذخیره شناسه فرایند در /run/mdadm/mon.pid.

mdadm -Iq /dev/somedevice
تلاش برای گنجاندن دستگاه تازه کشف‌شده در آرایه مناسب.

mdadm --incremental --rebuild-map --run --scan
بازسازی نقشه آرایه‌ها و راه‌اندازی مواردی که قابل اجرا هستند.

mdadm /dev/md4 --fail detached --remove detached
علامت‌گذاری هر دستگاه جداشده در /dev/md4 به عنوان خراب و حذف آن از آرایه.

mdadm --grow /dev/md4 --level=6 --backup-file=/root/backup-md4
تبدیل آرایه RAID5 به نام /dev/md4 به سطح RAID6 با استفاده از فایل پشتیبان.

mdadm --create /dev/md/ddf --metadata=ddf --raid-disks 6 /dev/sd[a-f]
ایجاد یک ظرف DDF روی ۶ دستگاه.

mdadm --create /dev/md/home -n3 -l5 -z 30000000 /dev/md/ddf
ایجاد یک آرایه RAID5 روی ۳ دستگاه از مجموعه ظرف DDF با اندازه ۳۰ گیگابایت از هر دستگاه.

mdadm -A /dev/md/ddf1 /dev/sd[a-f]
سرهم‌بندی یک آرایه DDF از پیش موجود.

mdadm -I /dev/md/ddf1
سرهم‌بندی تمامی آرایه‌های موجود در آرایه ddf و تخصیص نام مناسب.

mdadm --help
ارائه راهنمای عمومی خط فرمان.

در صورت استفاده از فایل‌سیستم /proc, فایل /proc/mdstat فهرست تمامی دستگاه‌های md فعال را به همراه اطلاعات آن‌ها نمایش می‌دهد.

فایل پیکربندی پیش‌فرض. برای جزئیات به mdadm.conf(5) مراجعه کنید.

دایرکتوری پیش‌فرض حاوی فایل‌های پیکربندی.

هنگام استفاده از حالت --incremental, این فایل فهرست آرایه‌هایی که در حال حاضر در حال ایجاد هستند را نگهداری می‌کند.

یک نام معتبر تنها می‌تواند شامل نویسه‌های "A-Za-z0-9.-_" باشد. نام نباید با "-" شروع شود و نمی‌تواند از ۲۵۵ نویسه تجاوز کند.

ابزار mdadm دو نوع نام‌گذاری برای دستگاه‌های آرایه را به رسمیت می‌شناسد:

نوع نخست، نام با قالب 'استاندارد' است که با نام‌های استفاده‌شده توسط هسته و مندرج در /proc/mdstat مطابقت دارد (مانند /dev/md0).

نوع دوم نام‌های دلخواه هستند که باید در /dev/md/ قرار گیرند (مانند /dev/md/home). هنگام معرفی دستگاه می‌توان مسیر کامل یا فقط پسوند آن (مانند home) را تعیین کرد. نام خام در هر حالت باید با POSIX PORTABLE NAME سازگار بوده و بیش از ۳۲ نویسه نباشد.

قالب‌های متداول نام‌گذاری به صورت زیر است:

/dev/mdNN (که در آن NN یک عدد است)

یا به فرمت غیرعددی:

/dev/md_XXX (که در آن XXX یک رشته دلخواه است و از نگارش 3.3 پشتیبانی می‌شود).

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

ابزار mdadm پیش از این با نام mdctl شناخته می‌شد.

برای اطلاعات بیشتر درباره نحوه استفاده از mdadm، درایور MD و سطوح مختلف RAID، ببینید:

https://raid.wiki.kernel.org

آخرین نسخه mdadm همیشه از نشانی زیر در دسترس است:

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

صفحات راهنمای مرتبط:

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

مه ۲۰۲۵ mdadm