آرایه چندگانه دیسکهای مستقل
هدف اصلی فناوری آرایه چندگانه دیسکهای مستقل (به انگلیسی: Redundant Array of Independent Disks) یا RAID، پیوند دادن چند دیسک سخت جداگانه در چهارچوب یک آرایه (به انگلیسی: array)، برای دستیابی به کارایی، پایایی و گنجایشی بیش از یک دیسک بزرگ و گران میباشد. همچنین کل این آرایه برای سیستم عامل میزبان، به گونه ای یکپارچه رفتار میکند.
کاربردها و دست آوردهای RAID
یک زیر دستگاه دیسک با راهبری RAID، کاراییهای بسیار بیشتری را نسبت به یک زیر دستگاه دیسک JBOD نمایش میدهد. RAID در زمانیکه دیسکهای سخت خیلی گران و نسبت به امروز، از پایایی کمتری برخوردار بودند، ساخته شد. RAID سر واژه عبارت "Redundant Array of Independent Disks " میباشد. فناوری RAID دارای دو هدف بنیادی است:
- برای افزایش توان کارکرد (performance) از راه تکنیکی به نام striping؛
- افزایش توان تحمل در برابر ویرانی (fault-tolerance) از راه افزونگی (redundancy).
روشهای راهبری RAID برای پخش داده
تکنیک striping، دادهها را روی چندین هارد دیسک پخش نموده و بدین گونه، بار را روی سخت افزار بیشتری پخش مینماید. از راه ترکیب شایسته از دیسکهای سخت، توانایی افزایش چشمگیری fault-tolerance و performance، در دستگاه شدنی میگردد.
گنجینهٔ دیسکهای سخت زیر فرمان کنترلر RAID، دیسکهای سخت مجازی نامیده میشوند. سروری که به یک دستگاه RAID به هم میرسد، تنها دیسک سخت مجازی را میبیند؛ این حقیقت که کنترلر RAID، دادهها را روی چندین دیسک سخت فیزیکی پخش میکند، صد درصد از دید سرور پنهان است. این امر تنها برای رهبر دستگاه، از بیرون دیده شدنی است. یک کنترلر RAID، با روشهای گوناگونی میتواند دادههایی که یک سرور روی چندین هارد دیسک مینویسد را پخش نماید. یک فاکتور مشترک برای بیشتر لایههای RAID، این است که آنها افزون بر دادههای بنیادی، دانستار افزوده را اندوخته مینمایند. اگر یک دیسک سخت دچار آسیب شود، دادههای آن را میتوان از دیگر هارد دیسکهای گنجینه بازسازی نمود. با بودن سخت افزار شایسته، حتی میتوان در حین کار، هارد دیسک آسیب دیده را با یک مورد تازه جایگزین نمود. سپس کنترلر RAID، دادههای دیسک جایگزین شده را بازسازی مینماید. این فرایند، جدای از اندکی کاهش در میزان کارکرد دستگاه، از دید سرور پنهان است: سرور، پیوسته به کار با دیسک سخت مجازی دنبال میکند. کنترلرهای مدرن RAID، این فرایند را بهطور خودکار آغاز میکنند. این امر نیازمند شناختار دیسکهای باصطلاح hot spare میباشد. دیسکهای hot spare، در حالت نرمال بهره گرفته نمیشوند. اگر یک دیسک دچار آسیب شود، کنترلر RAID، بی درنگ آغاز به رونویسی (copy) نمودن دادههای دیسک درست به جامانده روی یک دیسک hot spare مینماید. پس از جایگزینی دیسک آسیب دیده، دیسک تازه در زمرهٔ دیسکهای hot spare میباشد. بازسازی دادهها از یک دیسک سخت آسیب دیده، همزمان با پردازش خواندن/ نوشتن سرور روی دیسک سخت مجازی انجام میگیرد، بگونه ایکه از دیدگاه سرور، یک افت کوچک در کارکرد، قابل مشاهده خواهد بود. دیسکهای سخت مدرن، مجهز به برنامههای شناسایی هستند که خطاهای خواندن/ نوشتن را به سرور گزارش میدهند.
ساخت دیسک با گنجایش بالاتر
یک برتری جانبی بهرهگیری از چندین دیسک سخت به شکل یک دیسک مجازی، گنجایش بالاتر دیسکهای سخت مجازی است. از این رو، آدرسهای کمتری در کانال I/O بهره گرفته شده و بدینگونه سرپرستی سرور نیز ساده میگردد، زیرا دیسکهای سخت کمتری (نامهای درایو یا ولوم) به کار خواهد رفت.
انواع RAID استاندارد
در ابتدا پنج سطح استاندارد از Raid وجود داشت اما تغییرات زیادی از جمله چندین سطح تو در تو و بسیاری از سطوح غیر استاندارد ایجاد شده است.
سطوح RAID و فرمت های داده مربوط به آنها توسط انجمن صنعت ذخیره سازی شبکه (SNIA) در استاندارد RAID Disk Drive Format (DDF) استاندارد می شود
RAID 0 : که شامل راه اندازی ست ، اما بدون mirroring (بازتاب) یا striping است.
در مقایسه با حجم گسترده ، ظرفیت حجم RAID 0 یکسان است. این مجموع ظرفیت درایوهای موجود در مجموعه است.
اما از آنجا که striping محتویات هر فایل را بین همه درایوهای موجود در مجموعه توزیع می کند ، خرابی هر درایو باعث می شود که کل حجم RAID 0 و همه فایل ها از بین بروند.
در یک مقایسه ، حجم گسترده ای فایل ها را در درایوهای unfailing (پایدار) حفظ می کند. مزیت RAID 0 این است که توان عملیات خواندن و نوشتن به هر پرونده در تعداد درایو ضرب می شود ، زیرا برخلاف حجم های گسترده ، خواندن و نوشتن به طور همزمان انجام می شود
خرابی درایو در اثر افزایش آسیب پذیری ایجاد میشود. از آنجا که هر درایو در تنظیم RAID 0 باعث از بین رفتن کل حجم می شود ، میزان خرابی متوسط حجم با تعداد درایوهای متصل افزایش می یابد.
RAID 1 : شامل بازتاب داده ها ، بدون برابری یا خط کشی است. داده ها به طور یکسان با دو یا چند درایو نوشته می شوند در نتیجه یک مجموعه بازتاب از درایوها تولید می شود.
بنابراین ، هر درخواست خواندن می تواند توسط هر درایو موجود در مجموعه پاسخ داده شود. اگر درخواستی در هر درایو موجود در مجموعه پخش شود ، می تواند توسط درایوی که ابتدا به داده ها دسترسی دارد (بسته به زمان جستجو و تأخیر چرخشی) پاسخ داده شده و عملکرد را بهبود بخشد.
اگر کنترلر یا نرم افزار برای آن بهینه سازی شده باشد ، خوانایی پایدار ، به مجموع توان خروجی هر درایو در مجموعه نزدیک می شود ، درست مانند RAID 0
سرعت خواندن واقعی اکثر پیاده سازی های RAID 1 کندتر از سریع ترین درایو است. سرعت نوشتن همیشه کندتر است زیرا هر درایو باید به روز شود و کندترین درایو عملکرد نوشتن را محدود می کند. این آرایه تا زمانی که حداقل یک درایو کار کند به کار خود ادامه می دهد.
RAID 2 : شامل لایه بندی سطحی بیت با برابری کد اختصاصی Hamming است. تمام چرخش دوک دیسک همگام سازی شده و داده ها به صورت راه راه هستند به طوری که هر بیت متوالی در درایو دیگری قرار دارد.
برابری کد Hamming در بیت های مربوطه محاسبه می شود و حداقل در یک درایو برابری ذخیره می شود.
این سطح فقط از اهمیت تاریخی برخوردار است. اگرچه در برخی از ماشینهای اولیه به عنوان مثال Thinking Machines CM 2 استفاده می شد ، اما از سال 2014 به بعد توسط هیچ سیستم تجاری موجود استفاده نمی شود.
RAID 3 : شامل لایه بندی سطح بایت با برابری اختصاصی است. تمام چرخش دوک دیسک همگام سازی شده و داده ها به صورت راه راه هستند به طوری که هر بایت متوالی در درایو دیگری قرار دارد برابری در بایت های مربوطه محاسبه می شود و در درایو برابری اختصاصی ذخیره می شود اگرچه پیاده سازی هایی وجود دارد ، اما RAID 3 معمولاً در عمل استفاده نمی شود.
RAID 4 : شامل لایه بندی سطح بلوک با برابری اختصاصی است این سطح قبلاً توسط NetApp استفاده می شد ، اما اکنون عمدتا با پیاده سازی اختصاصی RAID 4 با دو دیسک برابری ، به نام RAID DP جایگزین شده است. مزیت اصلی RAID 4 نسبت به RAID 2 و 3 موازی سازی ورودی-خروجی در RAID 2 و 3 است ، یک عمل خواندن ورودی-خروجی مستلزم خواندن کل گروه درایوهای داده است ، در حالی که در RAID 4 یک عملیات خواندن ورودی-خروجی لازم نیست در تمام درایوهای داده پخش شود . در نتیجه ، عملیات ورودی-خروجی بیشتری را می توان به صورت موازی اجرا کرد و سبب بهبود عملکرد انتقال های کوچک شد.
RAID 5 : شامل لایه بندی سطح بلوک با برابری توزیع شده است، بر خلاف RAID 4 ، اطلاعات برابری بین درایوها توزیع می شود و برای کار به همه درایوها به جز یکی از آنها نیاز است
در صورت خرابی یک درایو واحد ، با بهره گیری از قابلیت برابری توزیع شده می توان خواندن های بعدی را محاسبه کرد به طوری که هیچ داده ای از بین نرود. RAID 5 حداقل به سه دیسک نیاز دارد. مانند تمام مفاهیم برابری واحد ، پیاده سازی های بزرگ RAID 5 به دلیل روندهای مربوط به زمان بازسازی آرایه و احتمال خرابی درایو در هنگام بازسازی مستعد خرابی سیستم هستند. بازسازی یک آرایه مستلزم خواندن همه داده ها از همه دیسک ها و ایجاد فرصتی برای خرابی درایو دوم و از بین رفتن کل آرایه است.
RAID 6 : شامل لایه بندی سطح بلوک با برابری دوگانه توزیع شده است.
برابری دو گانه تحمل خطا را تا دو درایو از کار افتاده فراهم می کند. این کار گروه های RAID بزرگتر را عملی تر می کند ، مخصوصاً برای سیستم های با قابلیت دسترسی بالا زیرا بازگرداندن درایوهای با ظرفیت زیاد بیشتر طول می کشد
RAID 6 به حداقل چهار دیسک نیاز دارد. مانند RAID 5 ، یک خرابی درایو واحد منجر به کاهش عملکرد کل آرایه می شود تا درایو خراب جایگزین شود. با آرایه RAID 6 ، با استفاده از درایوهای تولید کنندگان و منابع متعدد ، می توان بسیاری از مشکلات مربوط به RAID 5 را کاهش داد. هرچه ظرفیت درایو بزرگتر و اندازه آرایه بزرگتر باشد ، انتخاب RAID 6 به جای RAID 5 اهمیت بیشتری پیدا می کندRAID 10 همچنین این مشکلات را به حداقل می رساند.