.\" -*- nroff -*- .TH "MDADM" "8" "مه ۲۰۲۵" "mdadm" "دستورات مدیریت سیستم" .SH "نام (NAME)" mdadm \- مدیریت دستگاههای MD (آرایههای چندگانه دیسک / Software RAID) .SH "خلاصه دستور (SYNOPSIS)" .BI mdadm " [حالت] <دستگاه_رِید> [گزینه‌ها] <دستگاه‌های_عضو>" .SH "توضیحات (DESCRIPTION)" ابزار \fBmdadm\fR برای مدیریت، ایجاد، ساخت، پیکربندی، نظارت و بررسی آرایههای چندگانه دیسک لینوکس (Software RAID) به کار میرود. دستگاه‌های RAID دستگاه‌های مجازی هستند که از دو یا چند دستگاه بلوکی واقعی ساخته می‌شوند. این کار امکان ترکیب چند دستگاه (معمولاً درایوهای دیسک یا پارتیشن‌های آن‌ها) را در یک دستگاه واحد برای نگهداری (برای نمونه) یک فایل‌سیستم منفرد فراهم می‌آورد. برخی از سطوح RAID شامل افزونگی (Redundancy) هستند و بنابراین می‌توانند در برابر درجاتی از خرابی دیسک‌ها دوام بیاورند. دستگاه‌های Software RAID در لینوکس از طریق درایور دستگاه md (دستگاه‌های چندگانه - Multiple Devices) پیاده‌سازی می‌شوند. در حال حاضر، لینوکس از دستگاه‌های md زیر پشتیبانی می‌کند: .BR LINEAR , .B RAID0 (توزیع داده‌ها / Striping)، .B RAID1 (آینه‌ای / Mirroring)، .BR RAID4 , .BR RAID5 , .BR RAID6 , .BR RAID10 , .BR MULTIPATH , .BR FAULTY و .BR CONTAINER . .B MULTIPATH یک سازوکار RAID نرم‌افزاری واقعی نیست، اما شامل چندین دستگاه می‌شود: هر دستگاه یک مسیر به یک دستگاه ذخیره‌سازی فیزیکی مشترک است. در نصب‌های جدید نباید از md/multipath استفاده شود، زیرا پشتیبانی ضعیفی دارد و توسعه فعالی روی آن انجام نمی‌شود؛ به جای آن از ابزارهای multipath بر پایه Device Mapper استفاده کنید. این قابلیت منسوخ شده و پشتیبانی از آن در آینده حذف خواهد شد. .B FAULTY نیز یک RAID واقعی نیست و تنها شامل یک دستگاه می‌شود. این حالت لایه‌ای روی یک دستگاه واقعی فراهم می‌کند که می‌تواند برای تزریق خطاها (Fault Injection) و شبیه‌سازی خرابی به کار رود. این قابلیت نیز منسوخ شده و پشتیبانی از آن در آینده حذف خواهد شد. .B CONTAINER موضوعی متفاوت است. یک .B CONTAINER مجموعه‌ای از دستگاه‌ها است که به صورت یک کل واحد مدیریت می‌شوند؛ شبیه به مجموعه‌ای از دیسک‌ها که به یک کنترلر سخت‌افزاری RAID متصل هستند. این مجموعه می‌تواند شامل چندین آرایه RAID مختلف باشد که هر کدام از بخشی (یا همه) بلوک‌های موجود در دستگاه‌های مجموعه استفاده می‌کنند. برای نمونه، در یک مجموعه ۵ دیسکی، دو دیسک می‌توانند یک آرایه RAID1 کامل تشکیل دهند، و سه دیسک باقی‌مانده می‌توانند یک RAID5 روی نیمه نخست هر دیسک و یک RAID0 روی نیمه دوم داشته باشند. با یک .BR CONTAINER , یک مجموعه متادیتا وجود دارد که تمام آرایه‌های درون ظرف را توصیف می‌کند. بنابراین وقتی .I mdadm یک دستگاه .B CONTAINER ایجاد می‌کند، این دستگاه صرفاً نمایانگر متادیتا است و آرایه‌های معمولی دیگر (مانند RAID1 و غیره) را می‌توان در داخل این ظرف ایجاد کرد. .SH "حالت‌ها (MODES)" ابزار mdadm چندین حالت کاری اصلی دارد: .TP .B سرهم‌بندی (Assemble) سرهم‌بندی اجزای یک آرایه از پیش ایجادشده در یک آرایه فعال. اجزا می‌توانند به صورت صریح مشخص شوند یا جستجو شوند. .I mdadm بررسی می‌کند که آیا اجزا تشکیل یک آرایه معتبر را می‌دهند یا خیر، و در صورت درخواست، می‌تواند اطلاعات ابربلوک (Superblock) را دستکاری کند تا یک آرایه معیوب نیز سرهم‌بندی شود. .TP .B ساخت سریع (Build) ساخت آرایه‌ای که متادیتای اختصاصی روی هر دیسک (ابربلوک) ندارد. برای این دست آرایه‌ها، .I mdadm نمی‌تواند تفاوت میان ایجاد اولیه و سرهم‌بندی بعدی آرایه را تشخیص دهد. همچنین نمی‌تواند بررسی کند که آیا اجزای درستی درخواست شده‌اند یا خیر. به همین دلیل، حالت .B Build تنها باید با آگاهی و درک کامل از آنچه انجام می‌دهید استفاده شود. .TP .B ایجاد (Create) ایجاد یک آرایه جدید با متادیتای اختصاصی روی هر دیسک (ابربلوک). متادیتای مناسب روی هر دیسک نوشته می‌شود و سپس آرایه متشکل از آن دستگاه‌ها فعال می‌گردد. یک فرایند «همگام‌سازی مجدد» (resync) آغاز می‌شود تا اطمینان حاصل شود که آرایه سازگار است (برای نمونه، هر دو سمت آینه حاوی داده‌های یکسانی باشند)، اما محتوای دیسک‌ها دست‌نخورده باقی می‌ماند. آرایه به محض ایجاد قابل استفاده است و نیازی به صبر کردن برای پایان همگام‌سازی اولیه نیست. .TP .B "نظارت یا پیگیری (Follow or Monitor)" نظارت بر یک یا چند دستگاه md و واکنش به تغییرات وضعیت آن‌ها. این حالت تنها برای آرایه‌های RAID1، 4، 5، 6، 10 یا multipath معنی‌دار است، زیرا فقط این سطوح وضعیت‌های قابل توجه دارند. آرایه‌های RAID0 یا Linear هرگز دیسک‌های مفقود، یدکی (Spare) یا خراب ندارند، بنابراین چیزی برای نظارت در آن‌ها وجود ندارد. .TP .B "گسترش (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) و تغییر خط‌مشی سازگاری آرایه است. .TP .B "سرهم‌بندی افزایشی (Incremental Assembly)" افزودن یک دستگاه مجزا به آرایه مناسب. اگر افزودن دستگاه باعث شود آرایه قابل اجرا شود، آرایه راه‌اندازی خواهد شد. این ویژگی رابطی مناسب برای سیستم‌های اتصال گرم (hot-plug) فراهم می‌کند؛ با شناسایی هر دستگاه، .I mdadm فرصت می‌یابد در صورت لزوم آن را در آرایه مناسب جای دهد. در صورت استفاده از گزینه .IR \-\-fail , به جای افزودن، دستگاه از آرایه فعال جدا می‌شود. اگر یک .B CONTAINER در این حالت به .I mdadm داده شود، تمام آرایه‌های داخل آن ظرف سرهم‌بندی و راه‌اندازی خواهند شد. .TP .B مدیریت (Manage)" برای انجام عملیات روی اجزای خاصی از آرایه مانند افزودن دیسک‌های یدکی (Spare) جدید و حذف دیسک‌های معیوب. .TP .B متفرقه (Misc)" حالت «همه کارهای دیگر» که از عملیات روی آرایه‌های فعال، عملیات روی دیسک‌های عضو مانند پاک کردن ابربلوک‌های قدیمی، و عملیات جمع‌آوری اطلاعات پشتیبانی می‌کند. .TP .B شناسایی خودکار (Auto-detect) این حالت روی دستگاه یا آرایه خاصی عمل نمی‌کند، بلکه از هسته لینوکس درخواست می‌کند تا هر آرایه شناسایی‌شده خودکار را فعال سازد. .SH "گزینه‌ها (OPTIONS)" .SH "گزینه‌های انتخاب حالت (Options for selecting a mode are:)" .TP .BR \-A ", " \-\-assemble سرهم‌بندی یک آرایه از پیش موجود. .TP .BR \-B ", " \-\-build ساخت یک آرایه قدیمی بدون ابربلوک. .TP .BR \-C ", " \-\-create ایجاد یک آرایه جدید. .TP .BR \-F ", " \-\-follow ", " \-\-monitor انتخاب حالت .BR نظارت " (Monitor)." .TP .BR \-G ", " \-\-grow تغییر اندازه یا شکل یک آرایه فعال. .TP .BR \-I ", " \-\-incremental افزودن/حذف یک دستگاه واحد به/از یک آرایه مناسب، و احتمالاً راه‌اندازی آرایه. .TP .B \-\-auto-detect درخواست از هسته لینوکس برای راه‌اندازی آرایه‌های شناسایی‌شده خودکار. این گزینه تنها زمانی کار می‌کند که .I md درون هسته کامپایل شده باشد، نه به عنوان یک ماژول بارگذاری‌شونده. آرایه‌ها زمانی توسط هسته به صورت خودکار شناسایی می‌شوند که تمام بخش‌های آن‌ها در پارتیشن‌های اولیه MS-DOS با نوع پارتیشن .B FD قرار داشته و همگی از متادیتای نگارش 0.90 استفاده کنند. استفاده از شناسایی خودکار درون هسته برای نصب‌های جدید توصیه نمی‌شود. استفاده از .I mdadm برای شناسایی و سرهم‌بندی آرایه‌ها (احتمالاً در یک .IR initrd ) بسیار انعطاف‌پذیرتر است و ترجیح داده می‌شود. .PP اگر پیش از هر گزینه‌ای یک دستگاه مشخص شود، یا اگر نخستین گزینه یکی از موارد .BR \-\-add , .BR \-\-re\-add , .BR \-\-add\-spare , .BR \-\-fail , .BR \-\-remove , یا .B \-\-replace باشد، حالت .B مدیریت (MANAGE) در نظر گرفته می‌شود. هر مورد دیگری باعث در نظر گرفتن حالت .B متفرقه (Misc) خواهد شد. .SH "گزینه‌های عمومی و غیروابسته به حالت (Options that are not mode-specific are:)" .TP .BR \-h ", " \-\-help نمایش پیام راهنمای عمومی، یا پس از انتخاب یکی از گزینه‌های بالا، نمایش راهنمای مربوط به آن حالت خاص. .TP .B \-\-help\-options نمایش راهنمای دقیق‌تر درباره تجزیه خط فرمان و برخی گزینه‌های پرکاربرد. .TP .BR \-V ", " \-\-version چاپ اطلاعات نگارش mdadm. .TP .BR \-v ", " \-\-verbose ارائه توضیحات و گزارش‌های با جزئیات بیشتر در مورد رویدادها. این گزینه را می‌توان دو بار برای جزئیات حداکثری به کار برد. این پرگویی اضافی در حال حاضر تنها بر .B \-\-detail \-\-scan و .B \-\-examine \-\-scan تاثیر می‌گذارد. .TP .BR \-q ", " \-\-quiet جلوگیری از چاپ پیام‌های صرفاً اطلاع‌رسانی. با این گزینه، .I mdadm ساکت خواهد بود مگر اینکه موضوع واقعاً مهمی برای گزارش وجود داشته باشد. .TP .BR \-f ", " \-\-force اعمال اجبار بیشتر بر روی برخی عملیات‌ها. برای معنای دقیق این گزینه در زمینه‌های مختلف، بخش‌های مربوط به هر حالت را ببینید. .TP .BR \-c ", " \-\-config= مشخص کردن فایل یا دایرکتوری پیکربندی. در صورت عدم تعیین، از فایل پیکربندی پیش‌فرض و دایرکتوری پیش‌فرض conf.d استفاده خواهد شد. برای جزئیات بیشتر به .BR mdadm.conf (5) مراجعه کنید. اگر فایل پیکربندی به عنوان .B "partitions" مشخص شود، هیچ فایلی خوانده نمی‌شود، اما .I mdadm طوری رفتار می‌کند که گویی فایل پیکربندی دقیقاً حاوی خط زیر است: .br .B " DEVICE partitions containers" .br و فایل .B /proc/partitions را برای یافتن فهرست دستگاه‌ها جهت پویش، و .B /proc/mdstat را برای یافتن فهرست ظروف (Containers) بررسی می‌کند. اگر کلمه .B "none" داده شود، .I mdadm طوری رفتار می‌کند که گویی فایل پیکربندی خالی است. اگر نام داده‌شده یک دایرکتوری باشد، .I mdadm تمامی فایل‌های موجود در آن دایرکتوری که نام آن‌ها با .B .conf خاتمه می‌یابد را جمع‌آوری کرده، بر اساس حروف الفبا مرتب می‌کند و همه را به عنوان فایل‌های پیکربندی پردازش می‌نماید. .TP .BR \-s ", " \-\-scan پویش فایل پیکربندی یا .B /proc/mdstat برای یافتن اطلاعات مفقود. به طور کلی، این گزینه به .I mdadm اجازه می‌دهد تا هرگونه اطلاعات مفقود (مانند دستگاه‌های عضو، دستگاه‌های آرایه، هویت آرایه و مقصد هشدارها) را از فایل پیکربندی استخراج کند؛ یک استثنا در حالت MISC هنگام استفاده از .B \-\-detail یا .B \-\-stop است که در آن حالت .B \-\-scan فهرست دستگاه‌های آرایه را از .B /proc/mdstat دریافت می‌کند. .TP .BR \-e ", " \-\-metadata= تعیین سبک متادیتای RAID (ابربلوک) مورد استفاده. مقدار پیش‌فرض برای .B \-\-create برابر 1.2 است، و برای سایر عملیات‌ها به صورت حدس‌زدن انجام می‌شود. این پیش‌فرض را می‌توان با تنظیم مقدار .B metadata برای کلیدواژه .B CREATE در .B mdadm.conf تغییر داد. گزینه‌ها عبارتند از: .RS .IP "0, 0.90" استفاده از قالب اصلی ابربلوک 0.90. این قالب آرایه‌ها را به ۲۸ دستگاه عضو محدود می‌کند و دستگاه‌های عضو در سطوح ۱ و بالاتر را به ۲ ترابایت محدود می‌سازد. همچنین ممکن است این ابهام پیش بیاید که آیا ابربلوک به کل دیسک اعمال می‌شود یا تنها به آخرین پارتیشن، به ویژه اگر آن پارتیشن روی مرز 64K شروع شود. .IP "1, 1.0, 1.1, 1.2 پیش‌فرض" استفاده از قالب جدید ابربلوک نسخه ۱. این نسخه محدودیت‌های کمتری دارد، به راحتی میان سیستم‌هایی با ترتیب بایت متفاوت (Endianness) جابجا می‌شود، و عملیات بازیابی را می‌توان نشانه‌گذاری (Checkpoint) کرده و از سر گرفت. زیرنسخه‌های مختلف، ابربلوک را در مکان‌های متفاوتی از دستگاه ذخیره می‌کنند: در انتهای دیسک (برای 1.0)، در ابتدای دیسک (برای 1.1) یا ۴ کیلوبایت پس از شروع دیسک (برای 1.2). مقدار "1" معادل "1.2" (قالب رایج و ترجیح داده‌شده 1.x) است و مقدار "default" نیز معادل "1.2" می‌باشد. .IP ddf استفاده از استاندارد صنعتی DDF (Disk Data Format) تعریف‌شده توسط SNIA. قالب DDF منسوخ شده و توسعه فعالی روی آن انجام نمی‌شود. هنگام ایجاد یک آرایه DDF، یک .B CONTAINER ایجاد می‌شود و آرایه‌های معمولی را می‌توان درون آن ظرف ایجاد کرد. .IP imsm استفاده از قالب متادیتای Intel(R) Matrix Storage Manager. این گزینه یک .B CONTAINER ایجاد می‌کند که به شیوه‌ای مشابه DDF مدیریت می‌شود و توسط Option-ROM در برخی پلتفرم‌ها پشتیبانی می‌گردد: .IP .B https://www.intel.com/content/www/us/en/support/products/122484 .RE .TP .B \-\-homehost= این گزینه تنظیمات .B HOMEHOST در فایل پیکربندی را نادیده می‌گیرد و هویت میزبانی را مشخص می‌کند که باید به عنوان میزبان اصلی آرایه‌ها در نظر گرفته شود. هنگام ایجاد یک آرایه، .B homehost در متادیتا ثبت می‌شود. برای ابربلوک‌های نگارش ۱، این نام به عنوان پیشوند نام آرایه درج می‌شود. برای ابربلوک‌های نگارش 0.90، بخشی از هش SHA1 نام میزبان در نیمه دوم UUID ذخیره می‌گردد. هنگام گزارش اطلاعات یک آرایه، هر آرایه‌ای که با این homehost برچسب خورده باشد به همین صورت گزارش می‌شود. در هنگام سرهم‌بندی خودکار (Auto-Assemble)، تنها آرایه‌هایی که برای این میزبان برچسب خورده‌اند اجازه استفاده از نام‌های محلی (یعنی نام‌هایی که به '_' و یک رشته عددی ختم نمی‌شوند) را خواهند داشت. بخش .B "سرهم‌بندی خودکار" در زیر را ببینید. نام ویژه "\fBany\fP" می‌تواند به عنوان یک نویسه عمومی (Wildcard) استفاده شود. اگر آرایه‌ای با .B --homehost=any ایجاد شود، نام "\fBany\fP" در آن ذخیره شده و می‌تواند بر روی هر میزبانی به همان شکل سرهم‌بندی شود. اگر آرایه‌ای با این گزینه سرهم‌بندی شود، homehost ثبت‌شده روی آرایه نادیده گرفته خواهد شد. .TP .B \-\-prefer= هنگامی که .I mdadm نیاز به چاپ نام یک دستگاه دارد، معمولاً کوتاه‌ترین نام ارجاع‌دهنده به آن دستگاه در .B /dev را انتخاب می‌کند. هنگامی که یک مؤلفه مسیر با .B \-\-prefer مشخص شود، .I mdadm نام طولانی‌تری را ترجیح می‌دهد اگر شامل آن مؤلفه باشد. برای نمونه .B \-\-prefer=by-uuid نامی را در زیرپوشه .B by-uuid در .B /dev ترجیح خواهد داد. این قابلیت در حال حاضر تنها توسط .B \-\-detail و .B \-\-monitor ارائه می‌شود. .TP .B \-\-home\-cluster= نام کلاستر را برای دستگاه md مشخص می‌کند. دستگاه md تنها بر روی کلاستری که با نام مشخص‌شده مطابقت دارد قابل سرهم‌بندی است. اگر این گزینه ارائه نشود، mdadm تلاش می‌کند تا نام کلاستر را به صورت خودکار شناسایی کند. .SH "برای حالت‌های ایجاد، ساخت یا گسترش (For create, build, or grow:)" .TP .BR \-n ", " \-\-raid\-devices= تعیین تعداد دستگاه‌های فعال در آرایه. این تعداد به اضافه تعداد دستگاه‌های یدکی (Spare) باید برابر با مجموع .I دستگاه‌های_عضو (شامل دستگاه‌های "\fBmissing\fP") باشد که در خط فرمان برای .B \-\-create ذکر شده‌اند. تنظیم مقدار ۱ احتمالاً یک اشتباه است و بنابراین نیازمند آن است که ابتدا .B \-\-force مشخص شود؛ در این صورت مقدار ۱ برای حالت‌های linear، multipath، RAID0 و RAID1 مجاز خواهد بود، اما هرگز برای RAID4، RAID5 یا RAID6 مجاز نیست. .br این تعداد را تنها می‌توان با استفاده از .B \-\-grow برای آرایه‌های RAID1، RAID4، RAID5 و RAID6 تغییر داد. .TP .BR \-x ", " \-\-spare\-devices= تعیین تعداد دستگاه‌های یدکی (eXtra) در آرایه اولیه. دیسک‌های یدکی را می‌توان بعداً نیز اضافه یا حذف کرد. تعداد دستگاه‌های عضو فهرست‌شده در خط فرمان باید برابر با مجموع دیسک‌های RAID به علاوه دیسک‌های یدکی باشد. .TP .BR \-z ", " \-\-size= میزان فضای مورد استفاده (به کیلوبایت) از هر درایو در سطوح رِید 1/4/5/6/10 و برای RAID 0 روی متادیتای خارجی. این مقدار باید مضربی از اندازه تکه (Chunk size) باشد و حدود ۱۲۸ کیلوبایت فضا در انتهای درایو برای ابربلوک RAID باقی بگذارد. هنگامی که مقدار به صورت \(acmax\(ac مشخص شود (که بسیار رایج است)، کوچک‌ترین درایو (یا پارتیشن) تعیین‌کننده اندازه خواهد بود. در این حالت، اگر اندازه درایوها به عنوان یک گروه بیش از یک درصد با یکدیگر تفاوت داشته باشد، یک پیام هشدار نمایش داده خواهد شد. پسوندهای 'K'، 'M'، 'G' یا 'T' می‌توانند به ترتیب برای نشان دادن کیلوبایت، مگابایت، گیگابایت یا ترابایت استفاده شوند. گاهی ممکن است درایو جایگزین اندکی کوچکتر از درایوهای اصلی باشد، هرچند استانداردهای IDEMA این اختلاف را به حداقل رسانده‌اند. چنین درایو جایگزینی توسط .I md رد خواهد شد. برای پیشگیری از این مشکل، مفید است که اندازه اولیه اندکی کوچکتر از کوچکتری دستگاه تنظیم شود تا همچنان بزرگتر از هر جایگزین احتمالی باشد. این گزینه با .B \-\-create برای تعیین اندازه اولیه آرایه به کار می‌رود. برای متادیتای خارجی، می‌تواند روی یک حجم (Volume) استفاده شود، اما روی خود کانتینر قابل استفاده نیست. تنظیم اندازه اولیه برای آرایه .B RAID 0 تنها در متادیتای خارجی معتبر است. این مقدار را می‌توان با .B \-\-grow برای سطوح رِید 1/4/5/6/10 تغییر داد، هرچند ممکن است آرایه‌های DDF قادر به پشتیبانی از آن نباشند. اندازه آرایه RAID 0 قابل تغییر نیست. اگر آرایه با اندازه‌ای کوچکتر از درایوهای فعال کنونی ایجاد شده باشد، فضای اضافی را می‌توان با استفاده از .B \-\-grow در دسترس قرار داد. اندازه را می‌توان به عنوان .B max تعیین کرد که به معنای انتخاب بزرگترین اندازه‌ای است که روی تمام درایوهای فعلی جا می‌شود. پیش از کاهش اندازه آرایه (با .BR "\-\-grow \-\-size=" ) باید مطمئن شوید که فضا مورد نیاز نیست. اگر دستگاه حاوی فایل‌سیستم است، باید فایل‌سیستم را تغییر اندازه دهید تا فضای کمتری اشغال کند. پس از کاهش اندازه آرایه، باید بررسی کنید که آیا داده‌های ذخیره‌شده هنوز در دسترس هستند یا خیر. اگر دستگاه حاوی فایل‌سیستم است، اجرای یک 'fsck' روی آن حداقل نیاز ضروری است. در صورت بروز مشکل، می‌توان با دستور دیگری از .B "\-\-grow \-\-size=" آرایه را بدون اتلاف داده مجدداً بزرگ کرد. .TP .BR \-Z ", " \-\-array\-size= این گزینه تنها با .B \-\-grow معنی‌دار است و اثر آن ماندگار نیست: هنگامی که آرایه متوقف و دوباره راه‌اندازی شود، اندازه پیش‌فرض آرایه بازیابی خواهد شد. تنظیم اندازه آرایه باعث می‌شود که آرایه برای برنامه‌هایی که به داده‌ها دسترسی دارند کوچکتر به نظر برسد. این امر به ویژه پیش از تغییر شکل ساختاری (Reshape) آرایه برای کوچکتر شدن آن مورد نیاز است. از آنجا که تغییر ساختار غیرقابل بازگشت است، اما تنظیم اندازه با .B \-\-array-size برگشت‌پذیر است، لازم است که اندازه آرایه پیش از کاهش تعداد دستگاه‌ها کاهش داده شود. قبل از کاهش اندازه آرایه مطمئن شوید که فضا مورد نیاز نیست. اگر دستگاه حاوی فایل‌سیستم است، باید فایل‌سیستم را کوچک کنید. پس از کاهش اندازه آرایه بررسی کنید که داده‌ها سالم باشند (اجرای fsck). مقدار .B max اندازه ظاهری آرایه را به مقدار فضای واقعی موجود بازمی‌گرداند. آرایه‌های خوشه‌ای (Clustered) هنوز از این پارامتر پشتیبانی نمی‌کنند. .TP .BR \-c ", " \-\-chunk= تعیین اندازه تکه (Chunk size) به کیلوبایت. مقدار پیش‌فرض هنگام ایجاد آرایه ۵۱۲ کیلوبایت است. برای سازگاری با نگارش‌های قدیمی‌تر، پیش‌فرض هنگام ساخت آرایه بدون متادیتای ماندگار ۶۴ کیلوبایت است. این گزینه تنها برای RAID0، RAID4، RAID5، RAID6 و RAID10 معنی‌دار است. در سطوح RAID4، RAID5، RAID6 و RAID10، اندازه تکه باید توانی از ۲ و حداقل ۴ کیلوبایت باشد. پسوندهای 'K'، 'M'، 'G' یا 'T' برای واحدهای کیلوبایت تا ترابایت قابل استفاده‌اند. .TP .BR \-\-rounding= تعیین ضریب گرد کردن برای یک آرایه Linear. اندازه هر جزء به مضربی از این مقدار به سمت پایین گرد می‌شود. این یک مترادف برای .B \-\-chunk است اما معنای متفاوت آن را در Linear در مقایسه با سایر سطوح برجسته می‌کند. مقدار پیش‌فرض 0K است (بدون گرد کردن). .TP .BR \-l ", " \-\-level= تنظیم سطح RAID. هنگام استفاده با .BR \-\-create , گزینه‌ها عبارتند از: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty, container. برخی از این‌ها مترادف یکدیگرند. هنگامی که قالب متادیتای .B CONTAINER درخواست می‌شود، تنها سطح .B container مجاز است و نیازی به ذکر صریح آن نیست. هنگام استفاده با .BR \-\-build , تنها مقادیر linear, stripe, raid0, 0, raid1, multipath, mp و faulty معتبر هستند. می‌توان با .B \-\-grow برای تغییر سطح RAID در برخی حالات استفاده کرد. بخش تغییرات سطح (LEVEL CHANGES) در ادامه را ببینید. .TP .BR \-p ", " \-\-layout= این گزینه جزئیات دقیق چیدمان داده‌ها را برای آرایه‌های RAID5، RAID6 و RAID10 پیکربندی می‌کند و حالت‌های خرابی را برای سطح .I faulty کنترل می‌نماید. همچنین می‌تواند برای دور زدن یک باگ هسته در RAID0 به کار رود، هرچند عموماً نیازی به تنظیم صریح ندارد. چیدمان بلوک توازن (Parity) در RAID5 می‌تواند یکی از موارد زیر باشد: .BR left\-asymmetric , .BR left\-symmetric , .BR right\-asymmetric , .BR right\-symmetric , .BR la ", " ra ", " ls ", " rs . پیش‌فرض برابر با .B left\-symmetric است. همچنین می‌توان با انتخاب .B parity\-first یا .B parity\-last کاری کرد که RAID5 از چیدمانی شبیه به RAID4 استفاده کند. در نهایت برای RAID5 چیدمان‌های سازگار با DDF شامل .BR ddf\-zero\-restart , .BR ddf\-N\-restart و .B ddf\-N\-continue وجود دارند. همین چیدمان‌ها برای RAID6 نیز در دسترس هستند. علاوه بر این، ۴ چیدمان وجود دارند که مرحله‌ای میانی برای تبدیل میان RAID5 و RAID6 فراهم می‌کنند؛ این چیدمان‌ها روی N-1 دستگاه اول مشابه چیدمان RAID5 متناظر هستند و سندروم 'Q' (دومین بلوک توازن RAID6) را روی آخرین دستگاه قرار می‌دهند: .BR left\-symmetric\-6 , .BR right\-symmetric\-6 , .BR left\-asymmetric\-6 , .BR right\-asymmetric\-6 و .BR parity\-first\-6 . هنگام تنظیم حالت خرابی برای سطح .IR faulty , گزینه‌ها عبارتند از: .BR write\-transient ", " wt , .BR read\-transient ", " rt , .BR write\-persistent ", " wp , .BR read\-persistent ", " rp , .BR write\-all , .BR read\-fixable ", " rf , .BR clear ", " flush ", " none . هر حالت خرابی می‌تواند با یک عدد همراه باشد که به عنوان دوره تکرار تولید خطا به کار می‌رود. بدون عدد، خطا یک‌بار در اولین درخواست مربوطه تولید می‌شود. با درج عدد، خطا پس از آن تعداد درخواست ایجاد شده و پس از انقضای هر دوره ادامه می‌یابد. با استفاده از گزینه .B \-\-grow می‌توان چندین حالت خرابی را به طور همزمان فعال داشت. عبارت "clear" یا "none" هرگونه حالت خطای معلق یا دوره‌ای را پاک می‌کند و "flush" خطاهای ماندگار را برطرف می‌سازد. گزینه‌های چیدمان برای RAID10 یکی از حروف 'n'، 'o' یا 'f' به همراه یک عدد کوچک نشان‌دهنده تعداد نسخه‌های هر بلوک داده است. پیش‌فرض 'n2' است. گزینه‌های پشتیبانی‌شده: .TP .BR 'n' نشان‌دهنده نسخه‌های نزدیک (Near): چند نسخه از یک بلوک داده در آفست‌های مشابه در دیسک‌های مختلف قرار دارند. .TP .BR 'o' نشان‌دهنده نسخه‌های جابجاشده (Offset): به جای تکرار تکه‌ها درون یک نوار، کل نوارها کپی می‌شوند اما با چرخش یک دستگاهی، به طوری که بلوک‌های تکراری روی دستگاه‌های متفاوتی قرار می‌گیرند. .TP .BR 'f' نشان‌دهنده نسخه‌های دور (Far): نسخه‌های متعدد آفست‌های بسیار متفاوتی دارند. برای جزئیات به md(4) مراجعه کنید. تعداد معمول نسخه‌ها ۲ و گاهی ۳ است. این مقدار حداکثر می‌تواند برابر تعداد دستگاه‌ها باشد. یک باگ معرفی‌شده در لینوکس 3.14 باعث شد آرایه‌های RAID0 .B "با دستگاه‌هایی با اندازه‌های متفاوت" از چیدمان متفاوتی استفاده کنند که می‌توانست به خرابی داده‌ها منجر شود. از لینوکس 5.4 به بعد هسته چنین آرایه‌ای را نمی‌پذیرد مگر اینکه چیدمان صریحاً روی .RB ' original ' یا .RB ' alternate ' تنظیم شده باشد. هنگام ایجاد یک آرایه جدید، .I mdadm به صورت پیش‌فرض .RB ' original ' را انتخاب می‌کند. برای ایجاد آرایه روی هسته‌های قدیمی‌تر می‌توان آن را روی .RB ' dangerous ' تنظیم کرد. هنگام تبدیل آرایه میان RAID5 و RAID6 از یک چیدمان میانی استفاده می‌شود که بلوک توازن دوم (Q) همیشه روی آخرین دیسک است. برای تبدیل و باقی ماندن در این چیدمان از .B \-\-layout=preserve استفاده کنید تا از بازسازی نوارها جلوگیری شود. برعکس آن، .B \-\-layout=normalise چیدمان غیر استاندارد را به حالت عادی تغییر می‌دهد. .TP .BR \-\-parity= مشابه با .B \-\-layout (دلیل وجود حرف p در .BR \-p ). .TP .BR \-b ", " \-\-bitmap= تعیین نحوه ذخیره‌سازی بیت‌مپ قصد نوشتن (Write-intent bitmap). مقادیر زیر پشتیبانی می‌شوند: .B internal - بیت‌مپ به همراه متادیتا روی آرایه ذخیره شده و روی تمام دستگاه‌ها تکرار می‌شود. .B clustered - آرایه برای محیط خوشه‌ای ایجاد می‌شود. برای هر گره مشخص‌شده با پارامتر .B \-\-nodes یک بیت‌مپ به صورت داخلی ایجاد و ذخیره می‌گردد. .B none - ایجاد آرایه بدون بیت‌مپ یا حذف بیت‌مپ موجود (در حالت grow). .TP .BR \-\-bitmap\-chunk= تنظیم اندازه تکه بیت‌مپ. هر بیت متناظر با آن مقدار کیلوبایت از فضای ذخیره‌سازی خواهد بود. برای بیت‌مپ داخلی (internal)، اندازه تکه پیش‌فرض 64Meg است، یا بزرگتر اگر برای جا شدن بیت‌مپ در فضای موجود لازم باشد. .TP .BR \-W ", " \-\-write\-mostly دستگاه‌های بعدی که در خط فرمان ذکر می‌شوند با ویژگی 'write-mostly' علامت‌گذاری خواهند شد. این گزینه تنها برای RAID1 معتبر است و باعث می‌شود درایور 'md' تا حد امکان از خواندن از این دستگاه‌ها خودداری کند مگر در مواقع ضروری. این گزینه برای پیوندهای شبکه‌ای با سرعت پایین بسیار مفید است. .TP .BR \-\-write\-behind= فعال‌سازی نوشتن پس‌زمینه (Write-behind) برای دستگاه‌های علامت‌گذاری‌شده با .BR write\-mostly . این ویژگی اجازه می‌دهد درخواست‌های نوشتن به دستگاه‌های کندتر به صورت ناهمگام انجام شوند. حداکثر تعداد درخواست‌های نوشتن معلق را می‌توان تعیین کرد (پیش‌فرض ۲۵۶). .TP .BR \-\-failfast دستگاه‌های بعدی را با علامت 'failfast' مشخص می‌کند. این گزینه تنها برای RAID1 و RAID10 معتبر است و باعث می‌شود در صورت بروز خطای خواندن یا نوشتن، درایور به جای تلاش‌های مکرر و طولانی، بلافاصله دستگاه را خطا اعلام کند تا از تاخیر جلوگیری شود. اگر آرایه تحلیل رود به طوری که دستگاه failfast تنها دستگاه قابل استفاده باشد، این فلگ نادیده گرفته می‌شود. .TP .BR \-\-assume\-clean به .I mdadm اعلام می‌کند که آرایه از پیش وجود داشته و کاملاً تمیز و همگام است. این گزینه برای بازیابی پس از خرابی‌های عمده بسیار مفید است. همچنین می‌توان هنگام ایجاد RAID1 یا RAID10 برای اجتناب از همگام‌سازی اولیه از آن استفاده کرد، اما این کار معمولاً توصیه نمی‌شود مگر اینکه دقیقاً بدانید چه می‌کنید. اگر دیسک‌ها پیش از ایجاد با صفر پر شده باشند (مثلاً پس از badblocks)، می‌توان از این گزینه استفاده کرد. هنگام افزایش اندازه آرایه با .BR "\-\-grow \-\-size=" , فضای جدید معمولاً بازهمگام‌سازی می‌شود؛ با این گزینه می‌توان از آن صرف‌نظر کرد. .TP .BR \-\-write-zeroes هنگام ایجاد آرایه، درخواست‌های نوشتن صفر به تمام دستگاه‌های بلوکی ارسال می‌شود. این کار ناحیه داده را صفر می‌کند تا همگام‌سازی اولیه لازم نباشد و در صورت موفقیت، مانند .B \-\-assume\-clean عمل خواهد کرد. این گزینه تنها با create-- معنی‌دار است. .TP .BR \-\-backup\-file= هنگامی نیاز است که از .B \-\-grow برای افزایش تعداد دستگاه‌ها در RAID5 یا RAID6 (در صورت عدم وجود دیسک یدکی) یا برای کوچک‌سازی، تغییر سطح یا چیدمان استفاده شود. این فایل باید روی دستگاهی مجزا ذخیره شود، نه روی خود آرایه‌ای که در حال تغییر ساختار است. .TP .B \-\-data\-offset= آرایه‌های دارای متادیتای 1.x می‌توانند فاصله‌ای میان آغاز دستگاه و آغاز داده‌های آرایه باقی بگذارند. این فاصله .I data\-offset نامیده می‌شود. معمولاً به طور خودکار محاسبه می‌شود، اما تنظیم صریح آن در مواقع بازسازی آرایه‌ای که با نگارش متفاوتی از mdadm ایجاد شده مفید است. این گزینه در .B \-\-grow نیز برای تغییر آفست داده حین تغییر ساختار کاربرد دارد. .TP .BR \-\-continue مکمل گزینه .B \-\-freeze-reshape در سرهم‌بندی است. برای ادامه عملیات تغییر ساختاری که متوقف شده استفاده می‌شود. همراه با .B \-G و دستگاه آرایه فراخوانی می‌شود و تمام پارامترها را از متادیتا می‌خواند. .TP .BR \-N ", " \-\-name= تنظیم نام برای آرایه. نام باید با .B "POSIX PORTABLE NAME" سازگار بوده و بیش از ۳۲ نویسه نباشد. .TP .BR \-R ", " \-\-run اجبار به راه‌اندازی آرایه حتی اگر به نظر برسد برخی از دستگاه‌ها در آرایه یا فایل‌سیستم دیگری فعال هستند (حذف پرسش‌های تاییدی). .TP .BR \-f ", " \-\-force اجبار به پذیرش پیکربندی هندسی و چیدمان مشخص‌شده بدون تردید. .TP .BR \-o ", " \-\-readonly راه‌اندازی آرایه در حالت .B فقط‌خواندنی به جای خواندن/نوشتن عادی. .TP .BR \-a ", " "\-\-add" این گزینه در حالت Grow در دو حالت به کار می‌رود: افزودن دستگاه به یک آرایه Linear، یا افزودن دستگاه‌های اضافی هنگام افزایش raid-disks در یک آرایه RAID0 که امکان دیسک یدکی ندارد. .TP .BR \-\-nodes تعیین حداکثر تعداد گره‌های کلاستر که به طور همزمان از این دستگاه استفاده خواهند کرد (پیش‌فرض ۴). .TP .BR \-\-write-journal تعیین دستگاه ژورنال برای آرایه RAID-4/5/6 (باید ترجیحاً یک SSD با طول عمر مناسب باشد). .TP .BR \-k ", " \-\-consistency\-policy= تعیین نحوه حفظ سازگاری آرایه در زمان خاموشی غیرمنتظره. گزینه‌های پشتیبانی‌شده: .RS .TP .B resync همگام‌سازی کامل پس از خاموشی نامناسب انجام می‌شود و تمام افزونگی بازتولید می‌گردد. .TP .B bitmap همگام‌سازی به کمک بیت‌مپ قصد نوشتن. با انتخاب .B \-\-bitmap به طور ضمنی فعال می‌شود. .TP .B journal برای سطوح RAID 4/5/6، از دستگاه ژورنال برای ثبت تراکنش‌ها و بازپخش آن‌ها استفاده می‌شود. با .B \-\-write\-journal به طور ضمنی فعال می‌شود. .TP .B ppl تنها برای RAID5، لاگ توازن جزئی (Partial Parity Log) برای بستن حفره نوشتن (Write Hole) و حذف بازهمگام‌سازی استفاده می‌شود. PPL در ناحیه متادیتای دیسک‌های عضو ذخیره می‌شود و نیازی به درایو ژورنال اضافی ندارد. .RE .SH "برای حالت سرهم‌بندی (For assemble:)" .TP .BR \-u ", " \-\-uuid= شناسه یکتای (UUID) آرایه برای سرهم‌بندی. دستگاه‌هایی که فاقد این شناسه باشند مستثنی می‌شوند. .TP .BR \-m ", " \-\-super\-minor= شماره فرعی (Minor number) دستگاهی که آرایه برای آن ایجاد شده بود. اگر آرایه‌ای به عنوان /dev/md1 ایجاد شده باشد، تمام ابربلوک‌ها حاوی شماره ۱ خواهند بود حتی اگر بعداً به عنوان /dev/md2 سرهم‌بندی شود. مقدار "dev" از شماره فرعی دستگاه در حال سرهم‌بندی استفاده می‌کند. این گزینه تنها برای متادیتای v0.90 مطرح است و استفاده از .B \-\-uuid بسیار امن‌تر است. .TP .BR \-N ", " \-\-name= مشخص کردن نام آرایه برای سرهم‌بندی. باید با .B "POSIX PORTABLE NAME" سازگار بوده و حداکثر ۳۲ نویسه باشد. .TP .BR \-f ", " \-\-force سرهم‌بندی آرایه حتی اگر متادیتای برخی دستگاه‌ها قدیمی به نظر برسد. اگر mdadm نتواند دستگاه‌های فعال کافی برای راه‌اندازی پیدا کند، دستگاه‌هایی که به عنوان خراب ثبت شده‌اند را به عنوان سالم علامت‌گذاری می‌کند تا آرایه راه‌اندازی شود. این گزینه باید با احتیاط استفاده شود چون ممکن است منجر به خرابی داده شود. .TP .BR \-R ", " \-\-run تلاش برای راه‌اندازی آرایه حتی اگر تعداد درایوهای کمتری نسبت به آخرین زمان فعال بودن یافت شده باشد. .TP .B \-\-no\-degraded نقطه مقابل .B \-\-run است؛ از راه‌اندازی آرایه جلوگیری می‌کند مگر اینکه تمام درایوهای مورد انتظار حاضر باشند. .TP .BR \-\-backup\-file= اگر هنگام تغییر ساختار یک آرایه از این فایل استفاده شده باشد و سیستم در طول بخش بحرانی از کار افتاده باشد، همان فایل باید به .B \-\-assemble داده شود تا داده‌های آسیب‌دیده بازیابی شوند و تغییر ساختار تکمیل گردد. .TP .BR \-\-invalid\-backup اگر فایل پشتیبان بالا در دسترس نباشد، می‌توان با دادن یک فایل خالی به همراه این گزینه اعلام کرد که فایل نامعتبر است تا بقیه آرایه تا جای ممکن بازیابی شود. .TP .BR \-U ", " \-\-update= به‌روزرسانی ابربلوک روی هر دستگاه در حین سرهم‌بندی آرایه. آرگومان می‌تواند یکی از موارد زیر باشد: .BR summaries , .BR uuid , .BR name , .BR nodes , .BR homehost , .BR home-cluster , .BR resync , .BR byteorder , .BR devicesize , .BR no\-bitmap , .BR bbl , .BR no\-bbl , .BR ppl , .BR no\-ppl , .BR layout\-original , .BR layout\-alternate , .BR layout\-unspecified , .BR metadata , یا .BR super\-minor . گزینه .B super\-minor فیلد minor ترجیحی را در هر ابربلوک مطابق با شماره فرعی آرایه در حال سرهم‌بندی به‌روزرسانی می‌کند. گزینه .B uuid شناسه UUID آرایه را تغییر می‌دهد. گزینه .B name نام آرایه ذخیره‌شده در ابربلوک را تغییر می‌دهد (تنها برای نگارش ۱). گزینه .B nodes تعداد گره‌های آرایه را در ابربلوک بیت‌مپ تغییر می‌دهد (محیط خوشه‌ای). گزینه .B homehost نام homehost ثبت‌شده در ابربلوک را به‌روز می‌کند. گزینه .B home\-cluster نام کلاستر ثبت‌شده را به‌روزرسانی می‌کند. گزینه .B resync باعث می‌شود آرایه به عنوان کثیف (dirty) علامت‌گذاری شود و یک دور همگام‌سازی کامل انجام شود تا تمام اطلاعات افزونگی بررسی و تصحیح شوند. گزینه .B byteorder امکان جابجایی آرایه‌های با متادیتای 0.90 را میان معماری‌هایی با ترتیب بایت متفاوت (مانند big-endian به little-endian) فراهم می‌کند. گزینه .B summaries خلاصه‌ها و شمارنده‌های کل، سالم، فعال، خراب و یدکی را در ابربلوک اصلاح می‌کند. گزینه .B devicesize برای متادیتای 1.1 و 1.2 هنگامی که اندازه فیزیکی دستگاه عضو بزرگتر شده است کاربرد دارد تا حداکثر فضای قابل استفاده را شناسایی کرده و فیلد متناظر در متادیتا را به‌روز کند. گزینه .B metadata آرایه‌های متادیتای v0.90 را به v1.0 تبدیل می‌کند (آرایه نباید کثیف باشد یا بیت‌مپ داشته باشد). گزینه .B no\-bitmap در صورتی که بیت‌مپ داخلی خراب شده و مانع سرهم‌بندی آرایه شود، آن را نادیده می‌گیرد. گزینه‌های .B bbl و .B no\-bbl برای تخصیص یا حذف فضای لیست بلوک‌های خراب (Bad block list) به کار می‌روند. گزینه‌های .B ppl و .B no\-ppl برای فعال یا غیرفعال کردن Partial Parity Log در ابربلوک RAID5 استفاده می‌شوند. گزینه‌های .BR layout\-original , .B layout\-alternate و .B layout\-unspecified برای تنظیم یا بازگرداندن چیدمان آرایه‌های RAID0 با دیسک‌های ناهم‌اندازه استفاده می‌شوند (سازگاری با هسته‌های قبل و بعد از لینوکس 5.4). .TP .BR \-\-freeze\-reshape این گزینه در اسکریپت‌های راه‌اندازی فاز initrd استفاده می‌شود تا تغییر ساختار را پس از بازیابی بخش بحرانی متوقف کند و از تداخل با تغییر نقطه اتصال ریشه سیستم‌عامل (pivot) جلوگیری به عمل آورد. .SH "برای حالت مدیریت (For Manage mode:)" .TP .BR \-t ", " \-\-test خروج با وضعیت ۲ در صورتی که هیچ تغییری در آرایه ایجاد نشود و ۰ در صورت اعمال حداقل یک تغییر. هنگام استفاده از تعیین‌کننده‌هایی مانند missing، detached یا faulty مفید است. .TP .BR \-a ", " \-\-add اتصال گرم (hot-add) دستگاه‌های فهرست‌شده. اگر دستگاه قبلاً عضو آرایه بوده باشد، دوباره اضافه (re-add) می‌شود؛ در غیر این صورت به عنوان دیسک یدکی (hot-spare) اضافه خواهد شد. .TP .BR \-\-re\-add افزودن مجدد دستگاهی که قبلاً از آرایه حذف شده است. در صورت وجود بیت‌مپ، تنها بلوک‌های تغییریافته بازسازی می‌شوند و نیازی به بازسازی کامل نیست. اگر نام دستگاه .B missing داده شود، تلاش می‌شود تمامی دستگاه‌های مفقود اضافه شوند. اگر .B faulty داده شود، دستگاه‌های معیوب حذف و بلافاصله تلاش می‌شود دوباره اضافه شوند. .TP .B \-\-add\-spare افزودن مستقیم دستگاه به عنوان دیسک یدکی بدون بررسی برای re-add. .TP .BR \-r ", " \-\-remove حذف دستگاه‌های مشخص‌شده (باید غیرفعال، خراب یا یدکی باشند). کلمات .BR failed , .B detached و نام‌های مجموعه‌ای مانند .B set-A نیز پذیرفته می‌شوند. .TP .BR \-f ", " \-\-fail علامت‌گذاری دستگاه‌های فهرست‌شده به عنوان معیوب (Faulty). .TP .BR \-\-set\-faulty مشابه با .BR \-\-fail . .TP .B \-\-replace علامت‌گذاری دستگاه برای جایگزینی. به محض در دسترس بودن دیسک یدکی، بازسازی روی آن آغاز می‌شود در حالی که درایو اصلی همچنان در خدمت باقی می‌ماند تا پایداری در برابر خطاهای همزمان افزایش یابد. .TP .B \-\-with دستگاه‌های پس از این گزینه ترجیحاً برای جایگزینی دستگاه‌های مشخص‌شده با .B \-\-replace استفاده خواهند شد. .TP .BR \-\-write\-mostly تنظیم ویژگی 'write-mostly' برای دستگاه‌های بعدی که اضافه یا اضافه مجدد می‌شوند (فقط RAID1). .TP .BR \-\-readwrite پاک کردن ویژگی 'write-mostly' برای دستگاه‌های بعدی. .TP .BR \-\-cluster\-confirm تایید وجود دستگاه در محیط‌های خوشه‌ای در پاسخ به درخواست add-- از سوی یک گره دیگر. .TP .BR \-\-add-journal افزودن یک دستگاه ژورنال به یک آرایه موجود، یا بازسازی ژورنال برای یک آرایه RAID-4/5/6 که دستگاه ژورنال خود را از دست داده است. برای جلوگیری از وقفه در عملیات نوشتن، این گزینه تنها در حالت فقط‌خواندنی کار می‌کند. .TP .BR \-\-failfast تنظیم فلگ 'failfast' برای دستگاه‌های بعدی (تنها برای RAID1 و RAID10). .TP .BR \-\-nofailfast افزودن مجدد دستگاه‌ها بدون فلگ 'failfast'. .SH "برای حالت متفرقه (For Misc mode:)" .TP .BR \-Q ", " \-\-query بررسی یک دستگاه برای تشخیص اینکه: (۱) آیا یک دستگاه md است، و (۲) آیا عضوی از یک آرایه md می‌باشد یا خیر. اطلاعات کشف‌شده ارائه می‌شوند. .TP .BR \-D ", " \-\-detail چاپ جزئیات کامل یک یا چند دستگاه md فعال. .TP .BR \-\-detail\-platform چاپ جزئیات قابلیت‌های RAID پلتفرم (میان‌افزار / هم‌بندی سخت‌افزاری) برای یک قالب متادیتای مشخص. در صورت عدم تعیین آرگومان، تمامی کنترلرها بررسی می‌شوند. .TP .BR \-Y ", " \-\-export هنگام استفاده با .BR \-\-detail , .BR \-\-detail-platform , .BR \-\-examine یا .BR \-\-incremental , خروجی به صورت جفت‌های .B key=value قالب‌بندی می‌شود تا وارد کردن آن به متغیرهای محیطی یا اسکریپت‌ها آسان باشد. .TP .BR \-E ", " \-\-examine چاپ محتوای متادیتای ذخیره‌شده روی دستگاه‌های نام‌برده. تفاوت میان .B \-\-examine و .B \-\-detail در این است که examine روی دستگاه‌های عضو آرایه اجرا می‌شود در حالی که detail روی کل یک آرایه فعال اعمال می‌گردد. .TP .BR \-X ", " \-\-examine\-bitmap گزارش اطلاعات مربوط به یک بیت‌مپ. آرگومان باید یک دستگاه عضو آرایه باشد (نه نام خود دستگاه آرایه مانند /dev/md0). .TP .B \-\-examine\-badblocks فهرست کردن بلوک‌های خراب ثبت‌شده برای دستگاه (در صورتی که لیست بلوک‌های خراب پیکربندی شده باشد؛ متادیتای 1.x و IMSM). .TP .BI \-\-dump= directory .TP .BI \-\-restore= directory ذخیره متادیتا از دستگاه‌های فهرست‌شده در یک دایرکتوری، یا بازیابی متادیتا از فایل‌های دایرکتوری به دستگاه‌ها. .TP .BR \-R ", " \-\-run راه‌اندازی یک آرایه ناقص سرهم‌بندی‌شده. اگر .B \-\-assemble دستگاه کافی برای راه‌اندازی کامل پیدا نکند، می‌توان با .B \-\-run آن را در حالت تخریب‌شده (Degraded) بالا آورد. .TP .BR \-S ", " \-\-stop غیرفعال کردن آرایه و آزادسازی تمام منابع اختصاص‌یافته به آن. .TP .BR \-o ", " \-\-readonly علامت‌گذاری آرایه به عنوان فقط‌خواندنی. .TP .BR \-w ", " \-\-readwrite تغییر وضعیت یک آرایه فقط‌خواندنی به حالت خواندن/نوشتن. .TP .B \-\-zero\-superblock اگر دستگاه حاوی یک ابربلوک معتبر md باشد، آن بلوک با صفر بازنویسی و پاک می‌شود. همراه با .B \-\-force حتی در صورت نامعتبر به نظر رسیدن ابربلوک نیز رونویسی انجام می‌شود. .B توجه: هنگام فراخوانی این گزینه روی آرایه‌های خوشه‌ای دقت کنید که آرایه در گره دیگری استفاده نشده باشد. .TP .B \-\-kill\-subarray= اگر دستگاه یک کانتینر باشد، زیرآرایه (subarray) غیرفعال مشخص‌شده درون کانتینر را حذف می‌کند. .TP .B \-\-update\-subarray= به‌روزرسانی فیلد مشخص‌شده در ابربلوک یک زیرآرایه در کانتینر. .TP .BR \-t ", " \-\-test هنگام استفاده با .BR \-\-detail , کد خروج mdadm را برای انعکاس وضعیت آرایه تنظیم می‌کند (۰ سالم، ۱ دارای دیسک خراب، ۲ غیرقابل استفاده، ۴ خطای عمومی). .TP .BR \-W ", " \-\-wait برای هر دستگاه md داده‌شده، منتظر پایان یافتن هرگونه فعالیت بازهمگام‌سازی، بازیابی یا تغییر ساختار می‌ماند. .TP .BR \-\-wait\-clean ترتیبی می‌دهد که آرایه در سریع‌ترین زمان ممکن تمیز (Clean) علامت‌گذاری شود (به ویژه برای متادیتای خارجی). .TP .B \-\-action= تنظیم عمل همگام‌سازی ("sync_action") برای دستگاه‌های md به یکی از مقادیر .BR idle , .BR frozen , .B check یا .BR repair . گزینه .B check صحت توازن را بررسی و عدم تطابق‌ها را در sysfs گزارش می‌دهد، در حالی که .B repair علاوه بر بررسی، عدم تطابق‌ها را با بازنویسی اطلاعات توازن اصلاح می‌کند. .TP .B \-\-udev\-rules= ایجاد قوانین udev برای مدیریت دستگاه‌های خام اتصال گرم بر اساس خط‌مشی‌های (POLICY) موجود در .IR mdadm.conf . .SH "برای حالت سرهم‌بندی افزایشی (For Incremental Assembly mode:)" .TP .BR \-\-rebuild\-map ", " \-r بازسازی فایل نگاشت .RB ( /run/mdadm/map ) که mdadm برای ردیابی آرایه‌های در حال سرهم‌بندی استفاده می‌کند. .TP .BR \-\-run ", " \-R راه‌اندازی آرایه سرهم‌بندی‌شده به محض حاضر بودن حداقل تعداد دستگاه‌های لازم، بدون معطلی برای رسیدن همه درایوها. .TP .BR \-\-scan ", " \-s پویش فایل نقشه برای یافتن آرایه‌هایی که به صورت افزایشی سرهم‌بندی شده‌اند و تلاش برای راه‌اندازی مواردی که هنوز شروع نشده‌اند. .TP .BR \-\-fail ", " \-f به سیستم hot-plug اجازه می‌دهد دستگاه‌هایی که کاملاً از هسته ناپدید شده‌اند را ابتدا خراب اعلام کرده و سپس از آرایه جدا سازد. .TP .BR \-\-path= تنها با fail-- استفاده می‌شود. مسیر فیزیکی ثبت می‌شود تا در صورت اتصال درایو جدید در همان درگاه، جایگزین دستگاه قبلی شود. .SH "برای حالت نظارت (For Monitor mode:)" .TP .BR \-m ", " \-\-mail مشخص کردن آدرس ایمیل برای ارسال پیام‌های هشدار. قابل تنظیم با MAILADDR در mdadm.conf. .TP .BR \-p ", " \-\-program ", " \-\-alert تعیین برنامه‌ای که در زمان وقوع هر رویداد اجرا شود. قابل تنظیم با PROGRAM در mdadm.conf. .TP .BR \-y ", " \-\-syslog ارسال تمامی رویدادها به سرویس 'syslog' با تسهیلات 'daemon'. .TP .BR \-d ", " \-\-delay تعیین تاخیر میان دوره‌های بررسی بر حسب ثانیه (پیش‌فرض ۶۰ ثانیه). .TP .BR \-r ", " \-\-increment تعیین درصد گام گزارش‌دهی پیشرفت بازسازی (ایجاد رویدادهای RebuildNN). .TP .BR \-f ", " \-\-daemonise اجرای mdadm در پس‌زمینه به عنوان یک دیمن (جداسازی از ترمینال و چاپ PID در خروجی استاندارد). .TP .BR \-i ", " \-\-pid\-file نوشتن شناسه فرایند (PID) در فایل مشخص‌شده هنگام اجرا در حالت دیمن. .TP .BR \-1 ", " \-\-oneshot بررسی آرایه‌ها تنها برای یک‌بار (مناسب برای اجرا در اسکریپت‌های کرون - cron). .TP .BR \-t ", " \-\-test تولید رویداد آزمایشی TestMessage در زمان راه‌اندازی برای آزمایش دریافت صحیح هشدارها. .TP .BR \-\-no\-sharing غیرفعال کردن انتقال خودکار دیسک‌های یدکی میان آرایه‌ها در گروه‌های یدکی مشترک. .SH "حالت سرهم‌بندی (ASSEMBLE MODE)" .HP 12 نحوه استفاده: .B mdadm \-\-assemble .I md-device options-and-component-devices... .HP 12 نحوه استفاده: .B mdadm \-\-assemble \-\-scan .I md-devices-and-options... .HP 12 نحوه استفاده: .B mdadm \-\-assemble \-\-scan .I options... .PP این حالت یک یا چند آرایه RAID را از قطعات و دیسک‌های از پیش موجود سرهم‌بندی می‌کند. برای هر آرایه، mdadm باید دستگاه md، هویت آرایه و تعداد دستگاه‌های عضو را بداند. این اطلاعات را می‌توان از روش‌های متعددی به دست آورد. در نخستین الگوی استفاده (بدون .BR \-\-scan ) نخستین دستگاه داده‌شده همان دستگاه md است. در الگوی دوم، تمامی دستگاه‌های فهرست‌شده به عنوان دستگاه‌های md تلقی شده و تلاش برای سرهم‌بندی آن‌ها صورت می‌گیرد. در الگوی سوم (که هیچ دستگاهی ذکر نشده است)، تمامی دستگاه‌های md فهرست‌شده در فایل پیکربندی سرهم‌بندی خواهند شد. اگر هیچ آرایه‌ای در فایل پیکربندی توصیف نشده باشد، هر آرایه‌ای که روی دستگاه‌های استفاده‌نشده یافت شود سرهم‌بندی می‌گردد. اگر دقیقاً یک دستگاه ذکر شود اما .B \-\-scan داده نشود، .I mdadm طوری عمل می‌کند که گویی scan-- مشخص شده و اطلاعات هویتی را از فایل پیکربندی استخراج می‌کند. هویت را می‌توان با گزینه‌های .BR \-\-uuid , .B \-\-name یا .B \-\-super\-minor تعیین کرد، یا از رکورد md-device در فایل پیکربندی یا از ابربلوک نخستین دستگاه عضو ذکرشده در خط فرمان دریافت نمود. تنها دستگاه‌هایی که دارای ابربلوک md با هویت منطبق باشند برای آرایه در نظر گرفته می‌شوند. فایل پیکربندی تنها در صورتی خوانده می‌شود که صریحاً با .B \-\-config تعیین شده باشد یا با استفاده از .B \-\-scan درخواست شده باشد. به طور عادی آرایه پس از سرهم‌بندی راه‌اندازی می‌شود. با این حال، اگر scan-- داده نشده باشد و تمام درایوهای مورد انتظار حاضر نباشند، برای جلوگیری از اشتباهات کاربری آرایه راه‌اندازی نمی‌شود؛ مگر اینکه از گزینه .B \-\-run برای اجبار به اجرا استفاده کنید. اگر .I udev فعال باشد، .I mdadm گره‌های دستگاه را مستقیماً در .B /dev نمی‌سازد بلکه این کار را به udev واگذار می‌کند و اطلاعات را در .B /run/mdadm/map ثبت می‌نماید تا udev نام صحیح را انتخاب کند. .SS "سرهم‌بندی خودکار (Auto-Assembly)" هنگامی که .B \-\-assemble همراه با .B \-\-scan استفاده شود و هیچ دستگاهی ذکر نگردد، .I mdadm ابتدا تلاش می‌کند تمامی آرایه‌های موجود در فایل پیکربندی را سرهم‌بندی کند. اگر هیچ آرایه‌ای در فایل پیکربندی نباشد، دستگاه‌های در دسترس را برای یافتن آرایه‌ها جستجو می‌کند. آرایه‌های متعلق به homehost سیستم به طور عادی سرهم‌بندی و فعال می‌شوند. آرایه‌هایی که متعلق به این میزبان نیستند، با نام‌هایی که با موارد محلی تداخل نداشته باشند ایجاد شده و در حالت "read-auto" راه‌اندازی می‌شوند تا زمانی که درخواستی برای نوشتن ارسال شود چیزی روی آن‌ها نوشته نشود (تاخیر در همگام‌سازی خودکار). برای آرایه‌های نگارش 0.90 شماره minor به عنوان نام در .B /dev/md/ استفاده می‌شود (مانند .BR /dev/md/3 ) و برای نگارش ۱ نام ذخیره‌شده در ابربلوک مبنای نام‌گذاری خواهد بود. این رفتار را می‌توان با خط .I AUTO در فایل .I mdadm.conf سفارشی‌سازی کرد. .SH "حالت ساخت سریع (BUILD MODE)" .HP 12 نحوه استفاده: .B mdadm \-\-build .I md-device .BI \-\-chunk= X .BI \-\-level= Y .BI \-\-raid\-devices= Z .I devices .PP این کاربرد مشابه .B \-\-create است، با این تفاوت که آرایه‌ای بدون ابربلوک می‌سازد. در این نوع آرایه‌ها تفاوتی میان ایجاد اولیه و سرهم‌بندی بعدی وجود ندارد، جز اینکه امیدواریم در حالت دوم داده‌های مفیدی وجود داشته باشد. سطح می‌تواند raid0، linear، raid1، raid10، multipath یا faulty باشد. تمامی دستگاه‌ها باید فهرست شوند و آرایه پس از تکمیل بلافاصله فعال می‌شود. در سطوح raid1 یا raid10 اغلب استفاده از .B \-\-assume\-clean مناسب خواهد بود. .SH "حالت ایجاد (CREATE MODE)" .HP 12 نحوه استفاده: .B mdadm \-\-create .I md-device .BI \-\-chunk= X .BI \-\-level= Y .BI \-\-raid\-devices= Z .I devices .PP این دستور یک آرایه md جدید را مقداردهی اولیه کرده، دستگاه‌هایی را به آن پیوند می‌دهد و آرایه را فعال می‌سازد. دستگاه .I md-device می‌تواند یک نام استاندارد یا یک نام دلخواه باشد (بخش نام‌گذاری دستگاه‌ها را ببینید). این دستگاه معمولاً هنگام اجرای دستور هنوز وجود ندارد و پس از فعال شدن آرایه توسط .I udev ایجاد می‌شود. حداکثر طول نام دستگاه به ۳۲ نویسه محدود است (برخی متادیتاها مانند IMSM تنها ۱۶ نویسه را مجاز می‌دانند). با اضافه شدن هر دستگاه، بررسی می‌شود که آیا حاوی ابربلوک‌های RAID یا فایل‌سیستم هست یا خیر، و همچنین بررسی می‌شود که اختلاف اندازه دستگاه‌ها از ۱٪ تجاوز نکند. در صورت مشاهده هرگونه مغایرت، اجرای خودکار متوقف می‌شود مگر اینکه از .B \-\-run استفاده شده باشد. برای ایجاد یک آرایه تحلیل‌رفته (Degraded) که برخی دیسک‌های آن مفقود هستند، کافی است کلمه "\fBmissing\fP" را به جای نام دستگاه بنویسید. برای RAID4 یا RAID5 حداکثر یک اسلات و برای RAID6 حداکثر دو اسلات می‌توانند missing باشند. در RAID1 تنها وجود یک دستگاه واقعی کافی است و بقیه می‌توانند missing باشند. هنگام ساخت یک آرایه RAID5، .I mdadm به طور خودکار یک آرایه تحلیل‌رفته با یک درایو یدکی اضافی ایجاد می‌کند، زیرا بازسازی درایو یدکی درون یک آرایه تحلیل‌رفته سریع‌تر از بازهمگام‌سازی توازن روی یک آرایه غیرتحلیل‌رفته اما نامنظم است. این رفتار با .B \-\-force قابل لغو است. هنگام ایجاد آرایه مبتنی بر پارتیشن با متادیتای نگارش 1.x، نوع پارتیشن باید روی .B 0xDA تنظیم شود. فضایی برای بیت‌مپ رزرو خواهد شد تا بعداً بتوان با .B "\-\-grow \-\-bitmap=internal" آن را اضافه کرد. در صورت پشتیبانی متادیتا، فضایی نیز برای لیست بلوک‌های خراب (BBL) تخصیص می‌یابد. .SH "حالت مدیریت (MANAGE MODE)" .HP 12 نحوه استفاده: .B mdadm .I device .I options... devices... .PP این حالت اجازه می‌دهد دستگاه‌های مجزا در یک آرایه به عنوان خراب علامت‌گذاری شوند، حذف شوند یا اضافه گردند. امکان انجام چندین عملیات در یک فرمان واحد وجود دارد: .br .B " mdadm /dev/md0 \-f /dev/hda1 \-r /dev/hda1 \-a /dev/hda1" .br این دستور ابتدا .B /dev/hda1 را در .B /dev/md0 معیوب اعلام کرده، سپس آن را از آرایه حذف می‌کند و در نهایت مجدداً به عنوان دیسک یدکی به آرایه می‌افزاید. هنگامی که دستگاهی به آرایه فعال افزوده می‌شود، mdadm بررسی می‌کند که آیا متادیتای آن نشان‌دهنده عضویت اخیر در آرایه هست یا خیر؛ در این صورت تلاش می‌کند آن را به صورت "re-add" اضافه کند تا در صورت وجود بیت‌مپ، تنها بخش‌های تغییریافته بازسازی شوند. .SH "حالت متفرقه (MISC MODE)" .HP 12 نحوه استفاده: .B mdadm .I options ... .I devices ... .PP حالت متفرقه شامل مجموعه‌ای از عملیات‌های متمایز است که روی دستگاه‌ها اجرا می‌شوند: .TP .B \-\-query دستگاه بررسی می‌شود تا مشخص شود آیا یک آرایه فعال md است یا بخشی از یک آرایه md. اطلاعات کشف‌شده نمایش داده می‌شوند. .TP .B \-\-detail دستگاه باید یک دستگاه md فعال باشد. .B mdadm توصیف دقیقی از وضعیت آرایه نمایش می‌دهد. گزینه‌های .B \-\-brief یا .B \-\-scan باعث می‌شوند خروجی خلاصه‌تر شده و در قالبی مناسب برای قرارگیری در .B mdadm.conf تولید شود. وضعیت خروج در صورت عدم ارائه .B \-\-test معمولاً ۰ است؛ در صورت استفاده از گزینه .BR \-\-test , وضعیت خروج به شرح زیر خواهد بود: .RS .TP 0 آرایه کاملاً سالم است و به درستی کار می‌کند. .TP 1 آرایه حداقل دارای یک دستگاه معیوب است. .TP 2 آرایه دارای چندین دستگاه معیوب است به طوری که غیرقابل استفاده شده است. .TP 4 در حین تلاش برای دریافت اطلاعات دستگاه خطایی رخ داده است. .RE .TP .B \-\-detail\-platform چاپ جزئیات قابلیت‌های RAID پلتفرم (میان‌افزار / هم‌بندی سخت‌افزاری). اگر متادیتا با .B \-e یا .B \-\-metadata= تعیین شده باشد، وضعیت خروج به این صورت است: .RS .TP 0 متادیتا با موفقیت اجزای پلتفرم خود را روی این سیستم شمارش کرد. .TP 1 متادیتا مستقل از پلتفرم است. .TP 2 متادیتا موفق به یافتن اجزای پلتفرم خود روی این سیستم نشد. .RE .TP .B \-\-update\-subarray= اگر دستگاه یک ظرف (Container) باشد و آرگومان این گزینه یک زیرآرایه را مشخص کند، فیلد تعیین‌شده ابربلوک را به‌روزرسانی می‌کند. گزینه‌های پشتیبانی‌شده شامل name، ppl، no-ppl، bitmap و no-bitmap هستند. .TP .B \-\-examine دستگاه باید عضوی از یک آرایه md باشد. mdadm ابربلوک md را خوانده و محتوای آن را نمایش می‌دهد. .TP .BI \-\-dump= directory اگر دستگاه حاوی متادیتای RAID باشد، فایلی با نام متناظر در دایرکتوری ایجاد شده و متادیتا در همان آفست فیزیکی به صورت یک فایل کم‌پشت (Sparse) ذخیره می‌گردد تا فضای ناچیزی اشغال شود. .TP .BI \-\-restore= directory عکس عملیات .B \-\-dump است و متادیتا را از فایل موجود در دایرکتوری به دستگاه بازمی‌گرداند. .TP .B \-\-stop غیرفعال‌سازی آرایه‌های md فعال و آزادسازی دستگاه‌ها، به شرطی که در حال استفاده نباشند. .TP .B \-\-run فعال‌سازی کامل آرایه نیمه‌سرهم‌بندی‌شده در حالت تحلیل‌رفته. .TP .B \-\-readonly علامت‌گذاری آرایه فعال به صورت فقط‌خواندنی. .TP .B \-\-readwrite بازگرداندن آرایه فقط‌خواندنی به حالت خواندن/نوشتن عادی. .TP .B \-\-scan برای تمام عملیات‌ها به جز .BR \-\-examine , باعث اعمال عملیات روی تمام آرایه‌های موجود در .B /proc/mdstat می‌شود. برای .BR \-\-examine , باعث بررسی تمام دستگاه‌های فهرست‌شده در فایل پیکربندی می‌گردد. .TP .BR \-b ", " \-\-brief کاهش جزئیات خروجی (همراه با detail یا examine). .SH "حالت نظارت (MONITOR MODE)" .HP 12 نحوه استفاده: .B mdadm \-\-monitor .I options... devices... .PP گزینه نظارت می‌تواند در دو حالت کار کند: .IP \(bu 4 حالت سراسری سیستم: پیگیری تمام دستگاه‌های md بر اساس .BR /proc/mdstat , .IP \(bu 4 پیگیری تنها دستگاه‌های MD مشخص‌شده در خط فرمان. .PP گزینه .B \-\-scan نشان‌دهنده حالت سراسری است و باعث می‌شود ابزار تمامی دستگاه‌های موجود در .B /proc/mdstat را ردیابی کند. در صورت عدم تنظیم آن، باید حداقل یک .B دستگاه در خط فرمان مشخص شود. نظارت باعث می‌شود .I mdadm به صورت دوره‌ای آرایه‌ها را بررسی کرده و هرگونه رویداد رخ‌داده را گزارش دهد. همچنین در صورت تعریف گروه‌های یدکی مشترک .RB ( spare-group ) یا دامنه‌های .BR POLICY , می‌تواند دیسک یدکی را به طور خودکار از یک آرایه سالم به یک آرایه تحلیل‌رفته منتقل کند. اگر رویدادها به یک برنامه ارسال شوند، برنامه به ازای هر رویداد اجرا شده و ۲ یا ۳ آرگومان دریافت می‌کند: نام رویداد، نام دستگاه md آسیب‌دیده، و نام دستگاه عضو مرتبط (در صورت وجود). در سیستم‌هایی که نظارت mdadm از طریق systemd مدیریت می‌شود، سرویس .B mdmonitor.service به صورت پیش‌فرض فعال است. برای دریافت هشدارها کافی است مقدار MAILADDR را در .B mdadm.conf تنظیم کنید. رویدادهای مختلف عبارتند از: .RS 4 .TP .B DeviceDisappeared آرایه‌ای که قبلاً پیکربندی شده بود دیگر وجود ندارد (اولویت: Critical). .TP .B RebuildStarted آرایه بازسازی یا همگام‌سازی را آغاز کرده است (اولویت: Warning). .TP .BI Rebuild NN پیشرفت بازسازی به درصد NN رسیده است (اولویت: Warning). .TP .B RebuildFinished بازسازی آرایه به پایان رسیده یا متوقف شده است (اولویت: Warning). .TP .B Fail یک دستگاه عضو فعال در آرایه معیوب شده است (اولویت: Critical). .TP .B FailSpare یک دستگاه یدکی در حال بازسازی دچار خرابی شده است (اولویت: Critical). .TP .B SpareActive بازسازی دستگاه یدکی با موفقیت پایان یافته و فعال شده است (اولویت: Info). .TP .B NewArray یک آرایه جدید در .B /proc/mdstat شناسایی شده است (اولویت: Info). .TP .B DegradedArray آرایه‌ای تازه شناسایی‌شده در وضعیت تحلیل‌رفته قرار دارد (اولویت: Critical). .TP .B MoveSpare یک درایو یدکی از یک آرایه به آرایه دیگر برای جایگزینی درایو خراب منتقل شد (اولویت: Info). .TP .B SparesMissing تعداد درایوهای یدکی کمتر از میزان تعیین‌شده در فایل پیکربندی است (اولویت: Warning). .TP .B TestMessage پیام آزمایشی تولیدشده با فلگ .B \-\-test (اولویت: Info). .RE تنها رویدادهای .BR Fail , .BR FailSpare , .BR DegradedArray , .B SparesMissing و .B TestMessage باعث ارسال ایمیل می‌شوند، اما تمامی رویدادها باعث اجرای برنامه هشدار خواهند شد. .SH "حالت گسترش (GROW MODE)" حالت گسترش (GROW) برای تغییر اندازه، ساختار یا شکل یک آرایه فعال به کار می‌رود. تغییرات زیر پشتیبانی می‌شوند: .IP \(bu 4 تغییر ویژگی "size" برای آرایه‌های RAID1، RAID4، RAID5 و RAID6. .IP \(bu 4 افزایش یا کاهش ویژگی "raid-devices" در آرایه‌های RAID0، RAID1، RAID4، RAID5 و RAID6. .IP \(bu 4 تغییر اندازه تکه (Chunk size) و چیدمان (Layout) در RAID0، RAID4، RAID5، RAID6 و RAID10. .IP \(bu 4 تبدیل میان RAID1 و RAID5، میان RAID5 و RAID6، میان RAID0، RAID4 و RAID5، و میان RAID0 و RAID10 (در حالت near-2). .IP \(bu 4 افزودن یا حذف بیت‌مپ قصد نوشتن (Write-intent bitmap). .IP \(bu 4 تغییر خط‌مشی سازگاری آرایه. .PP استفاده از حالت GROW روی کانتینرها در حال حاضر تنها برای قالب کانتینر IMSM اینتل پشتیبانی می‌شود. .SS "تغییرات اندازه (SIZE CHANGES)" معمولاً هنگام ایجاد یک آرایه، "اندازه" از کوچک‌ترین درایو گرفته می‌شود. اگر درایوهای کوچک با درایوهای بزرگتر جایگزین شوند، می‌توان با حالت GROW فضای اضافی را فعال کرد. در این حالت یک فرایند "همگام‌سازی مجدد" برای بخش‌های جدید آغاز خواهد شد. توجه داشته باشید که با تغییر اندازه آرایه، فایل‌سیستم به طور خودکار رشد یا کوچک نمی‌شود؛ فایل‌سیستم باید پس از بزرگ شدن آرایه بزرگ شده، یا .B قبل از کوچک کردن آرایه منقبض شود. همچنین اندازه آرایه در حالی که بیت‌مپ فعال دارد قابل تغییر نیست و ابتدا باید بیت‌مپ حذف شود. .SS "تغییرات تعداد دیسک‌های رِید (RAID-DEVICES CHANGES)" یک آرایه RAID1 می‌تواند با هر تعداد دیسک از ۱ به بالا کار کند. هنگام کاهش دیسک‌ها در RAID1، اسلات‌های مربوطه باید ابتدا با fail و remove خالی شوند. هنگام افزایش دیسک‌ها، دیسک‌های یدکی موجود بلافاصله فعال خواهند شد. تغییر تعداد دیسک‌ها در RAID5 یا RAID6 نیازمند خواندن و نوشتن مجدد تک تک بلوک‌ها در موقعیت‌های جدید است. هسته لینوکس می‌تواند این کار را به شکلی امن و با قابلیت از سرگیری در صورت قطع شدن انجام دهد. هسته لینوکس می‌تواند یک RAID0 را به RAID4 یا RAID5 تبدیل کند. .I mdadm از این قابلیت برای افزودن دیسک به یک RAID0 استفاده می‌کند (تبدیل به RAID4، افزودن دیسک، تغییر ساختار و بازگرداندن به RAID0). هنگام کاهش تعداد دستگاه‌ها، اندازه آرایه نیز کاهش می‌یابد که غیرقابل بازگشت است. برای پیشگیری از حوادث، .I mdadm الزام می‌کند که ابتدا اندازه آرایه با .B "mdadm --grow --array-size" کاهش یابد و سپس کاهش دیسک‌ها انجام شود. در طول تغییر مکان نوارهای اولیه در RAID5 و RAID6 ("بخش بحرانی")، برای جلوگیری از خرابی اطلاعات در زمان قطع ناگهانی برق، mdadm نوشتن را موقتاً غیرفعال کرده و یک نسخه پشتیبان از داده‌های آن بخش تهیه می‌کند. برای این منظور استفاده از گزینه .B \-\-backup\-file الزامی است و فایل باید روی دستگاهی کاملاً مجزا ذخیره شود. .SS "تغییرات سطح رِید (LEVEL CHANGES)" تغییر سطح RAID بلافاصله انجام می‌شود. با این حال تبدیل بین RAID5 و RAID6 نیازمند چیدمان موقت داده‌ها است که ممکن است زمان‌بر باشد و استفاده از .B \-\-backup\-file در طول فرایند الزامی است. .SS "تغییرات اندازه تکه‌ها و چیدمان (CHUNK-SIZE AND LAYOUT CHANGES)" تغییر اندازه تکه یا چیدمان مستلزم بازنویسی تمامی بلوک‌ها در محل است و نیازمند ارائه .B \-\-backup\-file می‌باشد. فایل پشتیبان باید در زمان سرهم‌بندی پس از قطع احتمالی در دسترس باشد و نباید روی خود آرایه ذخیره شود. .SS "تغییرات بیت‌مپ (BITMAP CHANGES)" بیت‌مپ قصد نوشتن را می‌توان به یک آرایه فعال اضافه یا از آن حذف کرد. .SS "تغییرات خط‌مشی سازگاری (CONSISTENCY POLICY CHANGES)" خط‌مشی سازگاری یک آرایه فعال را می‌توان با استفاده از گزینه .B \-\-consistency\-policy تغییر داد (به عنوان نمونه فعال یا غیرفعال کردن PPL در RAID5). .SH "حالت افزایشی (INCREMENTAL MODE)" .HP 12 نحوه استفاده: .B mdadm \-\-incremental .RB [ \-\-run ] .RB [ \-\-quiet ] .I component-device .RI [ optional-aliases-for-device ] .HP 12 نحوه استفاده: .B mdadm \-\-incremental \-\-fail .I component-device .HP 12 نحوه استفاده: .B mdadm \-\-incremental \-\-rebuild\-map .HP 12 نحوه استفاده: .B mdadm \-\-incremental \-\-run \-\-scan .PP این حالت برای استفاده در ترکیب با سیستم شناسایی سخت‌افزار (مانند udev) طراحی شده است. با کشف دستگاه‌ها در سیستم، آن‌ها به .B "mdadm \-\-incremental" داده می‌شوند تا به صورت مشروط به آرایه متناظر اضافه گردند. برعکس، با فلگ .B \-\-fail می‌توان دستگاه جداشده را از آرایه حذف کرد. اگر دستگاه داده‌شده یک .B CONTAINER باشد، تمام آرایه‌های توصیف‌شده در متادیتای آن راه‌اندازی خواهند شد. آزمون‌هایی که .I mdadm انجام می‌دهد شامل بررسی مجاز بودن دستگاه در .BR mdadm.conf , بررسی معتبر بودن ابربلوک و بررسی تعلق آن به homehost سیستم است. فهرست آرایه‌های ناقص سرهم‌بندی‌شده در .B /run/mdadm/map نگهداری می‌شود. آرایه به محض حاضر بودن تمام دیسک‌ها (یا با .B \-\-run به محض امکان دسترسی به داده‌ها) راه‌اندازی می‌شود. فرمان .B "mdadm \-IRs" پس از پایان فرایند کشف دستگاه‌ها، تمام آرایه‌های در حال سرهم‌بندی را در حالت "read-auto" راه‌اندازی می‌کند. .SH "متغیرهای محیطی (ENVIRONMENT)" این بخش متغیرهای محیطی تاثیرگذار بر نحوه عملکرد mdadm را شرح می‌دهد. .TP .B MDADM_NO_MDMON تنظیم این متغیر به مقدار ۱ از اجرای خودکار mdmon توسط mdadm جلوگیری می‌کند. این متغیر عمدتاً برای اشکال‌زدایی mdadm/mdmon کاربرد دارد. .TP .B MDADM_NO_UDEV در حالت عادی، .I mdadm گره‌های دستگاه را در /dev ایجاد نمی‌کند بلکه این وظیفه را به .I udev واگذار می‌نماید. اگر به نظر برسد udev پیکربندی نشده است، یا اگر این متغیر روی '1' تنظیم شود، mdadm دستگاه‌های مورد نیاز را خودش خواهد ساخت. .TP .B MDADM_NO_SYSTEMCTL اگر .I mdadm تشخیص دهد که .I systemd در حال اجراست، درخواست شروع وظایف پس‌زمینه (به ویژه .IR mdmon ) را به جای انشعاب مستقیم به systemd ارسال می‌کند. تنظیم .B MDADM_NO_SYSTEMCTL=1 این رفتار را لغو می‌کند. .TP .B IMSM_NO_PLATFORM مزیت اصلی متادیتای IMSM سازگاری با ROM بوت پلتفرم‌های اینتل است. بنابراین mdadm تنها در صورت حضور سخت‌افزار اینتل با پشتیبانی از IMSM اجازه ایجاد آن را می‌دهد. با تنظیم IMSM_NO_PLATFORM=1 در محیط می‌توان این بررسی‌ها را برای اهداف آزمایشی یا بازیابی نادیده گرفت. .TP .B MDADM_GROW_ALLOW_OLD اگر آرایه‌ای در حین تغییر ساختار با فایل پشتیبان متوقف شود و پس از سرهم‌بندی مجدد mdadm اخطار دهد که فایل پشتیبان بسیار قدیمی است، با تنظیم این متغیر روی ۱ می‌توان بررسی تاریخ فایل را نادیده گرفت. .TP .B MDADM_CONF_AUTO هر رشته‌ای در این متغیر به ابتدای خط .B AUTO در فایل پیکربندی اضافه می‌شود تا بتوان انواع خاصی از متادیتا را در زمان بوت غیرفعال کرد (برای نمونه برای سپردن مدیریت دیسک‌ها به dmraid). .SH "مثال‌ها (EXAMPLES)" .B " mdadm \-\-query /dev/name-of-device" .br بررسی می‌کند که آیا دستگاه داده‌شده یک آرایه RAID یا بخشی از یک آرایه است و اطلاعات مختصری ارائه می‌دهد. .B " mdadm \-\-assemble \-\-scan" .br تمامی آرایه‌های فهرست‌شده در فایل پیکربندی استاندارد را سرهم‌بندی و راه‌اندازی می‌کند (معمولاً در اسکریپت‌های راه‌اندازی سیستم قرار می‌گیرد). .B " mdadm \-\-stop \-\-scan" .br تمامی آرایه‌هایی که در حال حاضر مورد استفاده نیستند را خاموش و متوقف می‌سازد (معمولاً در اسکریپت خاموشی سیستم قرار می‌گیرد). .B " mdadm \-\-follow \-\-scan \-\-delay=120" .br اگر آدرس ایمیل یا برنامه‌ای در فایل پیکربندی مشخص شده باشد، وضعیت تمامی آرایه‌ها را هر ۲ دقیقه یک‌بار بررسی و پایش می‌کند. .B " mdadm \-\-create /dev/md0 \-\-level=1 \-\-raid\-devices=2 /dev/hd[ac]1" .br ایجاد آرایه RAID1 با نام /dev/md0 متشکل از دو پارتیشن /dev/hda1 و /dev/hdc1. .B " echo 'DEVICE /dev/hd*[0\-9] /dev/sd*[0\-9]' > mdadm.conf" .br .B " mdadm \-\-detail \-\-scan >> mdadm.conf" .br ایجاد یک پیش‌نویس فایل پیکربندی حاوی توصیف آرایه‌های فعال کنونی. .B " echo 'DEVICE /dev/hd[a\-z] /dev/sd*[a\-z]' > mdadm.conf" .br .B " mdadm \-\-examine \-\-scan \-\-config=mdadm.conf >> mdadm.conf" .br یافتن آرایه‌هایی که می‌توان از کل دیسک‌های IDE و SCSI موجود سرهم‌بندی کرد و ذخیره اطلاعات آن‌ها در قالب فایل پیکربندی. .B " mdadm \-\-examine \-\-brief \-\-scan \-\-config=partitions" .br .B " mdadm \-Ebsc partitions" .br پویش دیسک‌ها با خواندن .B /proc/partitions برای یافتن ابربلوک‌های RAID و چاپ فهرست خلاصه آن‌ها. .B " mdadm \-Ac partitions \-m 0 /dev/md0" .br پویش پارتیشن‌ها و سرهم‌بندی .B /dev/md0 از دستگاه‌هایی با ابربلوک RAID و شماره فرعی ۰. .B " mdadm \-\-monitor \-\-scan \-\-daemonise > /run/mdadm/mon.pid" .br اجرای mdadm در پس‌زمینه در حالت پایش و ذخیره شناسه فرایند در .BR /run/mdadm/mon.pid . .B " mdadm \-Iq /dev/somedevice" .br تلاش برای گنجاندن دستگاه تازه کشف‌شده در آرایه مناسب. .B " mdadm \-\-incremental \-\-rebuild\-map \-\-run \-\-scan" .br بازسازی نقشه آرایه‌ها و راه‌اندازی مواردی که قابل اجرا هستند. .B " mdadm /dev/md4 --fail detached --remove detached" .br علامت‌گذاری هر دستگاه جداشده در /dev/md4 به عنوان خراب و حذف آن از آرایه. .B " mdadm --grow /dev/md4 --level=6 --backup-file=/root/backup-md4" .br تبدیل آرایه RAID5 به نام .B /dev/md4 به سطح RAID6 با استفاده از فایل پشتیبان. .B " mdadm --create /dev/md/ddf --metadata=ddf --raid-disks 6 /dev/sd[a-f]" .br ایجاد یک ظرف DDF روی ۶ دستگاه. .B " mdadm --create /dev/md/home -n3 -l5 -z 30000000 /dev/md/ddf" .br ایجاد یک آرایه RAID5 روی ۳ دستگاه از مجموعه ظرف DDF با اندازه ۳۰ گیگابایت از هر دستگاه. .B " mdadm -A /dev/md/ddf1 /dev/sd[a-f]" .br سرهم‌بندی یک آرایه DDF از پیش موجود. .B " mdadm -I /dev/md/ddf1" .br سرهم‌بندی تمامی آرایه‌های موجود در آرایه ddf و تخصیص نام مناسب. .B " mdadm \-\-help" .br ارائه راهنمای عمومی خط فرمان. .SH "فایل‌ها (FILES)" .SS /proc/mdstat در صورت استفاده از فایل‌سیستم .BR /proc , فایل .B /proc/mdstat فهرست تمامی دستگاه‌های md فعال را به همراه اطلاعات آن‌ها نمایش می‌دهد. .SS "/etc/mdadm.conf (یا /etc/mdadm/mdadm.conf)" فایل پیکربندی پیش‌فرض. برای جزئیات به .BR mdadm.conf (5) مراجعه کنید. .SS "/etc/mdadm.conf.d (یا /etc/mdadm/mdadm.conf.d)" دایرکتوری پیش‌فرض حاوی فایل‌های پیکربندی. .SS /run/mdadm/map هنگام استفاده از حالت .BR \-\-incremental , این فایل فهرست آرایه‌هایی که در حال حاضر در حال ایجاد هستند را نگهداری می‌کند. .SH "نام‌های قابل حمل پازیکس (POSIX PORTABLE NAME)" یک نام معتبر تنها می‌تواند شامل نویسه‌های "A-Za-z0-9.-_" باشد. نام نباید با "-" شروع شود و نمی‌تواند از ۲۵۵ نویسه تجاوز کند. .SH "نام‌گذاری دستگاه‌ها (DEVICE NAMES)" ابزار .I mdadm دو نوع نام‌گذاری برای دستگاه‌های آرایه را به رسمیت می‌شناسد: نوع نخست، نام با قالب 'استاندارد' است که با نام‌های استفاده‌شده توسط هسته و مندرج در .I /proc/mdstat مطابقت دارد (مانند /dev/md0). نوع دوم نام‌های دلخواه هستند که باید در .I /dev/md/ قرار گیرند (مانند /dev/md/home). هنگام معرفی دستگاه می‌توان مسیر کامل یا فقط پسوند آن (مانند home) را تعیین کرد. نام خام در هر حالت باید با .B "POSIX PORTABLE NAME" سازگار بوده و بیش از ۳۲ نویسه نباشد. قالب‌های متداول نام‌گذاری به صورت زیر است: .IP .RB /dev/md NN (که در آن NN یک عدد است) .PP یا به فرمت غیرعددی: .IP .RB /dev/md_ XXX (که در آن .B XXX یک رشته دلخواه است و از نگارش 3.3 پشتیبانی می‌شود). .SH "درک خروجی (UNDERSTANDING OUTPUT)" .TP .B نقطه بررسی (checkpoint) مقدار نقطه بررسی زمانی گزارش می‌شود که آرایه در حال انجام عملیاتی نظیر همگام‌سازی مجدد، بازیابی یا تغییر ساختار باشد. نقاط بررسی اجازه می‌دهند در صورت بروز وقفه، عملیات از همان نقطه از سر گرفته شود. .SH "نکته (NOTE)" ابزار .I mdadm پیش از این با نام .I mdctl شناخته می‌شد. .SH "همچنین ببینید (SEE ALSO)" برای اطلاعات بیشتر درباره نحوه استفاده از mdadm، درایور MD و سطوح مختلف RAID، ببینید: .IP .B https://raid.wiki.kernel.org .PP آخرین نسخه .I mdadm همیشه از نشانی زیر در دسترس است: .IP .B https://www.kernel.org/pub/linux/utils/raid/mdadm .PP صفحات راهنمای مرتبط: .PP .IR mdmon (8), .IR mdadm.conf (5), .IR md (4).