DMRAID(8) دستورهای مدیریتی و نگهداری DMRAID(8)

dmraid - شناسایی، پیکربندی و فعالسازی آرایههای RAID نرمافزاری (ATARAID)

dmraid
{-a|--activate} {y|n|yes|no}
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-f|--format FORMAT[,FORMAT...]]
[-I|--ignoremonitoring]
[{-P|--partchar} CHAR]
[-p|--no_partitions]
[-Z|--rm_partitions]
[--separator SEPARATOR]
[-t|--test]
[RAID-set...]

dmraid
{-b|--block_devices}
[-c|--display_columns][FIELD[,FIELD...]]...
[-d|--debug]... [-v|--verbose]...
[--separator SEPARATOR]
[device-path...]

dmraid
{-h|--help}

dmraid
{-l|--list_formats}
[-d|--debug]... [-v|--verbose]...

dmraid
{-n|--native_log}
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-f|--format FORMAT[,FORMAT...]]
[--separator SEPARATOR]
[device-path...]

dmraid
{-R| --rebuild}
RAID-set
[device-path]

dmraid
{-x| --remove}
[RAID-set]

dmraid
-f FORMAT-handler {-C| --create} set
--type raidlevel
[--size=setsize --strip stridesize]
--disk "device-path, device-path [, device-path ...]"

dmraid [ -f|--format FORMAT-handler] -S|--spare [RAID-set] -M|--media "device-path"

dmraid
{-r|--raid_devices}
[-c|--display_columns][FIELD[,FIELD...]]...
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-D|--dump_metadata]
[-f|--format FORMAT[,FORMAT...]]
[--separator SEPARATOR]
[device-path...]

dmraid
{-r|--raid_devices}
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-E|--erase_metadata]
[-f|--format FORMAT[,FORMAT...]]
[--separator SEPARATOR]
[device-path...]

dmraid
{-s|--sets}...[a|i|active|inactive]
[-c|--display_columns][FIELD[,FIELD...]]...
[-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]
[-f|--format FORMAT[,FORMAT...]]
[-g|--display_group]
[--separator SEPARATOR]
[RAID-set...]

dmraid
{-V/--version}

دستور dmraid دیسکهای متصل را برای ابردادههای آرایه RAID بررسی کرده و نگاشتهای device-mapper متناظر را ایجاد میکند.

دستور dmraid دستگاه‌های بلوکی و RAID نرم‌افزاری (مانند ATARAID) را با به‌کارگیری چندین گرداننده قالب ابرداده (metadata format handlers) که از قالب‌های متنوعی (مانند سری Highpoint 37x) پشتیبانی می‌کنند، شناسایی می‌نماید. این دستور امکان فعال‌سازی مجموعه‌های RAID متشکل از ۲ یا چند دستگاه RAID کشف‌شده و نمایش مشخصات و ویژگی‌های دستگاه‌ها و مجموعه‌ها را فراهم می‌سازد (برای مشاهده فهرست قالب‌های ابرداده پشتیبانی‌شده، گزینه -l را ببینید).

دسترسی به مجموعه‌های RAID فعال‌شده در سطح دستگاه بلوکی، از طریق گره‌های نگاشت‌گر دستگاه در مسیر /dev/mapper/RaidSetName صورت می‌پذیرد. نام مجموعه‌های رید (RaidSetName) با نام قالب آغاز می‌شود (گزینه -l را ببینید) که می‌توان با استفاده از گزینه‌هایی مشخص (مانند -a در زیر)، به سادگی به تمامی مجموعه‌های RAID یک قالب خاص دسترسی پیدا کرد.

تمام یا مجموعه(های) RAID نرم‌افزاری مشخص‌شده را فعال یا غیرفعال می‌کند. این گزینه پایش دستگاه (device monitoring) را به طور خودکار فعال یا غیرفعال می‌سازد، مگر اینکه گزینه [-I|--ignoremonitoring] به طور هم‌زمان مشخص شده باشد که در این صورت از هرگونه تعامل با دیمن پایش دستگاه dmeventd جلوگیری می‌شود. اگر هنگام فعال‌سازی اولیه مجموعه RAID از گزینه -I استفاده شده باشد، در صورتی که قالب RAID مربوطه پشتیبانی کند، می‌توان بعداً با گزینه -ay پایش دستگاه را روی این مجموعه‌های RAID فعال راه‌اندازی کرد. برای مدیریت پایش دستگاه از طریق این ابزار، صفحه راهنمای dmevent_tool(8) را مشاهده فرمایید.
در صورتی که گرداننده‌های قالب ابرداده با گزینه -f تعیین شده باشند، تنها مجموعه‌های RAID با آن قالب(ها) امکان فعال یا غیرفعال شدن را خواهند داشت. این ویژگی هنگامی که دستگاه‌ها چندین امضای ابرداده داشته باشند بسیار کاربردی است.
هنگام فعال‌سازی مجموعه‌های RAID، گزینه -p فعال‌سازی پارتیشن‌های روی آن‌ها را از کار می‌اندازد و گزینه -Z به dmraid دستور می‌دهد که از هسته بخواهد پارتیشن‌های موجود روی دیسک‌های زیربنایی تشکیل‌دهنده مجموعه را حذف کند؛ یعنی اگر برای نمونه sda بخشی از مجموعه باشد، پارتیشن‌های sda1، sda2 و غیره حذف خواهند شد. این کار مانع از دسترسی مستقیم برنامه‌ها به دیسک‌ها با دور زدن dmraid می‌گردد.
نیازی به نوشتن نام کامل مجموعه‌های RAID در خط فرمان نیست (برای نمونه دستور «dmraid -ay sil» تمامی مجموعه‌های کشف‌شده Silicon Image Medley RAID را فعال می‌کند).
{-b|--block_devices} [device-path...]
فهرست‌بندی تمام یا دستگاه‌های بلوکی کشف‌شده مشخص به همراه ویژگی‌های آن‌ها (اندازه، شماره سریال). گزینه -c را برای نمایش اختصاصی نام دستگاه‌های بلوکی و -cc را برای ارائه خروجی ستونی به قالب CSV از ویژگی‌های دستگاه بلوکی اضافه نمایید. برای شناسه‌های فیلد (FIELD)، توضیحات گزینه -c در ادامه را مشاهده کنید.
[-d|--debug]...
فعال‌سازی خروجی اشکال‌زدایی (دیباگ). این گزینه می‌تواند چندین بار تکرار شود تا سطح خروجی اشکال‌زدایی افزایش یابد.
[-c|--display_columns][FIELD[,FIELD...]]...
نمایش ویژگی‌های دستگاه‌های بلوکی، مجموعه‌ها و دستگاه‌های RAID در ستون(ها). فهرست اختیاری مشخص‌کننده فیلدهایی که باید نمایش داده شوند:
برای -b:
d[evpath]|p[ath], sec[tors]|si[ze], ser[ialnumber].
برای -r:
de[vpath]|p[ath], f[ormat], r[aidname], t[ype], st[atus], se[ctors]|si[ze], da[taoffset]|o[ffset].
برای -s:
f[ormat], r[aidname], t[ype], sta[tus], str[ide], se[ctors]|si[ze], su[bsets], d[evices], sp[ares].
[-f|--format FORMAT[,FORMAT...]]
استفاده از گرداننده(های) قالب ابرداده جهت شناسایی دستگاه‌های RAID. برای مشاهده فهرست نام‌های گرداننده‌های قالب پشتیبانی‌شده، گزینه -l را ببینید. این ویژگی برای انتخاب قالب‌های مشخص هنگامی که چند امضای ابرداده مختلف روی یک دستگاه کشف می‌شود بسیار کاربردی است. می‌توان فهرستی از نام‌های قالب جداشده با کاما و بدون فاصله (whitespace) را تعیین نمود.
{-h|--help}
نمایش پیام راهنما.
{-i|--ignorelocking}
صرف‌نظر کردن از اعمال قفل‌ها. این گزینه در مراحل اولیه بوت (early boot) که دسترسی خواندن/نوشتن به شاخه var/ فراهم نیست، کاربرد دارد.
{-I|--ignoremonitoring}
خودداری از فعال یا غیرفعال‌سازی پایش دستگاه با گزینه‌های -ay یا -an. این گزینه از هرگونه تعامل با دیمن پایش دستگاه dmeventd به طور کامل جلوگیری می‌کند.
{-l|--list_formats}
فهرست‌بندی تمامی گرداننده‌های قالب ابرداده موجود به همراه نام و توضیحات آن‌ها. سطوح RAID پشتیبانی‌شده درون پرانتز درج شده‌اند:
S: Span (اتصال پیاپی/پیوستگی دیسک‌ها)
0: RAID0 (داده‌گستری / stripe)
1: RAID1 (آینه‌ای / mirror)
10: RAID10 (آینه‌ای روی داده‌گستری / mirror on top of stripes)
01: RAID10 (داده‌گستری روی آینه‌ای / stripe on top of mirrors - نکته: Intel OROM این را RAID10 نشان می‌دهد)
{-n|--native_log} [device-path...]
نمایش ابرداده در قالب بومی و اختصاصی سازنده (vendor-specific). در صورتی که گرداننده قالب ابرداده با گزینه -f مشخص شده باشد، تنها دستگاه‌های RAID با آن قالب به صورت بومی نمایش داده می‌شوند. اگر مسیر(های) دستگاه در خط فرمان مشخص شده باشند، خروجی ابرداده بومی تنها به موارد درج‌شده محدود می‌شود.
[{-P|--partchar} CHAR]
استفاده از کاراکتر CHAR به عنوان جداکننده میان نام دستگاه و شماره پارتیشن.
{-R|--rebuild} RAID-set [device-path]
بازسازی (Rebuild) آرایه RAID پس از خرابی یک درایو و افزودن درایو جدید. برای سیستم‌های مبتنی بر چیپ‌ست اینتل، دو روش برای اضافه کردن درایو جدید به سیستم وجود دارد:
۱. استفاده از OROM برای شناسایی درایو جدید:
   هنگام راه‌اندازی مجدد سیستم، وارد تنظیمات OROM شده و درایو جدید را به عنوان درایو بازسازی علامت‌گذاری کنید.
   سپس پس از بوت سیستم‌عامل، از دستور dmraid برای بازسازی استفاده نمایید.
   مثال: dmraid -R raid_set
۲. استفاده از dmraid برای شناسایی درایو جدید:
   سیستم‌عامل را بوت کرده و دستور dmraid را همراه با درایو جدید به عنوان پارامتر دوم اجرا نمایید.
   مثال: dmraid -R raid_set /dev/sdc
۳. استفاده از درایو یدکی داغ (hot spare):
   درایو را با دستور «dmraid -f isw -S» به عنوان یدکی داغ نشانه‌گذاری کنید. سپس از دستور dmraid برای آغاز بازسازی بهره ببرید.
   مثال: dmraid -R raid_set
{-x|--remove} [RAID-set]
حذف یک یا تمامی دستگاه‌های RAID نرم‌افزاری موجود از ابرداده.
پیکربندی یک دستگاه RAID نرم‌افزاری و ذخیره داده‌های پیکربندی در گروهی از دستگاه‌های دیسک سخت تشکیل‌دهنده این آرایه. این دستور نیازمند گزینه‌های زیر است:

-f FORMAT-handler
قالب ابرداده (دستور dmraid -l را ببینید).

--type digit[digit...]
مشخص کردن سطح RAID مجموعه نرم‌افزاری:

0:  raid0
1:  raid1
5:  raid5
01: raid01 (isw raid10)

--size: [digits[k|K|m|M|g|G][b|B]]
مشخص کردن اندازه مجموعه RAID. این مقدار یک عدد صحیح به همراه [kKmMgG] و/یا [bB] است:

b: بایت (پیش‌فرض)
B: بلوک (۵۱۲ بایت)
k یا K: بر مبنای ۱۰۲۴
m یا M: بر مبنای ۱۰۲۴*۱۰۲۴
g یا G: بر مبنای ۱۰۲۴*۱۰۲۴*۱۰۲۴

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

--strip: [digits[k|K|m|M|g|G][b|B]]
مشخص کردن اندازه نوار (strip size) یک مجموعه RAID1، RAID5 یا RAID10 (مشابه فرمت بالا).

--disk: device-path[{,| }device-path...]
مشخص کردن آرایه دیسک‌های سخت، برای نمونه /dev/sda.

این دستور قابلیت پشتیبانی از دیسک یدکی داغ (hot spare) را برای یک یا چند مجموعه RAID اضافه می‌کند:
۱. هنگامی که همراه با یک گرداننده قالب با قابلیت پشتیبانی از مجموعه‌های یدکی داغ (مانند isw) استفاده شود، دیسک یدکی برای بازسازی هر مجموعه RAID با آن قالب نشانه‌گذاری می‌گردد.
۲. هنگامی که همراه با تعیین یک مجموعه RAID به کار رود، درایو به آن مجموعه اختصاص یافته و تنها برای بازسازی همان مجموعه استفاده خواهد شد. نکته: اگر نام تعیین‌شده با هیچ مجموعه RAID موجودی مطابقت نداشته باشد، مجموعه‌ای با نام جدید ایجاد می‌شود.
{-r|--raid_devices} [device-path...]
فهرست‌بندی تمامی دستگاه‌های RAID کشف‌شده به همراه قالب، سطح RAID، سکتورهای استفاده‌شده و آفست داده‌ها در دستگاه. در صورتی که گرداننده قالب ابرداده با گزینه -f انتخاب شده باشد، تنها دستگاه‌های RAID با آن قالب شناسایی می‌شوند. این ویژگی هنگامی که دستگاه‌ها دارای چندین امضای ابرداده باشند کاربرد دارد.

اگر گزینه -D به -r اضافه گردد، ابرداده RAID درون زیرشاخه‌ای با نام dmraid.format_name (برای نمونه format_name = isw) در فایل‌هایی با نام devicename.dat ذخیره (dump) می‌شود. آفست بایتی محل قرارگیری ابرداده روی دستگاه درون فایل‌هایی به نام devicename.offset و اندازه دستگاه بر حسب سکتور درون فایل‌هایی به نام devicename.size نوشته خواهد شد.

اگر گزینه -E به -r اضافه گردد، ابرداده RAID موجود روی دستگاه‌ها به صورت مشروط پاک می‌شود. این گزینه برای پاک کردن ابرداده قدیمی پس از نوشتن ابرداده جدید با نوع متفاوت بر روی یک دستگاه مفید است تا از شناسایی هم‌زمان هر دو جلوگیری شود. در صورت مشخص کردن گزینه -E، گزینه -D به طور خودکار اعمال می‌شود تا در صورت پاک شدن ابرداده نادرست، نسخه پشتیبان جهت بازگشت در دسترس باشد. برای بازیابی از پاک شدن ابرداده اشتباه با استفاده از فایل‌های ذخیره‌شده devicename_formatname.dat و devicename_formatname.offset، کپی دستی دوباره داده‌ها بر روی دستگاه الزامی است. برای نمونه، جهت بازگردانی تمام فایل‌های ‎*.dat‎ موجود در پوشه جاری به دستگاه‌های متناظر:

for f in *.dat
do
    dd if=$f of=/dev/${f%%.dat} \
    seek=`cat ${f%%dat}offset` bs=1
done

اگر مسیر(های) دستگاه در خط فرمان مشخص شده باشند، اقدامات فوق تنها به موارد فهرست‌شده محدود خواهند شد. گزینه -c را برای نمایش اختصاصی نام‌های دستگاه‌های RAID و -cc را برای خروجی ستونی CSV از ویژگی‌های دستگاه RAID اضافه کنید. برای شناسه‌های فیلد (FIELD)، توضیحات گزینه -c در بالا را مشاهده فرمایید.

استفاده از SEPARATOR به عنوان نویسه جداکننده برای تمام گزینه‌هایی که فهرست می‌گیرند یا نمایش می‌دهند.
نمایش ویژگی‌های مجموعه‌های RAID. چندین نام مجموعه RAID را می‌توان در خط فرمان مشخص کرد که نیازی به ارائه نام کامل آن‌ها نیست (برای نمونه دستور «dmraid -s hpt» تمام مجموعه‌های کشف‌شده Highpoint را نمایش می‌دهد). وارد کردن دو بار گزینه -s زیرمجموعه‌های RAID را نیز نمایش می‌دهد. گزینه -c را برای نمایش اختصاصی نام مجموعه‌های RAID، -cc را برای خروجی ستونی CSV از ویژگی‌های مجموعه RAID و -ccc را برای درج دستگاه‌های بلوکی در فهرست اضافه کنید. گزینه -ccc مستلزم تکرار -s -s جهت نمایش زیرمجموعه‌های RAID نیست (هرچند برای مجموعه‌های گروهی مانند isw به طور پیش‌فرض اعمال می‌شود). گزینه -g را برای گنجاندن اطلاعات مربوط به مجموعه‌های RAID گروهی (مانند Intel Software RAID) در فهرست به کار ببرید. برای شناسه‌های فیلد (FIELD)، توضیحات گزینه -c در بالا را مشاهده فرمایید.
نکته: اندازه بر حسب سکتور بیان می‌شود (نه بایت).
[-v|--verbose]...
فعال‌سازی خروجی تفصیلی (verbose) در زمان اجرا. این گزینه می‌تواند چندین بار تکرار شود تا سطح جزئیات افزایش یابد.
{-V|--version}
نمایش نگارش برنامه و خروج.

دستور dmraid -l تمامی قالب‌های ابرداده پشتیبانی‌شده را همراه با نام و برخی اطلاعات توصیفی فهرست می‌کند؛ برای نمونه:

hpt37x : (+) Highpoint HPT37X
hpt45x : (+) Highpoint HPT45X
isw    : (+) Intel Software RAID
lsi    : (0) LSI Logic MegaRAID
nvidia : (+) NVidia RAID
pdc    : (+) Promise FastTrack
sil    : (+) Silicon Image(tm) Medley(tm)
via    : (+) VIA Software RAID
dos    : (+) DOS partitions on SW RAIDs
(0): شناسایی (Discover), (+): شناسایی و فعال‌سازی (Discover+Activate)

دستور dmraid -ay تمامی مجموعه‌های RAID نرم‌افزاری کشف‌شده را فعال می‌کند.

دستور dmraid -an تمامی مجموعه‌های RAID نرم‌افزاری فعال را که باز نیستند (مانند مواردی که سیستم‌فایل روی آن‌ها سوار نشده است) غیرفعال می‌سازد.

دستور dmraid -ay -f pdc (که در آن pdc از طریق «dmraid -l» به دست آمده است) تمامی مجموعه‌های RAID نرم‌افزاری کشف‌شده با قالب Promise را فعال کرده و سایر قالب‌های پشتیبانی‌شده را نادیده می‌گیرد.

دستور dmraid -r تمام دستگاه‌های RAID نرم‌افزاری پشتیبانی‌شده در سیستم شما را شناسایی و فهرست می‌کند؛ برای نمونه:

/dev/dm-46: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0
/dev/dm-50: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0
/dev/dm-54: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0
/dev/dm-58: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0

دستور dmraid -s -s hpt45x_chidjhaiaa ویژگی‌های مجموعه «hpt45x_chidjhaiaa» را نمایش می‌دهد؛ برای نمونه:

*** Superset
name   : hpt45x_chidjhaiaa
size   : 640345856
stride : 128
type   : raid10
status : ok
subsets: 2
dev    : 4
spare  : 0
---> Subset
name   : hpt45x_chidjhaiaa-0
size   : 640345856
stride : 128
type   : stripe
status : ok
subsets: 0
dev    : 2
spare  : 0
---> Subset
name   : hpt45x_chidjhaiaa-1
size   : 640345856
stride : 128
type   : stripe
status : ok
subsets: 0
dev    : 2
spare  : 0

دستور dmraid -s -ccs hpt45 ویژگی‌های تمام مجموعه‌ها و زیرمجموعه‌ها با قالب *hpt45 را در قالب ستونی نمایش می‌دهد؛ برای نمونه:

hpt45x_chidjhaiaa,640345856,128,raid10,ok,4,0
hpt45x_chidjhaiaa-a,640345856,128,stripe,ok,2,0
hpt45x_chidjhaiaa-b,640345856,128,stripe,ok,2,0

دستور dmraid -r --sep : -cpath:size مسیرها و اندازه‌ها بر حسب سکتور را برای دستگاه‌های RAID در قالب ستونی و با استفاده از «:» به عنوان جداکننده نمایش می‌دهد؛ برای نمونه:

/dev/dm-8:320173055
/dev/dm-12:320173055
/dev/dm-22:320173055
/dev/dm-26:320173055
/dev/dm-30:586114703
/dev/dm-34:586114703
/dev/dm-38:586114703
/dev/dm-42:586114703
/dev/dm-46:156301487
/dev/dm-50:156301487
/dev/dm-54:390624896
/dev/dm-58:390624896
/dev/dm-62:390624896
/dev/dm-66:390624896

دستور dmraid -f isw -C Raid0 --type 0 --strip 8k --size 20g --disk "/dev/sdb /dev/sdc" یک حجم ISW با نام «Raid0»، با مجموع ظرفیت ۲۰ گیگابایت و اندازه نوار ۸ کیلوبایت روی دو دیسک ایجاد می‌کند.

دستور dmraid -f isw -C Test0 --type 0 --disk "/dev/sdd /dev/sde" یک حجم ISW با اندازه و اندازه نوار پیش‌فرض ایجاد می‌کند.

دستور dmraid -f isw -C Test10 --type 01 --strip 128B --disk "/dev/sda /dev/sdb /dev/sdc /dev/sdd" یک دستگاه RAID طبقه‌ای (stacked) از نوع RAID10 (قالب isw) با نام «Test10»، اندازه نوار ۱۲۸ بلوک (۵۱۲ بایتی) و اندازه پیش‌فرض روی ۴ دیسک ایجاد می‌کند.

دستور dmraid -f isw -S -M /dev/sde دستگاه ‎/dev/sde را به عنوان یک دیسک یدکی داغ (hot spare) برای بازسازی نشانه‌گذاری می‌کند.

دستور dmraid -R isw_djaggchdde_RAID1 /dev/sde عملیات بازسازی حجم RAID را بر روی دستگاه ‎/dev/sde آغاز می‌نماید.

دستور dmraid در صورت اجرای موفق، کد خروج 0 و در صورت بروز خطا کد 1 را بازمی‌گرداند.

dmevent_tool(8), dmsetup(8), mdadm(8)

هاینتس ماولسهاگن (Heinz Mauelshagen) <Mauelshagen@RedHat.com>

مه ۲۰۲۵ dmraid