RAID چیست؟
هدف اصلی معماری آرایه چندگانه دیسکهای مستقل که در اصطلاح رایج به آن رید (RAID) گفته میشود، اتصال چند دیسک سخت جداگانه در چارچوب یک آرایه برای دستیابی به عملکرد و پایایی بهتر و گنجایشی بیش از یک دیسک بزرگ و گران است. بهعلاوه تمامی این دیسکهای سخت برای سیستمعامل میزبان در نقش یک دیسک سخت بزرگ ظاهر میشوند. به بیان سادهتر، رید را باید شبیه به یک فناوری مجازیساز ذخیرهسازی دادهها در نظر بگیریم. مکانیزم عملکردی رید به این شکل است که اطلاعات را روی چند دیسک سخت قرار میدهد تا عملیات ورودی و خروجی با یک همپوشانی متعادل انجام شود تا عملکرد بهبود پیدا کرده و مشکلی از بابت از دست رفتن اطلاعات به وجود نیاید. بهعلاوه، با توجه به اینکه استفاده از چند دیسک سخت، مدت زمان میانگین تا خرابی (Mean Time Between Failure) دیسکها را افزایش میدهد، آستانه تحمل خطا را بهبود میبخشد که نقش مهمی در تداوم عملیات تجاری دارد. آستانه تحمل خطا به تعداد دیسکهای سختی که در زمان کار سیستم میتوانند با مشکل روبرو شوند بدون اینکه اطلاعات از دست بروند، اشاره دارد.
فناوری رید دارای سطحبندیهای مختلفی است که هر چه سطوح افزایش پیدا کند، میتوان به مزایای بهتری مثل افزایش عملکرد و بهبود امنیت دست پیدا کرد، با اینحال مشکلی که وجود دارد این است که سطوح بالاتر پیچیدگیهای خاص خود را دارند. یکی از مهمترین کاربردهای این فناوری در ارتباط با وبسرورها است که عملکرد و سرعت پردازش وبسرورها را بهبود میبخشد.
RAID چگونه پیادهسازی میشود؟
عملیات RAID کردن دیسکهای سخت در سطوح ابتدایی پیچیدگی خاصی ندارد و از طریق محیط ویندوز و پنجره Disk Management انجام میشود. در سطوح پیشرفتهتر این فرایند از طریق کارترهای HBA انجام میشود. مهمترین نکتهای که باید در ارتباط با پیکربندی به آن دقت کنید ساختار کلی RAID است که دیسکهای سخت بر مبنای آن کار میکنند. همانگونه که اشاره شد، حالت ابتدایی RAID در ویندوز و در پنجره Disk Management انجام میشود. در این حالت وضعیت دیسکهای سخت به پویا (Dynamic) تغییر پیدا میکند و در ادامه دیسکهای سخت به شکل رید پیکربندی میشوند. در این روش دو حالت Strip و Spanned به عنوان حالتهای رید در دسترس قرار دارند. نکته مهمی که باید در روش فوق به آن دقت کنید این است که هرگونه تغییر ناخواسته در معماری پویا و پیکربندی رید باعث از دست رفتن اطلاعات میشود. بهطور کلی، معماری رید با هدف افزایش قابلیت اطمینان و افزایش عملکرد فرایندهای ورودی و خروجی انجام میشود.
انواع حالتهای RAID
رید در نقطه مقابل فناوری خوشهای از دیسکها JBOD سرنام Just a Bunch Of Disks یا Just a Bunch Of Drives قرار دارد. در معماری JBOD دیسکهای سخت در کنار یکدیگر قرار میگیرند و هیچ تعاملی با یکدیگر ندارند. در واقع JBOD به خوشهای از دیسکهای سخت گفته میشود که به عنوان رید در یک Storage پیکربندی نشدهاند و به شکل ساده استفاده میشوند. رید در مقایسه با فناوری JBOD از سه ویژگی مهم Mirroring، Striping و Error correction استفاده میکند.
قرینهسازی (Mirroring)
قرینهسازی به این معنا است که دادهها در بیش از یک دیسک نوشته شوند. بهطور مثال قرینهسازی آرایه در سطح RAID1 شامل دو دیسک است که هر دو محتوای یکسانی دارند. هنگامی که برای دیسک اول مشکلی ایجاد شود، عملیات خواندن و نوشتن بهشکل مستقیم روی دیسک دوم انجام میشود. عملیات خواندن در آرایههای قرینه شده در مقایسه با دیسک تنها به دلیل اینکه سیستم، دادهها را از چند دیسک و در یک زمان میخواند سریعتر است. البته عملیات نوشتن کندتر از خواندن است، زیرا دادهها باید در چند دیسک به جای یک دیسک نوشته شوند، با اینحال، بازسازی آرایه دیسکهای قرینه شده ساده است، بهطوری که دادهها از دیسک سالم به دیسک جدید کپی میشوند. البته دقت کنید در مدت زمان بازسازی فرایند خواندن کمی با افت سرعت روبرو میشود، زیرا عملیات تنها روی یک دیسک انجام میشود.
نواربندی (Striping)
نواربندی به عملیات تفکیک دادهها از چند دیسک اشاره دارد. بهطور مثال، آرایه RAID 0 دادهها را در دو دیسک قرار میدهد که تنها عملکرد بهبود پیدا میکند. عملیات خواندن و نوشتن در معماری نواربندی شده در مقایسه با دیسکهای تکی سریعتر است. بهطور کلی، تکنیک نواربندی (striping)، دادهها را روی چند دیسک سخت پخش میکند تا بار کاری روی دیسکها تقسیم شود.
تصحیح خطا (Error Correction)
دادهها با روشی که به آنها اجازه یافتن و احتمال تصحیح مشکلات را میدهد روی دیسک ذخیرهسازی میشوند. عملکرد فوق تا حدودی شبیه به حالت تصحیح خطا در حافظههای اصلی سرورها است. RAID5 چنین سطحی از پایداری در برابر مشکلات را ارایه میکند تا آرایه توانایی تصحیح خطا را داشته باشد. بهطور مثال، آرایه RAID5 از سه نوار داده در دو دیسک اول تشکیل یافته و توازن (parity) در دیسک سومی قرار میگیرد. مکانیزم تصحیح خطا تا حدودی عملکرد را به ویژه در عملیات نوشتن کم میکند، زیرا اطلاعات و دادههای توازن باید همزمان نوشته شوند. در مجموع معماری رید مورد استفاده برای محافظت از دادهها و دستیابی به عملکرد مطلوب به سروری که انتخاب میکنید بستگی دارد.
معماری پخش دادهها روی دیسکهای رید شده
خوشهای از دیسکهای سخت که تحت مدیریت رید کنترلر کار میکنند بهنام دیسکهای سخت مجازی نامیده میشوند. سروری که به یک فضای ذخیرهسازی رید میرسد، تنها یک دیسک سخت مجازی را مشاهده میکند، به دلیل اینکه کنترلر رید دادهها را روی چند دیسک سخت فیزیکی پخش کرده و این موضوع از دید سرور پنهان است و تنها سرپرست شبکه قادر به مشاهده این موضوع است. یک ریدکنترلر با روشهای گوناگونی میتواند دادههایی که یک سرور روی چند دیسک سخت مینویسد را پخش نماید. در این حالت اگر یک دیسک سخت آسیب ببیند، دادههای آنرا میتوان از دیگر دیسکهای سخت خوشه بازسازی کرد. در صورت وجود سختافزار مناسب، حتی میتوان در مدت زمان کار، دیسکهای سخت آسیبدیده را با نمونه سالم تعویض کرد. در این حالت، ریدکنترلر، دادههای دیسک تعویض شده را بازسازی میکند. این فرایند، باعث افت نسبی عملکرد میشود، اما بازهم سرور از این نکته مطلع نمیشود، زیرا پیوسته در حال کار با یک دیسک سخت مجازی است. رید کنترلرهای پیشرفته این فرایند را بهطور خودکار انجام میدهند. البته برای دستیابی به چنین قابلیتی، سرور و دیسکهای سخت باید از معماری Hot pluggable و hot spare پشتیبانی کند. بازسازی دادهها از یک دیسک سخت آسیب دیده، همزمان با پردازش خواندن/ نوشتن سرور روی دیسک سخت مجازی انجام میگیرد، بهطوری که از دید سرور، یک افت کوچک در عملکرد به وجود آمده است. خوشبختانه دیسکهای سخت پیشرفته، مجهز به برنامههای شناسایی هستند که خطاهای خواندن/ نوشتن را به سرور گزارش میدهند.
انواع RAID
فناوری RAID دارای سطوح مختلفی است که هر یک قابلیتهای خاص خود را ارایه میکنند. هنگامی که از چند دیسک سخت بهشکل یک دیسک مجازی استفاده میکنید به ظرفیت بیشتری دست پیدا میکنید و آدرسهای کمتری در هنگام خواندن و نوشتن اطلاعات استفاده میشوند، در این حالت مدیریت سرور سادهتر میشود، زیرا تمامی دیسکهای سخت در قالب یک دیسک مجازی در دسترس سرور قرار میگیرند. نکته مهمی که باید در این زمینه به آن دقت کنید سطوح مختلفی از رید قابل استفاده است. این سطوح به شرح زیر هستند:
- RAID 0: یک مکانیزم ابتدایی ارایه میکند که فاقد قابلیتهای قرینهسازی و نوارکشی است. در معماری فوق، اطلاعات بین همه درایوها توزیع میشود و خرابی هر درایو باعث میشود کل حجم RAID 0 و فایلها از دست بروند. اگر در Disk Management سیستمعامل ویندوز دو دیسک را با هم بهشکل پویا یا نواری متصل کنید از RAID 0 استفاده کردهاید. در معماری فوق دیسکهای سخت بدون دیسک پشتیبان و جایگزین بهشکل متوالی به هم متصل میشوند. از مزایای معماری فوق باید به سرعت زیاد و قابلیت استفاده از تمام ظرفیت دیسک اشاره کرد. در معماری فوق حداقل به دو دیسک سخت روی سامانه یا یک فضای ذخیرهسازی مثل NAS نیاز است. شکل چهار معماری فوق را نشان میدهد.
- RAID 1: یکی از ایمنترین سطوح قابل استفاده با سرورها است. در معماری فوق باید تعداد دیسکهای سخت روی سیستم یا Storage زوج باشند، زیرا نیمی از ظرفیت دیسکهای سخت رزرو شده و تنها از نیمی از ظرفیت واقعی دیسک سخت استفاده میشود. در معماری فوق هر زمان یک فایل روی دیسک سخت نوشته میشود همزمان یک کپی روی دیسک سخت پشتیبان نوشته میشود. البته معماری فوق معایب خاص خود را دارد، به دلیل اینکه فرایند نوشتن تکرار میشود، سرعت کاهش پیدا میکند، اما اگر به هر دلیلی دیسک سختی بهطور کامل از دست برود، دیسک سخت پشتیبان دستگاه قابل استفاده بوده و دسترسی به اطلاعات را فراهم میکند. معماری فوق در مراکز دادهای که مقوله امنیت در آنها اهمیت زیادی دارد و دسترسی مستمر به اطلاعات نیاز است مفید است. برای پیادهسازی این رید محدودیتی در انتخاب دیسکهای سخت ندارید، البته اگر سرعت چرخش دیسک سخت بیشتر باشد، سرعت نوشتن کمی بیشتر میشود.
- RAID 2: شامل لایهبندی سطحی بیت با برابری کد اختصاصی Hamming است. در معماری فوق تمام چرخش دوک دیسک همگامسازی شده و دادهها به شکل ضربدری ذخیره میشوند، بهگونهای که هر بیت متوالی در درایو دیگری نیز قرار دارد. در رید سطح دو کد اختصاصی Hamming با هدف تصحیح خطاها استفاده میشود. این رید از نواربندی در دیسکها برای تامین امنیت داده و محافظت از اطلاعات در برابر خرابیها استفاده میکند. این سطح از رید به دلیل هزینه بالا و پیادهسازی پیچیده به ندرت استفاده میشود و در گروه ریدهای غیراستاندارد قرار میگیرد.
- RAID 3: این رید نیز مبتنی بر معماری نواربندی اطلاعات است و از یک هارد دیسک سخت برای ذخیرهسازی اطلاعات توازن استفاده میکند. در معماری فوق نیز از فناوری ECC برای تشخیص خطا استفاده میشود و بازهم تمام چرخش دوک دیسک همگامسازی شده و دادهها بهشکل ضربدری روی دیسکها قرار میگیرند. بهگونهای که هر بایت متوالی در درایو دیگری نیز قرار دارد، اما توازن در بایتها محاسبه و روی دیسک سخت دیگری ذخیرهسازی میشود. این رید نیز همانند رید سطح 2 به ندرت استفاده میشود. شکل هفت معماری این رید را نشان میدهد.
- RAID 4: این سطح نیز شباهت زیادی به RAID 3 دارد با این تفاوت که از الگوی اشتراکگذاری متفاوتی برای دادهها استفاده میکند. در رید فوق از نوارهای بزرگتری استفاده میشود، بهگونهای که میتوانید هر رکوردی را از هر درایوی بخوانید. این سطح عملکرد سامانه در دستیابی به اطلاعات را بهبود میبخشد. برای پیادهسازی و پیکربندی کامل این سطح حداقل به سه دیسک نیاز دارید. شکل هشت معماری این سطح را نشان میدهد.
- RAID 5: در رید 5 حداقل به سه دیسک سخت نیاز است و همانند رید1 اطلاعات بهشکل قرینه روی دیسکها ذخیره میشوند. بهعلاوه، یک کد توازن در دیسکها با هدف بهبود عملکرد قرار میگیرد تا هر زمان اطلاعات از دست رفت، توسط بیت توازن فرایند بازیابی اطلاعات از دیسکهای دیگر انجام شود. در مقایسه با رید 1 این سطح، سرعت کمتری در نوشتن اطلاعات دارد، زیرا ریدکنترلر باید زمانی را صرف نوشتن اطلاعات توازن کند. رید سطح 5 پر استفادهترین معماری به کار گرفته شده در تعامل با سرورها و Storageها است. علاوه بر این، امکان بهکارگیری آن روی ایستگاههای کاری، کامپیوترهای خانگی و اداری نیز وجود دارد. شکل نه معماری فوق را نشان میدهد. سرپرستان شبکه میتوانند همراه با این سطح از رید از نوع خاصی از دیسکها بهنام دیسکهای Hot spare به عنوان پشتیبانی برای آرایه رید استفاده کنند. این دیسکها بهشکل فیزیکی در کلاستر نصب میشوند و مادامی که دیسکهای فعال خراب نشوند، در وضعیت غیر فعال قرار میگیرند. هنگامی که درایوی دچار مشکل شود، ریدکنترلر بهشکل خودکار درایوهای خراب را با دیسک spare تعویض میکند و فرایند بازطراحی مجدد کلاستر را آغاز میکند. از مزایای شاخص این رید باید به عملکرد مطلوب اشاره کرد، بهطوری که عملیات خواندن و نوشتن روی دیسکهای سخت توزیع میشود، رایجترین نوع رید است و میتواند با RAID 0 ترکیب یا جایگزین RAID 0 شود، امنترین نوع رید است، قابلیت اطمینان و افزونگی خوبی دارد، سرعت خوبی دارد، توجیه اقتصادی دارد، نسبت به RAID 1 و RAID 10 فضای ذخیرهسازی بیشتری ارایه میکند، نسبت به RAID 1 سرعت نوشتن بیشتری دارد، به حداقل سه دیسک سخت نیاز دارد، اما محدودیتی در حداکثر تعداد دیسکهای سخت وجود ندارد و از ویژگی تعویض گرم (Hot Swapped) پشتیبانی میکند تا اگر دیسک سختی خراب شد، بدون خاموش کردن سرور امکان تعویض دیسک معیوب وجود داشته باشد.
- RAID 6: این سطح عملکردی شبیه به رید 5 دارد، با این تفاوت که تعداد دیسکهای سخت رزرو آفلاین به دو عدد افزایش پیدا کرده است. این کار ضریب امنیت در این سطح را بیشتر از سطح 5 میکند. رید سطح 6 یک نسل پیشرفتهتر از رید سطح 5 است و به همین دلیل امنیت و سرعت عملکرد بهتری نسبت به رید 5 دارد.
- RAID 10: این سطح ترکیبی از RAID 0 و RAID 1 است یا به عبارت دقیقتر، RAID 1+0 است. RAID 10 به نسبت RAID 1 عملکرد بهتر و هزینه بیشتری دارد. اطلاعات در RAID 10 قرینه و ذخیرهسازی میشوند. بزرگترین عیبی که معماری فوق دارد این است که نیمی از ظرفیت دیسک سخت برای تامین امنیت دادهها از دست میرود. برای پیادهسازی رید 10 حداقل 4 دیسک سخت نیاز است. عملکرد معماری فوق به این صورت است که دادهها را بین دیسکهای سخت قرینه کرده و بهشکل نواری توزیع میکند. مادامی که یک دیسک سخت از هر جفت دیسک آینهای شده، فعال باشد اطلاعات قابل بازیابی هستند، با اینحال، اگر هر دو دیسک از یک جفت قرینه خراب شوند، اطلاعات به دلیل عدم وجود بیت توازن (Parity) در دسترس نخواهند بود. سرعت دسترسی به اطلاعات در این سطح به نسبت RAID 5 و RAID 6 کمتر است.
- RAID 50: در معماری فوق از ترکیب دو سطح RAID 0 و RAID 5 استفاده میشود. در برخی از تجهیزات ذخیرهساز رایج، تنها تعداد محدودی از دیسکها را میتوان بر مبنای رید 5 استفاده کرد. این مشکل در رید 50 تا حدودی برطرف شده است. این رید حداقل به 6 دیسک سخت نیاز دارد و برای سیستمهایی که عملیات نوشتن زیادی روی دیسکهای سخت دارند مناسب است. این سطح از رید، قابلیت بازیابی بهتری نسبت به RAID 5 ارایه میکند و عملکرد بهتری نسبت به RAID 5 دارد. آستانه تحمل خطا در این رید برابر با 4 است. به عبارت دیگر، اگر از هر زیرمجموعه آرایه، یک درایو خراب شود، آستانه خطا برابر با 2 است و 4 درایو فعال داریم، بدون اینکه اطلاعاتی از دست برود، اما اگر از هر زیرمجموعه آرایه دو درایو خراب شوند، اطلاعات از دست میروند. برای پیادهسازی این سطح از رید به کنترلر سختافزاری پیشرفتهای نیاز است که یکی از معایب بزرگ این رید به شمار میرود. سازمانها از این سطح رید، هنگامی استفاده میکنند که اطلاعات مهمی دارند و مقوله امنیت برای آنها اهمیت زیادی دارد.
- RAID 60: این سطح از رید ترکیبی از RAID 0 و RAID 6 است. در رید 60 اطلاعات بین دو گروه دیسک سخت RAID 6 بهشکل نواری توزیع میشوند. برای راهاندازی RAID 60 حداقل به 8 عدد دیسک سخت نیاز است. در رید فوق اگر سامانه دچار مشکل شود، بازهم قادر به ادامه کار است.
مزایای بهکارگیری RAID چیست؟
بهطور معمول، سازمانها برای دستیابی به افزونگی و بهبود عملکرد سامانه از رید برای ذخیرهسازی اطلاعات استفاده میکنند. رید به دلیل اینکه گزینههای خوبی در ارتباط با بازیابی اطلاعات ارایه میکند و آستانه تحمل خطا خوبی در اختیار شرکتها قرار میدهد تا بتوانند فعالیتهای تجاری را بهشکل مستمر ادامه دهند مورد استفاده قرار میگیرد. در این حالت اگر یک دیسک سخت دچار مشکل شود، سیستم میتواند کار سرویسدهی را ادامه دهد. بهعلاوه، بهکارگیری فناوری رید باعث میشود روی بیش از یک عدد دیسک سخت، عملیات خواندن و نوشتن انجام شود که افزایش عملکرد را به همراه دارد، در حالی که سیستمعامل تمامی دیسکهای سخت را به عنوان یک دیسک واحد شناسایی میکند.
معایب استفاده از RAID
با اینحال، فناوری رید معایب خاص خود را دارد. بهطور مثال، در مدلهای ترکیبی و غیراستاندارد مثل Nested RAID هزینهها افزایش چشمگیری پیدا میکنند و به تعداد بیشتری دیسک سخت نیاز است. هزینه ذخیرهسازی هر گیگابایت در تجهیزات ذخیرهساز در Nested RAID بیشتر از نمونههای استاندارد است، زیرا از دیسکهای سخت بیشتری برای دستیابی به افزونگی استفاده میشود. وقتی درایوی خراب میشود، احتمال اینکه خرابی در درایوهای دیگر به سرعت پدیدار شوند بیشتر است و این موضوع به معنای از دست رفتن دادهها است. دلیل بروز مشکل این است که دیسکهای سخت در یک آرایه بهطور همزمان نصب میشوند. برخی انواع RAID مانند RAID 1 و RAID 5 تنها میتوانند خرابی یک دیسک را تحمل کنند. آرایههای رید و دادههای آنها، مادامی که دیسک سخت تعویض نشود، آسیبپذیر هستند.
با توجه به اینکه دیسکهای سخت جدید ظرفیت بیشتری نسبت به بعد دیسکهای فعلی نصب شده در رید دارند، فرایند بازطراحی آرایه با دیسکهای جدید زمانبر است.
ریدکنترلر چیست؟
رید کنترلر (RAID Controller) یک ماژول سختافزاری یا نرمافزاری است که برای مدیریت دیسکهای سخت مستقر در آرایه استفاده میشود. ریدکنترلر با ارایه یک لایه انتزاعی بین سیستمعامل و دیسکهای فیزیکی کمک میکند تا آرایه به شکل یک دیسک منطقی بزرگ به سیستم نشان داده شود. ریدکنترلر ضمن آنکه عملکرد را بهبود میبخشند، در هنگام خرابی، از دادهها محافظت میکنند. ریدکنترلرهای سختافزاری میتوانند روی مادربورد سرور نصب شده باشد و از استاندارهای ساتا و اسکازی پشتیبانی میکنند. ریدکنترلرهای نرمافزاری از منابع سیستم مثل پردازنده مرکزی و حافظه اصلی استفاده میکنند. عملکرد ریدکنترلر نرمافزاری مثل ریدکنترلر سختافزاری است، اما عملکرد و سرعت کمتری دارد و ممکن است روی عملکرد برنامههای کاربردی سرور تاثیر منفی بگذارد.
RAID یا حافظه حالت جامد، کدامیک بهتر هستند؟
حافظههای حالت جامد، به دلیل سرعت زیاد مورد توجه کاربران و سازمانها هستند. در میان سطح مختلف RAID تنها RAID 0 سرعت بیشتری در خواندن و نوشتن ارایه کند، با اینحال RAID 0 محدودیتهایی در ارتباط با توان عملیاتی کنترلررید و سرعت پردازش دارد. درست است که RAID 0 نزدیکترین پیکربندی به حافظه حالت جامد را دارد، اما بازهم به لحاظ عملکرد و سرعت فاصله زیادی با حافظه حالت جامد دارد. تنها مزیت RAID نسبت به حافظه حالت جامد هزینه پایینتر آن است.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟