در RAID5 داده بر روی چندین دیسک پخش می شوند که برای پیاده سازی آن حداقل سه دیسک نیاز است. مزیت RAID5 استفاده از Parity است که تحمل خطا را نسبت به RAID1 بالا تر می برد. در RAID5 سخت افزاری از گیت منطقی XOR استفاده می شود. می توانید برای آشنایی با RAID5 “معرفی RAID های سطح 0،1،5 و RAID های 01 و 10” را بخوانید. برای پیاده سازی آن به سه دیسک (sdb, sdc و sdd) نیاز داریم. از یک ماشین مجازی که سه دیسک به حجم 5 گیابایت را به آن اضافه کرده ایم، استفاده می کنیم.

کد PHP:
fdis -
برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux1.png نمایش ها:	1 اندازه:	40.6 KB شناسه:	18284

لازم است نخست بر روی آنها پارتیشن ایجاد کنیم. برای پارتیشن بندی نیز به صورت زیر عمل می کنیم.

کد PHP:
fdisk /dev/sdb

Press n 
->Press p -> Press Entet -> Press Enter -> Write +5000M  create partition size=5GB ->Press t -> Press w 
برای ایجاد یک پارتیشن 5 گیابایتی بر روی دیسک sdb نخست دستور fdisk /dev/sdb را اجرا کنید. سپس برای ایجاد یک پارتیشن حرف n را نوشته و Enter کنید. سپس حرف p برای ایجاد Primary Partition نوشته و Enter کنید. در خط بالا دو Press Enter پیاپی برای قبول کردن default است. سپس 5000M+ را برای ایجاد یک پارتیشن 5 گیابایتی بر روی آن نوشته و Enter کرده. حرف t را برای تغییر نوع پارتیشن استفاده کنید. هملنطور که در شکل بالا می بینید پس از t و Enter کردن، جلوی Hex Code کلمه fd که معرف Linux Riad است را وارد کنید و در نهایت w را برای write شدن تغییرات نوشته و Enter کنید. همین کار را برای دو دیسک دیگر نیز انجام دهید.

برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux2.png نمایش ها:	1 اندازه:	45.9 KB شناسه:	18285

حال با کمک از دستور partprobe جدول پارتیشن را بروزرسانی می کنیم.

کد PHP:
partprobe 
سپس دستور fdisk -l را اجرا کنید و خواهید دید که پارتیشن ها ایجاد شده اند.

کد PHP:
fdisk -
حال دستور زیر را اجرا کنید تا دیوایس های آماده شده به دیوایس dev/md5/ برای پیاده سازی RAID5 بر روی md5 اختصاص داده شود. شرح سوییچ های دستور زیر در مطلب مرتبط با دستور mdamd بیان شده است.

کد PHP:
mdadm –create /dev/md5 –level=5 –raid-devices=/dev/sdb1 /dev/sdc1 /dev/sdd1 
برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux3.png نمایش ها:	1 اندازه:	14.7 KB شناسه:	18286

با استفاده از دستور زیر می توانید جزییاتی از RAID و دیوایس را ببینید.

کد PHP:
mdadm –detail /dev/md5 
برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux5.png نمایش ها:	1 اندازه:	35.3 KB شناسه:	18287

پس از انجام تمامی گام های بالا یک دیوایس به نام md5 ایجاد شده است که به آن دو دیسک به نام های sdc1 و sdc2 اختصاص داده شده است. md0 یک virtual disk است که برای استفاده از آن باید بر روی آن سیستم فایل (مثلا ext3 یا ext4) ایجاد کرده و سپس آنرا بر روی یک دایرکتوری mount کرد.

کد PHP:
mkfs.ext3 /dev/md5 
OR

کد PHP:
mkfs.ext4 /dev/md5 
برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux6.png نمایش ها:	1 اندازه:	42.5 KB شناسه:	18288

در نهایت نوبت به متصل کردن آن بر روی یک دایرکتوری، مانند دایرکتوری raid5/ می رسد :

کد PHP:
mkdir /raid5 
کد PHP:
mount /dev/md5 /raid5 
از فایل mdstat زیر دایرکتوری proc/ می توانید وضعیت دیوایس را مشاهده کنید

کد PHP:
cat /proc/mdstat 
برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux7.png نمایش ها:	1 اندازه:	20.8 KB شناسه:	18289

همانطور که گفته شد RAID5 شامل تحمل خطاست و در صورتی که یک دیسک از سه دیسک از کار بی افتد بازهم می توان به اطلاعات دسترسی داشت. دایرکتوری raid5/ که دیوایس dev/md5/ را بر روی آن mount کردیم دو دیسک sdb1 و sdc1 و sdd1 را در غالب یک دیسک و آنهم dm5 می بیند و داده هایی که در آن ایجاد می کنیم (مانند فایل ها و غیره) در دو دیسک و بیت Parity در دیسک دیگر قرار می گیرند. حال اگر دیسک sdb1 از کار بی افتد بازهم به اطلاعات دایرکتوری raid5/ از طریق دیسک قابل دسترسی است. با دستور زیر دیسک sdc1 را از مجموعه ی RAID1 خارج می کنیم (به نوعی آنرا fail می کنیم)

کد PHP:
mdadm /dev/md5 –fail /dev/sdb1 
کد PHP:
mdadm –detail /dev/md5 
برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	configureraid5onlinux8.png نمایش ها:	1 اندازه:	42.2 KB شناسه:	18290

همانطور که می بینید با وجود اینکه یکی از سه دیسک دیگر در دسترس نیست اما با هم می توان به داده های دایرکتوری raid5/ دسترسی داشت.


نویسنده نامی امیر