منبع اصلی نوشتار زیر در این لینک قرار دارد

پیاده سازی RAID5 در لینوکس

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

fdis -l

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

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 کنید. همین کار را برای دو دیسک دیگر نیز انجام دهید.

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

partprobe

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

fdisk -l

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

mdadm –create /dev/md5 –level=5 –raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

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

mdadm –detail /dev/md5

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

mkfs.ext3 /dev/md5

OR

mkfs.ext4 /dev/md5

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

mkdir /raid5

mount /dev/md5 /raid5

از فایل mdstat زیر دایرکتوری proc/ می توانید وضعیت دیوایس را مشاهده کنید

cat /proc/mdstat

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

mdadm /dev/md5 –fail /dev/sdb1

mdadm –detail /dev/md5

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



برچسب ها : , , , , , ,

به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد