استفاده از چندین دیسک سخت در جهت بالابردن کیفیت و اطمینان
مقدمه :
حدود سالهای 1361- 1360 هجری شمسی سیستمهای کامپیوتری با افزایش حجم اطلاعات روبرو شدند لذا نیاز به سرویسدهی وذخیرهسازی بهتر اطلاعات احساس شد. تکنولوژی ذخیرهسازی گرانتر میشد ولی همچنان نیاز به ذخیرهسازی وجود داشت و ذخیرهسازی اطلاعات روی دیسکهای سخت سرورها مقرون به صرفه نبود. راه حلی مورد نیاز بود تا بتوان وضعیت را بهبود داد و دقیقاً در این زمان بود که سیستم Raid متولد شد.
به راستی RAID چیست؟ RAID از واژه Redundant Array of Inexpensive Disks به معنای دیسکهای ارزان قیمتی است که در یک صف یا آرایه قرار میگیرند میباشد. در این سیستم چندین دیسک سخت با هم طبق قاعدهای خاص مرتبط شده و ظرفیت بالایی از ذخیرهسازی را با کیفیت بالا میسازد. در واقع ظرفیت ذخیرهسازی و قابل اطمینان بودن از مشخصههای بارز سیستم ذخیرهسازی جدید هستند. روش جدید ذخیرهسازی در شبکههای بزرگ و بازار سرورهای استاندارد مورد استفاده قرار گرفت و در پنج سال گذشته این سیستم نزد کاربران متداول تر شد.
فایده های RAID
سه دلیل اصلی استفاده از RAID عبارتند از :
•افزونگی
•بالابردن کیفیت
•هزینه پایین تر
افزونگی یا Redundancy مهمترین دلیل استفاده از RAID در سرورها میباشد که درواقع نسخه پشتیبانی از اطلاعات است که در هنگام آسیب رسیدن به اطلاعات مورد استفاده قرار میگیرد. اگر یکی از درایوها در یک آرایه از هارد دیسکها آسیب ببیند و خطا دهد سیستم با تکیه بر درایوهای دیگر اقدام به بازیابی و تعمیر خود به صورت آنلاین مینماید (Hot Swappable) . روش افزونگی متناسب با نوع RAID متفاوت است.
بالا رفتن کیفیت تنها زمانی حاصل میشود که از نسخه خاصی از RAID استفاده شود. همچنین کیفیت به تعداد درایوهایی که در یک آرایه (Array) هستند و به کنترلر آنها وابسته است.
اغلب مدیران IT تمایلی به صرف هزینههای زیاد جهت ارتقای سیستم ندارند. زمانی که روش RAID عرضه شد، هزینهها نیز مورد توجه قرار گرفت. هزینه استفاده از چندین دیسک سخت ظرفیت پایین به مراتب پایینتر از یک دیسک سخت با ظرفیت بالا بود و همین امر یکی دیگر از مزایای RAID است.
به طور معمول سه فرم از RAID ها در سیستمهای کامپیوتری مورد استفاده قرار میگیرند یعنی RAID0 ، RAID 1و RAID 5 . در بیشتر موارد تنها دوتای اول قابل پیادهسازی هستند و درواقع یکی از آن ها از لحاظ فنی RAID نمیباشد.
RAID0
پایین ترین سطح قابل استفاده RAID ، سطح صفر یا LEVEL0 میباشد که در واقع نسخه صحیحی از RAID نمیباشد. درصورتیکه یکی از درایوها دچار مشکل شود کلیه اطلاعات آسیب خواهند دید. Raid0 از روشی به نام Striping استفاده میکندStriping یک تکه از اطلاعات را (مانند یک تصویر گرافیکی) برداشته و در درایوها پخش میکند. از فایده های Strip ، ارتقاء کیفیت است. دو برابر حجم اطلاعات قابلیت کپی شدن روی دو درایو در زمان مشخص هستند. در زیر مثالی از نحوه کپی شدن اطلاعات در RAID0 آورده شده است.
در جدول زیر هر ردیف نمایانگر یک بلوک از اطلاعات روی درایو است و هر ستون یک درایو مستقل را نشان میدهد. عددها نمایانگر بلوکهایی داده هستند.
از اینرو درصورتیکه شش بلوک از اطلاعات تشکیلدهنده یک فایل اطلاعاتی باشند میتوانند با سرعتی بیشتر از یک درایو از روی درایوها خوانده شوند. هر درایو که به صورت موازی کار میکند تنها میتواند سه بلوک فیزیکی را بخواند و اگر درایوی خطا بدهد و قابل دسترس نباشد اطلاعات ما دیگر قابل دسترسی نخواهد بود. برای داشتن یک فایل نیازمند همه بلوکهای اطلاعاتی هستیم. فایده این روش بالا بردن کیفیت ذخیرهسازی و همچنین ظرفیت بالای ذخیرهسازی اطلاعات خواهد بود. عدم داشتن نسخه جایگزین اطلاعات از مشکلات این روش است.
RAID 1
نسخه RAID1 اولین پیادهسازی واقعی RAID به شمار میرود و نمونه سادهای از جایگزینی Redundancy به نام mirroring میباشد. این مدل به دو درایو با ظرفیتهای یکسان نیاز دارد. یکی از درایوها فعال است و درایو دیگر Mirror میباشد. وقتی اطلاعات روی درایو فعال نوشته میشود همان اطلاعات روی درایو mirror هم کپی میشود.
در زیر نمونه ای از نحوه نوشته شدن اطلاعات را در RAID1 مشاهده میکنید.
اگر یکی از درایوها از کار بیفتد درایو بعدی هنوز کل اطلاعات موجود در سیستم را در خود ذخیره دارد. بزرگترین عیب این مدل داشتن دو درایو با ظرفیت یکی از آنهاست و آن بدین معناست که ظرفیت واقعی حاصل جمع ظرفیت دو درایو استفاده شده جهت ذخیرهسازی اطلاعات نیست و نیمی از این ظرفیت برای تهیه نسخه پشتیان مورد استفاده قرار میگیرد. فایده این مدل پیادهسازی Full redundancy در سیستم است و عیوب آن عبارتند از :
•ظرفیت ذخیرهسازی به بزرگی ظرفیت کمترین درایو است.
•کیفیت ذخیرهسازی بالا نمیرود.
•برای عوض کردن درایو فعال در صورت بروز مشکل مجبور به قطعی موقت هستیم.
RAID 0+1
این مدل مخلوطی از دو مدل RAID گذشته است و تولید کنندگان سعی کرده اند تا فایدههای دو مدل قبلی را در یک مدل پیادهسازی کنند. در این سیستم حداقل چهار درایو دیسک سخت مورد نیاز است تا بتوان روش های Striping و Mirroring را مخلوط کرد و به کیفیت بالاتر ذخیرهسازی همراه با Redundancy رسید. جفت اول درایوها میتوانند فعال بوده و اطلاعات را مانند RAID0 ذخیره کنند. جفت درایو دوم در واقع کپی از اطلاعات دو درایو اول هستند.
در زیر نمونه پیادهسازی این مدل آمده است :
در این مدل اطلاعات روی درایوهای مختلف ذخیره میشوند و این در حالی است که در همان زمان یک نسخه از هر بلوک روی درایوهایی دیگر کپی میشود. این مدل باعث افزایش کیفیت شده و زمان نوشتهشدن اطلاعات را کاهش میدهد. همچنین اصل Redundancy نیز در آن رعایت میشود. بزرگترین مشکل این مدل هزینه زیاد برای پیادهسازی آن است زیرا حداقل به چهار درایو دیسک سخت نیاز است. پس به طور کلی بالارفتن کارایی و کیفیت ذخیرهسازی و همچنین داشتن یک Redundancy کامل از اطلاعات از مزایای این مدل میباشد. کم شدن ظرفیت موثر ذخیرهسازی و همچنین نیاز به داشتن تعداد زیادی گرداننده دیسک سخت از معایب این سیستم محسوب میشود.
RAID 10 or 1+0
RAID10 بسیار شبیه به RAID 0+1 میباشد با این تفاوت که تقسیم بلوکهای اطلاعات بین زوج درایوها انجام میشود و عملیات Mirroring در هر زوج از درایوها صورت میگیرد، یعنی درایو یک و درایو دو RAID1 شده و Mirror هستند. درایو سه و درایو چهار نیز mirror یکدیگر هستند. این دو مجموعه درایو به صورت Strip تنظیم شده و با هم کار میکنند.
مثال زیر نحوه نوشته شدن اطلاعات در مدل RAID10 را نشان میدهد.
RAID10 نیز همانند RAID0+1، حداقل نیاز به چهار دیسک سخت دارد. کارایی تقریباً مانند RAID0+1 است اما حفاظت از اطلاعات کمی بهتر انجام میشود. بالارفتن کارایی و کیفیت ذخیرهسازی و همچنین داشتن Redundancy کامل اطلاعات از مزایای این مدل میباشد. کم شدن ظرفیت مؤثر ذخیرهسازی و همچنین نیاز به داشتن تعداد زیاد گرداننده دیسک سخت از معایب این سیستم محسوب میشود.
RAID 5
قدرتمندترین مدل RAID در کامپیوترهای Desktop به کار گرفته میشود. به طور کلی این متد نیز نیازمند کارت کنترلر جهت مدیریت آرایه میباشد اما برخی از سیستم عاملهای کامپیوترهای رومیزی نیز میتوانند RAID را ایجاد کنند. این روش از روش Stripping با قابلیت ایجاد Parity در جهت ایجاد Redundancy اطلاعات استفاده میکند. حداقل سه گرداننده دیسک سخت برای ایجاد آرایه Raid5 مورد نیاز است. برای بالابردن کارایی ، هم ظرفیت بودن آن ها توصیه میشود.
Parity یا زوجیت حاصل از فرمولی ریاضی است که دو بلوک از اطلاعات را مقایسه کرده و بلوکی جدید حاصل از دو بلوک اول ایجاد میکند. ساده ترین راه برای توضیح آن زوج یا فرد بودن است. اگر مجموع دو بلوک زوج باشد پس بیت Parity نیز زوج خواهد شد و اگر مجموع دو بلوک فرد باشد بیت Parity نیز فرد خواهد شد. بنابراین 0+0 و 1+1 هردو برابر 0 خواهند شد و در 1+0 یا 0+1 برابر یک خواهد شد. منطبق بر این مدل ریاصی باینری درصورت مشکل در یک درایو (در یک آرایه) این امکان وجود دارد که با بیت Parity بتوان اطلاعات را بازیابی کرد.
حال مثالی از RAID5 را مرور میکنیم. در جدول زیر هر سطر نمایانگر بلوک فیزیکی درایو خواهد بود و هر ستون یک درایو مستقل است. شماره ها نشاندهنده بلوک های اطلاعات هستند. تکرار شماره ها نیز نشانگر تکرار بلوک اطلاعاتی خواهد بود. در این جدول “P” بیت Parity را برای دو بلوک اطلاعاتی نشان میدهد.
بیت Parity در درایوهای مختلف کپی شده است. در این روش به دلیل وجود چندین درایو ، سرعت نوشتن اطلاعات بالاتر میرود لذا کارایی در این حالت بالاتر رفته است. همچنین اطلاعات به دلیل وجود بیت Parity کاملا Redundant هستند.
درصورت وجود خطا در درایو شماره دو ، اطلاعات به دلیل وجود بیت Parity و قسمتی از اطلاعات در درایو دیگر قابل بازیابی هستند. ظرفیت ذخیرهسازی به دلیل ایجاد Parity تا حدودی کاهش مییابد. ظرفیت آرایه منطبق بر فرمول زیر کاهش مییابد. در این فرمول n تعداد درایوها و z نمایانگر ظرفیت آن هاست.
(n-1)z = Array Capacity
به طور مثال درصورتی که سه درایو 500 GB داشته باشیم حجم کلی موثر قابل استفاده معادل (3-1)x500GB یا 1000GB خواهد شد.
سخت افزار RAID5 همچنین میتواند تابعی به نام Hot Swap را پشتیبانی کند و آن بدین صورت است که میتوان در حالی که سیستم در حال کار است درایو جدیدی را به مجموعه درایوهای آرایه اضافه کنیم و یا اینکه در صورت آسیب دیدن یکی از درایوها ، آن را با درایو سالم تعویض کنیم. بدیهی است برای بازیابی اطلاعات آرایه زمان مورد نیاز است. با توجه به موارد فوق مزایا و عیوب این مدل عبارتند از :
مزایا:
•بالابردن کارایی آرایه
•Redundancy کامل
•همیشه بالا بودن سیستم
عیوب:
•هزینه بالای پیادهسازی
•کاهش کارایی در هنگام بازیابی
RAID سختافزاری یا نرمافزاری :
جهت پیادهسازی RAID نیاز به سیستم عامل و یا سختافزاری است که بتواند جریان اطلاعات را از سیستم کامپیوتر به آرایهای از درایوها هدایت کند. در راستای پیادهسازی نرمافزاری، بخشی از قدرت پردازش پردازنده به طور مستقل به RAID اختصاص خواهد یافت.
پیادهسازی نرمافزاری مقرون به صرفهتر خواهد بود زیرا تمام آنچه که باید هزینه شود خرید دیسک سخت خواهد بود. مشکل پیادهسازی نرمافزاری کیفیت آن است. به طور کلی کیفیت این روش کاملاً وابسته به پردازنده، حافظه، درایوها و مدل RAID ای است که استفاده میشود.
RAIDسختافزاری به دلیل وجود مدار الکترونیکی اختصاصی و پردازش RAID مستقل از پردازنده اصلی سیستم مفیدتر است. این مدل بهترین کیفیت را برای پیادهسازی RAID در یک آرایه درایو ارائه میدهد. بزرگترین مشکل RAID سختافزاری هزینه زیاد آن است.
انتخاب گرداننده دیسک سخت مناسب:
کیفیت پیادهسازی RAID کاملاً وابسته به کیفیت درایوهایی خواهد بود که در یک آرایه مورد استفاده قرار میگیرند. برای داشتن بهترین نتیجه، کلیه دیسکهای سخت باید از یک برند و هم ظرفیت باشند و آن به این معناست که کلیه درایوها دارای کیفیت و ظرفیت یکسان هستند.
ظرفیت یک آرایه RAID وابسته به روشی است که انتخاب میکنیم. در RAID0 عملیات Striping تنها قابل پیادهسازی روی ظرفیتی یکسان از دو دیسک سخت خواهد بود. به طور مثال درصورتی که از دو دیسک سخت با ظرفیت های 80GB و 100GB استفاده شود ظرفیت نهایی 160GB خواهد بود. در RAID1 ، اطلاعات روی ظرفیت کمتر Mirror خواهند شد. از این رو اگر دو دیسک سخت فوق را در نظر بگیریم، ظرفیت مؤثر 80GB خواهد بود. RAID5 به دلیل وجود فرمول ریاضی کمیپیچیدهتر است. در این حالت کمترین ظرفیت مورد استفاده قرار خواهد گرفت. درصورتی که دارای دیسکهای سخت 80GB، 100GB و 120GB باشیم ظرفیت نهایی 160GB خواهد بود. همچنین کیفیت آرایه به درایوها بستگی خواهد داشت.
جمع بندی :
با توجه به مطالبی که مطالعه کردید کلیه RAIDها منطبق بر نیاز سازمان و تامین شرایط اولیه سخت افزاری قابل پیادهسازی هستند. بسیاری از مشتریان به دلیل بالا بودن کیفیت RAID0 ، آن را برای پیادهسازی ترجیح میدهند. همچنین بیشتر سیستمهای کامپیوتری تنها از RAID0 یا 1 پشتیبانی میکنند. پیادهسازی RAID0+1 یا RAID5 مستلزم هزینه بالا است و لذا بیشتر در شبکههای بزرگ و سرورهای اصلی مورد استفاده قرار میگیرد.