Bad Sector
11th July 2011, 10:48 AM
RAID چیست؟
مقدمه :
تکنولوژی Redundant Array of Independent Disks-RAID در چند سال گذشته برای نیازهای محافظتی از داده ها در سرورها رشد چشمگیری داشته است. اولین پیاده سازی تکنولوژی RAID به ۱۹۹۰ وقتی که بُردهای کنترلی بسیار گران قیمت با پردازشگرهای توانمند I/O به عنوان میزبان قدرتمند پردازنده مورد استفاده بودند بر میگردد. در آن زمان RAID سخت افزاری تنهاترین راه حل ارائه شده بود که باعث محدودیت استفاده از آن تنها در سرورهای گران قیمت میگردید. امروزه RAID در همه جا یافت میشود. از یک نرم افزار سیستم عامل تا کنترولر مستقل که داده ها را با قابلیت بالایی در شبکه ذخیره میکند. همچنین RAID را میتوان در لپ تاپها، کامپیوترهای رومیزی و سرورها با هارد دیسک های متعدد مشاهده کرد.
این مقاله میکوشد راه حل هایی که برای RAID وجود دارد مرور کرده و بهترین آنها را برای انتخاب شما معرفی کند. ابتدا تعریفی از RAID نرم افزاری در مقابل RAID سخت افزاری ارائه شده و سپس تشریح پیاده سازی آنها و مزایای هر یک آورده خواهد شد.
RAID چیست؟
مخففی است از عبارت آرایهی افزونهای برای دیسک های مستقل که راهی است برای مجازی سازی متعدد هارد دیسک های مستقل به یک یا چند آرائه برای بهبود عملکرد، ظرفیت و دسترسی. ظرفیت کل آرائه به نوع RAIDی که ساخته شده و همچنین تعداد و ظرفیت دیسکها بستگی دارد. این ظرفیت کلی آرائه مستقل از نوع RAID سخت افزاری یا نرم افزاری است که ممکن است استفاده کرده باشید. جدول زیر را دنبال کنید تا پیاده سازیهای مختلف، نقاط قوت و ضعف، تاثیر روی عملکرد سیستمها و اثربخشی در بالا بردن دسترسی به داده ها، در انواع RAID ها را مشاهده نمایید.
RAID نرم افزاری:
راه ساده برای تشریح RAID نرم افزاری این است که بدانیم برای انجام وظیفه خود از پردازشگر سیستم شما بهره میگیرد. به این معنی که نیاز پردازشی و قدرتی که RAID قرار است از آن برای فعالیت خود استفاده کند علاوه بر پردازش های معمول مورد نیاز سیستم عامل و نرم افزارهای اجرا شده روی آن، بر پردازشگر سیستم تحمیل میشود.
پیاده سازی RAID همچون بسیاری دیگر از تکنولوژی ها هم بصورت سخت افزاری و هم نرم افزاری امکان پذیر است که مسلماً مدل سخت افزاری دارای سرعت و پایداری بیشتری است و مدل نرم افزاری فقط در شرایطی پیشنهاد میشود که با کمبود امکانات و بودجه مواجه هستیم و یا اینکه قرار است بر روی یک سیستم پشتیبان و نه مادر پیاده سازی شود. همیشه با این مساله مخالف بوده ام که سیستمی را که در آن از تکنولوژی RAID استفاده نشده است را یک سرویس دهنده بنامم و به همین دلیل همیشه سعی کردم مشتری را به پیاده سازی حداقل، که همانا پیاده سازی RAID به روش نرم افزاری است قانع کنم. خوشبختانه همزمان با گسترش فرهنگ استفاده از سیستمها در بین مدیران و صاحبان مشاغل و اهمیت اطلاعات و حفظ آن برای این گروه، هزینه پیاده سازی RAID به کمک پیشرفت تکنولوژی روز به روز ارزانتر میشود و هم اکنون با توسعه بیش از پیش این تکنولوژی و کشیده شدن آن به دایره دیسکهای با تکنولوژی ATA حتی شاهد درخواست پیاده سازی این تکنولوژی بر روی سیستمهای رومیزی هستیم! اما فارغ از اینکه RAID بصورت نرم افزاری و یا سخت افزاری پیاده سازی میشود و یا نیاز ما استفاده از هارد دیسکهای SCSI و یا ATA است، تکنولوژی RAID دارای سطوح گوناگون است که در ادامه به ذکر عمده ترین آنها میپردازم:
RAID 0
RAID 0 تحت نام Data Striping نيز مشهور است و موجب افزايش كارايي سختديسكها ميشود. اين نسخه از RAID به حداقل دو سختديسك نياز دارد و توسط نوشتن فايلها درون چندين «قطعه» (Stripe) و ذخيره كردن هر يك از قطعهها در سختديسكي متفاوت، عمل ميكند. براي مثال، اگر فايلي 200 كيلوبايتي و دو سختديسك داشته باشيد، اين پيكربندي فايلها را به دو قطعهي مساويِ 100 كيلوبايتي تقسيم كرده و هر قطعه را درون يكي از سختديسكها ذخيره ميكند. به عبارتي، نيمي از فايل شما در سختديسكِ 1 و نيمي ديگر در سختديسكِ 2 ذخيره ميشود.
توضيح بالا خيلي مختصر است. در حقيقت مقدار «قطعه» بايد در زمان پيكربندي سيستم RAID مشخص شود. به عنوان مثال، اگر در تنظيمات RAID، مقدار قطعه را 128 كيلوبايت درنظر گرفته باشيد، فايلِ 200 كيلوبايتي بالا به دو قطعهي مساوي 128 كيلوبايتي تقسيم ميشود (هر قطعه روي يكي از سختديسكها قرار دارد) و چون حجم فايل از مجموع حجم دو قطعه كمتر است، 28 كيلوبايت در انتهاي هر يك از دو قطعه خالي خواهد ماند (به مجموع هر دو قطعهاي كه بخشي از داده را روي خود ذخيره ميكنند، يك بلوك ميگويند). اما اگر به جاي فايلي 200 كيلوبايتي، فايلي 64 كيلوبايتي داشتيد، آنگاه 96 كيلوبايت در انتهاي هر قطعه خالي ميماند (يعني 32 كيلوبايت روي هر ديسك ذخيره ميشد). اما اگر در تنظيمات RAID، مقدار قطعه 32 كيلوبايت تنظيم شود، فايل 200 كيلوبايتي به 8 قطعهي 32 كيلوبايتي تقسيم ميشود و روي هر سختديسك، 4 قطعه ذخيره خواهند شد و روي هر قطعه، 7 كيلو بايت فضاي خالي موجود خواهد بود (جدول شمارهي «1»). در وضعيتي مشابه، فايل 64 كيلوبايتي به 2 قطعهي 32 كيلوبايتي تقسيم ميشود و هيچ فضايي از سختديسك بيهوده تلف نخواهد شد.
با توجه به اين دو مثال، به سادگي متوجه ميشويد كه وقتي با فايلهاي كمحجم سر و كار داريد، اگر مقدار قطعه را در تنظيمات RAID بالا در نظر بگيريد، مقداري از فضاي ذخيرهسازي سختديسكهاي شما بيهوده تلف خواهد شد. بنابراين اگر فايلهاي شما حجم كمي دارند، بهتر است هنگام پيكربندي RAID 0، گزينهي Stripe (همان مقدار قطعه) را روي كمترين ميزان، و هنگامي كه با فايلهاي حجيم سر و كار داريد، اين گزينه را روي مقادير زيادتر تنظيم كنيد.
اما RAID 0 چگونه سبب افزايش كارايي ميشود؟ در مثال بالا، همانطور كه مشاهده كرديد، به جاي ذخيره كردن يك فايل 200 كيلوبايتي در يك سختديسك، دو فايل 100 كيلوبايتي در دو سختديسك ذخيره شدند. زمان صرف شده براي ذخيره كردن يك فايل 100 كيلوبايتي، بهطور تئوري نصف زمانِ صرف شده براي ذخيرهسازي يك فايل 200 كيلوبايتي است. بهطور كلي، RAID 0 با موازي كردن دو سختديسك، اجازه ميدهد سرعت خواندن و نوشتن اطلاعات در سختديسكها افزايش پيدا كند و اين موضوع نيز سبب افزايش كارايي آنها ميشود.
مجموع كل ظرفيت دو سختديسك، مقدار ظرفيت آرايهي RAID 0 را تعيين ميكند. به عنوان مثال، اگر شما از دو سختديسك 80 گيگابايتي استفاده كنيد، ظرفيت ذخيرهسازي سيستم 160 گيگابايت خواهد بود.
اگر قصد داريد سيستمي با كارايي بالا تهيه كنيد، بايد در عوضِ يك سختديسك ظرفيت بالا، دو سختديسك با ظرفيت پايينتر بخريد و آنها را به حالت RAID 0 پيكربندي كنيد. اين روش، علاوه بر اينكه سبب افزايش كارايي ميشود، هزينهها را نيز كاهش ميدهد، زيرا امروزه قيمت دو سختديسك 250 گيگابايتي (براي مثال) ارزانتر از يك سختديسك 500 گيگابايتي است. البته بايد اين نكته را يادآور شد كه RAID 0 معايبي نيز دارد كه مهمترين آنها، امنيت پايين است. به عبارتي، اگر يكي از سختديسكها صدمه ببيند، تمامي اطلاعات صدمه ميبيند و غيرقابل استفاده خواهد شد.
همانطور كه گفته شد، اگر يك فايلِ تصويري 200 كيلوبايتي توسط آرايهي RAID 0 ذخيره شود، به دو بخش 100 كيلوبايتي تقسيم خواهد شد و در هر يك از ديسكها، 100 كيلوبايت از اين تصوير ذخيره ميشود. بنابراين با صدمه ديدن يكي از سختديسكها، اين تصوير غيرقابل مشاهده خواهد شد. تصوير شمارهي «1»، بهطور خلاصه نحوهي عملكرد RAID 0 را نمايش ميدهد.
مزایا و مشخصات :
- داده ها به بلوکهایی تبدیل می شوند و هر بلوک در هارد دیسک مجزا ذخیره می شود.
- باعث بالا رفتن کارایی سیستم I/O می گردد چرا که بار ترافیکی نقل و انتقالات بین چندین کانال مجزا تقسیم می شود.
- بالارفتن کارایی بدلیل وجود کنترلرهای مختلفی که عمل کنترل ترافیک را به عهده می گیرند (افزایش سرعت)
- طراحی بسیار ساده ( زیرا مدار محاسبه Parity وجود ندارد )
- عدم پرداختن به محاسبات مربوطه به Parity وکنترل خطا (افزایش سرعت به دلیل عدم پرداختن به محاسبات مربوط به Parity )
معایب :
- عدم استفاده از Parity .(هیچ گونه کد تشخیص و تصحیح خطا در این نوع RAID وجود ندارد ).
- از کار افتادن یک درایو باعث از دست رفتن کلیه اطلاعات خواهد شد.
- عدم کارایی در محیطهای حساس به حفظ داده ها
موارد استفاده :
- میکس و پردازش تصاویر ویدیویی (میکس و مونتاژ ).
- واژه پردازی (نرم افزارهای تایپ و... )
- کارهایی که نیاز به سرعت بالا دارد.
RAID 1+0, RAID 0+1,RAID 1
RAID 1
اين نوع RAID، كارايي سيستم را افزايش نميدهد و هدف آن، بهبود قابليت اطمينان دادههاي كامپيوتر است. توسط RAID 1، كاربر اطمينان دارد كه هيچگاه اطلاعاتي را كه ذخيره كرده است، از دست نخواهد داد. اين نسخه ازRAID به حداقل دو سختديسكِ يكسان نياز دارد و تحت نام Mirroring شناخته ميشود. معادل فارسي لغت Mirror، كلمهي آينه است. حتماً با اين تشبيه ساده، به نحوهي عملكرد RAID 1 پي بردهايد. در آرايهي RAID 1، هر تغييري كه در يكي از سختديسكها اعمال شود، روي ديسك ديگر نيز ايجاد خواهد شد.
به عنوان مثال، اگر فايلي را روي سختديسك اول كپي كنيد، نسخهاي دقيقاً مشابه با اين فايل، بهطور خودكار روي سختديسك دوم نيز كپي خواهد شد. در اين آرايه، اگر سختديسك اول صدمه ببيند، به آساني ميتوان از سختديسك دوم استفاده كرد و بنابراين هيچگاه اطلاعات شما از بين نخواهد رفت. اين نسخه از RAID در حقيقت سيستم پشتيبان مبتني بر سختافزار است و بيشتر در مكانهايي كه اطلاعات مهمي دارند، به كار گرفته ميشود. جدول شمارهي «2»، نحوهي عملكرد سختديسكها را در پيكربندي RAID 1 نمايش ميدهد.
چون سختديسك دوم در واقع ديسكي پشتيبان است، كل ظرفيت ذخيرهسازي تنها ظرفيت يكي از سختديسكهاست. بنابراين اگر شما دو سختديسك 80 گيگابايتي را به حالت آرايهي RAID 1 پيكربندي كنيد، كل ظرفيت ذخيرهسازي شما تنها 80 گيگابايت خواهد بود. بهطور كلي، اگر اطلاعاتي كه در كامپيوتر ذخيره ميكنيد از اهميت خاصي برخوردار است، RAID 1 بهترين روش براي محافظت از آنهاست. تصوير شمارهي «2»، نحوهي عملكرد RAID 1 را نمايش ميدهد
لازم به توضيح است كه پيكربنديهاي ديگري نيز براي RAID وجود دارد، اما همهي كنترلرهاي RAID از آنها پشتيباني نميكنند. در ادامه، بهطور مختصر در مورد ديگر انواع عمومي RAID توضيحاتي ارايه ميكنيم.
مزایا و مشخصات :
-هنگام سیکل نوشتن , گویی اطلاعات روی یک دیسک نوشته می شود (در صورتیکه عملأ بر روی دو دیسک نوشته می شود . مانند RAID0 ولی عمل خواندن , ازهر دودیسک انجام می شود ( کاهش ترافیک گذرگاه - نوشتن بر روی هر دو دیسک ولی خواندن مجزا )
- قابلیت برگرداندن %100 داده ها هنگام بروز مشکل برای یک دیسک .
- در نرخ انتقالات داده تغییر محسوسی نداریم. (یعنی وجود دو دیسک تفاوتی با یک دیسک ندارد ) .
- در شرایط خاص RAID1, توانایی تحمل خرابی بیش از یک دیسک را نیز دارد .
- ساده ترین طراحی در تکنولوژی RAID (مدار مربوط به Parity وجود ندارد )
معایب :
- بیشترین تعداد هارد دیسک در میان انواع RAID (بسته به انتخاب User )
- هزینه بالا
RAID 0+1
همانطور كه از نام آن پيدا است، تركيبي از RAID 0 و RAID 1 است. در حقيقت اين نسخه از RAID مزاياي RAIDهاي 0 و 1 را با يكديگر تركيب ميكند و موجب بهبود قابليت اطمينان و افزايش كارايي ميشود. RAID 0+1 نياز به 4 سختديسك يكسان دارد كه دو سختديسك اول به صورت RAID 0 عمل ميكنند و دو سختديسك دوم Mirror مجموعهي اول خواهند شد. در اين پيكربندي، اگر يكي از سختديسكها صدمه ببيند، سيستم صرفاً به حالت RAID 0 عمل ميكند. جدول شمارهي «3» نحوهي نوشتن اطلاعات در اين آرايه را نمايش ميدهد.
RAID 10 يا RAID 1+0
اين نسخه از RAID، عملكردي تقريباً برعكسِ RAID 0+1 دارد. RAID 0+1 در حقيقت RAID 0 است كه در آن RAID 1 گنجانده شده است، ولي RAID 10 ذاتاً RAID 1 است كه RAID 0 در آن گنجانده شده است. اين نسخه از RAID نيز به 4 سختديسك نياز دارد و اگر يكي از سختديسكها صدمه ببيند، آرايه صرفاً به حالت RAID 1 عمل ميكند. در جدول شمارهي «4»، چگونگي عملكرد RAID 10 نمايش داده شده است.
مزایا و مشخصات :
حداقل به 4 دستگاه هاردیسک نیاز دارد
RAID 0+1 به عنوان آرایه آینه ای نیز معروف است با این تفاوت که قطعات داده ها یا Segment ها طبق استراتژی RAID0 - ایجاد شده اند
تحمل خطای این نوع آرایه مانند RAID5 می باشد -
نرخ انتقال بالا
بهترین انتخاب برای سیستمهایی که به کارایی بالا بدون توجه به حداکثر اطمینان نیاز داشته باشند -
معایب :
RAID 0+1 نباید با RAID10 اشتباه گرفته شود . کوچکترین مشکل در عملکرد یک درایو , آرایه را به مدل RAID0 - تبدیل خواهد کرد
- قیمت بسیار بالا
- جابجایی درایوها باید به صورت موازی انجام گیرد
RAID 5
اين نسخه از RAID، قدرتمندترين نوع RAID براي كامپيوترهاي خانگي است و به كنترلكنندهاي سختافزاري براي مديريت آرايه نياز دارد. اما برخي از سيستمهاي عامل، اين قابليت را از طريق نرمافزار شبيهسازي ميكنند. RAID 5 به حداقل سه سختديسك نياز دارد كه براي آرايهي بهترين كارايي، بايد يكسان باشند. بهطور كلي RAID 5 نوعي از RAID 0 با بيت Parity (بيت توازن) براي مراقبت از اطلاعات آرايه است.
اكنون اجازه دهيد قبل از توضيح كلي در مورد RAID 5، نگاهي مختصر به درس رياضي دوران دبستان بيندازيم:
1+0 = P
0+P = 1
P+1 = 0
در اين معادلهها، با توجه به اينكه دو تا از دادهها معلوم است، به سادگي ميتوان مقدار P را محاسبه كرد. بنابراين اگر بتوان شيوهي ذخيره شدن اطلاعات در RAID 0 را به شكل يك معادله درآورد، زماني كه يكي از سختديسكها صدمه ميبيند، به سادگي ميتوان اطلاعات موجود در آن را بازيابي كرد. اين موضوع سبب افزايش امنيت RAID 0 ميشود. RAID 5 دقيقاً همين كار را ميكند و با ايجاد توازن (Parity)، سبب افزايش امنيت اطلاعات در آرايهي RAID 0 ميشود.
در حقيقت بيت توازن نوعي محاسبات باينري است كه دو بلوك از داده را با همديگر مقايسه ميكند و بلوك دادهي سوم را براساس بلوكهاي 1 و 2 تشكيل ميدهد. اگر حاصل جمع دو بلوك داده زوج باشد، بيت توازن نيز زوج خواهد بود. اما اگر حاصل جمع دو بلوك داده فرد باشد، بيت توازن فرد خواهد بود. در محاسبات باينري، 0+0 و 1+1 هر دو برابر با صفر و 0+1 و 1+0 هر دو برابر با 1 هستند. براساس اين روش، اگر يكي از سختديسكهاي آرايه RAID 5 صدمه ببيند، زماني كه سختديسك ديگري جايگزين آن شود، بيت توازن اجازه خواهد داد اطلاعات دوباره احيا شوند (با دانستن حاصل جمع يك معادله و يكي از اعداد معادله، به راحتي ميتوان عدد مجهول را پيدا كرد). جدول شمارهي «5»، نحوهي عملكرد RAID 5 را نمايش ميدهد كه حرف "P" در آن، معينكنندهي بيت توازن است.
همانطور كه در جدول شمارهي «5» مشاهده ميكنيد، بيت توازن بين سختديسكها براي افزايش كارايي و قابليت اطمينان دادهها تغيير مكان ميدهد. افزايش كارايي به اين دليل است كه به جاي نوشتن اطلاعات روي يك سختديسك، از چندين سختديسك استفاده ميشود. ضمن اينكه اگر سختديسك 2 صدمه ببيند، دادههاي موجود در اين سختديسك ميتوانند براساس دادهها و بيت توازنِ قرار گرفته در دو سختديسك ديگر، دوباره بازسازي شود. بهطور كلي ظرفيت ذخيرهسازي اين آرايه برابر با مجموع ظرفيت دو سختديسك است. يعني اگر از 3 سختديسك 500 گيگابايتي استفاده شود، ظرفيت ذخيرهسازي براي اين آرايه 1000 گيگابايت خواهد بود. اين را هم بدانيد كه اگر يكي از سختديسكها صدمه ببيند، بعد از جايگزين كردن آن با يك ديسك سالم، بازيابي اطلاعات ديسك معيوب مدتي طول خواهد كشيد.
JBOD
اين كلمه مخفف عبارت Just a Bunch Of Disks است و در حقيقت سيستم RAID به حساب نميآيد. JBOD از دو سختديسك با ظرفيتهاي مختلف استفاده ميكند و سبب ميشود سيستم عامل به جاي دو سختديسك با ظرفيتهاي مختلف، يك سختديسك با ظرفيت بيشتر را تشخيص دهد. به عنوان مثال، ميتوانيد توسط JBOD يك سختديسك 40 گيگابايتي را به يك سختديسك 80 گيگابايتي اضافه كنيد، طوري كه كامپيوترتان آنها را به عنوان يك سختديسك 120 گيگابايتي شناسايي كند.
RAID نرم افزاری به دو راه مورد استفاده قرار میگیرد:
۱) به عنوان یک راه حل نرم افزاری خالص (Pure)
2) به عنوان یک راه حل ترکیبی که شامل سخت افزارهای طراحی شده برای بهبود کارایی پردازشگر است.
۱) راه حل نرم افزاری خالص: در این حالت نرم افزار بدون هیچ گونه کمک سخت افزاری تنها با استفاده از امکانات سیستم به عنوان یک نرم افزار کاربردی در کنار سایر نرم افزارهای اجرا شده در سیستم عامل انجام وظیفه خواهد نمود. هارد دیسک مورد استفاده در این روش همان دیسکی است که سیستم عامل روی آن قرار دارد. برخی از این RAID های نرم افزاری قابلیت یکپارچه شدن با سیستم عامل سرور به همراه برنامه های رایگان را دارا هستند که باعث ارزان شدن این روش میگردد.
برخی مزایا و معایب این روش:
- هزینه پایین (تنها هزینه، دیسک های اضافه شده است)
- عدم محافظت در هنگام بوت (عدم قابلیت مدیریت و محافظت از دیسک های خراب در مرحله بوت)
- بار اضافی تحمیلی بر روی سرورها (بدلیل اجرا شدن روی سیستم عامل. این روش برای RAID 0,1,10 پیشنهاد میشود)
- محدودیت در مهاجرت به سیستم عامل دیگر
- آسیب پذیری در مقابل ویروسها
- امکان از دست دادن تمام داده ها بدلیل مشکلات سخت افزاری یا نرم افزاری سیستم عامل
- عدم استفاده از قابلیت کش
۲) راه حل ترکیبی – سخت افزار با کمک نرم افزار: در این روش نرم افزار RAID با کمک سخت افزارهای اضافه شده بر روی مادربرد مانند یک HBA با یک بایوس RAID که ضعف راه حل قبلی را هنگام بوت سیستم برطرف میسازد، انجام وظیفه میکند. بعلاوه اینکه درایورهای سخت افزاری مورد استفاده در این روش توسط اکثر سیستم های عامل مطرح پشتیبانی میشود.
برخی مزایا و معایب این روش:
- هزینه معقول (فقط یک HBA و یا یک فلش دیسک برای بایوس به عنوان هزینه تحمیل خواهد شد)
- محافظت در هنگام بوت
- کاربر گرافیکی مخصوص برای ساخت و نگهداری RAID
- سایر معایب موجود در روش اول.
RAID سخت افزاری:
در این روش برنامه RAID از طریق پردازشگر و رم تعبیه شده در دستگاهی مستقل از کامپیوتر میزبان اجرا میشود. سخت افزار میتواند بصورت یکپارچه بر روی مادربرد و یا یک کارت اسلات قابل نصب بر روی مادربرد استفاده شود.
ساده ترین راه برای تشخیص اینکه کدام نوع RAID سخت افزاری یا نرم افزاری برای کار شما مناسبتر است بررسی مشخصات فنی یا برگه های راهنمای هر یک میباشد. اگر روش ارائه شده شامل میکروپروسسور (معمولاً I/O، پردازشگر یا در برخی موارد ROC – به معنی RAID تعبیه شده در چیپست) بود، روش ارائه شده سخت افزاری است. و اگر پردازشگری در کار نبود نرم افزاری است. برای شما مهم است که بدانید کدام روش چه اثراتی در روند کار شما داشته و مطلوب شما است. اثرات مورد بحث موارد زیر هستند:
- وضعیت عملکرد پردازشگر هنگام اجرای سایر برنامه ها
- قدرت کارایی دیسک هایی که میتوانند روی سیستم اضافه شوند
- سهولت بازگرداندن اطلاعات بعد از خرابی
- قابلیت مدیریت و مونیتورینگ پیشرفته داده ها
- امکان مدیریت دیسک ها بطور همزمان در سیستم عامل های مختلف
- امکان نصب باطری پشتیبان تا کَش نوشتاری سیستم را ارتقاء ببخشد
پیاده سازی RAID سخت افزاری:
به دو روش ممکن است. ۱) بصورت یک کارت مستقل ۲) بصورت یکپارچه ارائه شده بر روی چیپست مخصوص.
پیاده سازی RAID سخت افزاری:
به دو روش ممکن است. ۱) بصورت یک کارت مستقل ۲) بصورت یکپارچه ارائه شده بر روی چیپست مخصوص.
۱) بصورت یک کارت مستقل:
یک نوع کارت قابل نصب بر روی اسلات های PCI-X یا PCIe مادربرد است که پردازشگر و کنترولر I/O بر روی آن تعبیه شده. قیمت برخی از این کارت ها بالا است اما انعطاف پذیری آن باعث شده روشی مناسب در بین روش های RAID بحساب آید. در اینجا عملکرد RAID از سیستم میزبان کاملاً جدا است. شخصیت مستقل این کارت اجازه استفاده حداکثری از قدرت پردازشگر و رم سریعتر آن را ممکن میسازد. کارت RAID بصورت کامل و با تمام ظرفیت وظایف ذخیره سازی در دیسک های مستقل را حتی هنگام خرابی دیسک ها انجام میدهد. مزایای پیچیده و فضای بیشتر دیسک ها بعنوان نمونه در سطوح RAID 5,6 بدون فشار بر روی سیستم در این روش قابل دسترسی است.
رابط های I/O اضافی بر روی کارت معمولاً بسط پذیری بیشتری ( اضافه کردن دیسک های بیشتر با ظرفیت بیشتر ) را برای سیستم فراهم می آورد. حتی آرائه های RAID چندگانه فشاری بر عملکرد سیستم ندارند. در نتیجه مهاجرت به سایر سیستم عامل ها،دستگاهها و پلت فرمها ممکن است.
مزایا و معایب این روش:
- محافظت هنگام بوت (هیچ فشار منفی هنگام بوت سیستم در زمان خرابی های متوسط یا کامل وجود ندارد)
- عملکردی مستقل از بار اعمالی بر روی سرور ( رم سریع، پردازشگر سریع و بدون فشار بر روی سیستم میزبان)
- برنامه RAID مستقل از میزبان (عدم از دست دادن اطلاعات در اثر خرابی سیستم)
- حفاظت پیشرفته در صورت قطع شدن برق (برخلاف RAID نرم افزاری)
- عدم آسیب پذیری به ویروس
- بهره مندی از کاربر گرافیکی مستقل برای مدیریت و ساخت RAID
- سهولت در مهاجرت و جایگزینی
- پشتیبانی از ویژگی های پیشرفته RAID
- قابلیت کَش روی کنترولر با استفاده از باطری پیشتیبان
- هزینه بالای پردازشگر I/O، مموری روی کارت.
۲) بصورت یکپارچه بر روی چیپست:
در این روش، پردازشگر RAID، کنترولر رم، رابط کاربری، رابط I/O برای ارتباط با هارد دیسک ها، و برخی اوقات خود رم، تمامی در یک چیپ جمع شده اند. این چیپ میتواند در یک مادربرد با هزینه پایینی تعبیه شده باشد. ROC جایگزین شده با چیپ I/O را میتوان بر روی بسیاری از مادربردهای سرور یافت. (به عنوان نمونه یک چیپ کنترولر SCSI) بدین معنی که روش ROC چیزی فراتر از یک ارتباط بین هارد دیسک هاست.
مزایا و معایب RAID سخت افزاری مبتنی بر ROC:
- محافظت هنگام بوت (هیچ فشار منفی هنگام بوت سیستم در زمان خرابی های متوسط یا کامل وجود ندارد)
- عملکردی مستقل از بار اعمالی بر روی سرور ( رم سریع، پردازشگر سریع و بدون فشار بر روی سیستم میزبان)
- برنامه RAID مستقل از میزبان (عدم از دست دادن اطلاعات در اثر خرابی سیستم)
- حفاظت پیشرفته در صورت قطع شدن برق (برخلاف RAID نرم افزاری)
- عدم آسیب پذیری به ویروس
- بهره مندی از کاربر گرافیکی مستقل برای مدیریت و ساخت RAID
- سهولت در مهاجرت و جایگزینی
- پشتیبانی از ویژگی های پیشرفته RAID
- قابلیت کَش روی کنترولر با استفاده از باطری پیشتیبان
- هزینه متوسط
- محدودیت در انعطاف پذیری و مهاجرت
کدان یک از RAID سخت افزاری یا نرم افزاری برای برنامه شما مناسب است؟
اکنون که مزایا و معایب انواع روش های پیاده سازی RAID را دانستیم میتوانیم با نگاهی به چند سناریوی سرور و بهینه سازی آن به اهداف مورد نیاز خود برسیم.
روش نرم افزاری خالص RAID: مناسب برای سطوح RAID 0,1 با وجود این مشکل عدم قابلیت استفاده در هنگام بوت را داراست.
برنامه های پیشنهادی: ۱- ایستگاههای کاری بدون نیاز به ذخیره سازی داده با ظرفیت بالا ۲- سرورهای ابتدایی بدون نیاز به محافظت هنگام بوت
روش راه حل ترکیبی: از نظر هزینه تقریباً با روش نرم افزاری خالص مشابه است اما قابلیت محافظت در بوت را نیز داراست.
برنامه های پیشنهادی: ۱- سرورهای ابتدایی بدون نیاز به ذخیره سازی با ظرفیت بالا. ۲- محاسبه گرهای متصل شده به دیتاسنترهای تحت شبکه.
روش سخت افزاری: دارای غنی ترین و بالاترین ویژگی های کاربردی است که میتواند بصورت یکپارچه همراه با مادربرد (ROMB) و یا کارت های افزونه ای استفاده شود.
برنامه های پیشنهادی: ۱- ایستگاههای کاری با عملکرد و ذخیره سازی اطلاعات بالا. ۲- سرورهای ابتدایی-سازمانی که نیاز به عملکرد بهتر و ذخیره سازی در زیرسیستم دارند.
به طور کلی RAID سخت افزاری علاوه بر مزیت های نرم افزاری الگوریتم های پیچیده را نیز ارائه میدهد. به عنوان مثال اندازه گیری ها نشان داده نرم افزار RAID 6 بار سنگینی را بر روی منابع سیستم تحمیل میکند در حالیکه RAID سخت افزاری در پیکربندی مشابه عملکرد بسیار بهتری دارد.
(http://kuleposhti.ir/wordpress/wp-content/uploads/2009/11/raidfeatures.gif)
نتیجه گیری:
این مقاله مزایای روش های RAID سخت افزاری و نرم افزاری را بررسی کرد. پیشرفت ها در تکنولوژی سیلیکون امکان یکپارچه سازی سخت افزار RAID در یک چیپست را ممکن ساخته که بزودی بصورت انبوه روی چیپست های سرور شاهد آن خواهیم بود و این یعنی کاهش هزینه پیاده سازی. این کاهش هزینه به ساخت سرورهای ارزان قیمت که کاربران بیشتری را سرویس دهد کمک میکند. در حال حاضر، سطوح جدیدی از محافظت و مدیریت داده ها در دسترس هستند. RAID 6 دو دیسک خراب و همچنین رمزنگاری داده ها را پیشیبانی میکند. در بسیاری ازموارد RAID سخت افزاری بهترین عملکرد را با هزینه ای مناسب به ارمغان می آورد.
گردآورنده : بدسکتور
مقدمه :
تکنولوژی Redundant Array of Independent Disks-RAID در چند سال گذشته برای نیازهای محافظتی از داده ها در سرورها رشد چشمگیری داشته است. اولین پیاده سازی تکنولوژی RAID به ۱۹۹۰ وقتی که بُردهای کنترلی بسیار گران قیمت با پردازشگرهای توانمند I/O به عنوان میزبان قدرتمند پردازنده مورد استفاده بودند بر میگردد. در آن زمان RAID سخت افزاری تنهاترین راه حل ارائه شده بود که باعث محدودیت استفاده از آن تنها در سرورهای گران قیمت میگردید. امروزه RAID در همه جا یافت میشود. از یک نرم افزار سیستم عامل تا کنترولر مستقل که داده ها را با قابلیت بالایی در شبکه ذخیره میکند. همچنین RAID را میتوان در لپ تاپها، کامپیوترهای رومیزی و سرورها با هارد دیسک های متعدد مشاهده کرد.
این مقاله میکوشد راه حل هایی که برای RAID وجود دارد مرور کرده و بهترین آنها را برای انتخاب شما معرفی کند. ابتدا تعریفی از RAID نرم افزاری در مقابل RAID سخت افزاری ارائه شده و سپس تشریح پیاده سازی آنها و مزایای هر یک آورده خواهد شد.
RAID چیست؟
مخففی است از عبارت آرایهی افزونهای برای دیسک های مستقل که راهی است برای مجازی سازی متعدد هارد دیسک های مستقل به یک یا چند آرائه برای بهبود عملکرد، ظرفیت و دسترسی. ظرفیت کل آرائه به نوع RAIDی که ساخته شده و همچنین تعداد و ظرفیت دیسکها بستگی دارد. این ظرفیت کلی آرائه مستقل از نوع RAID سخت افزاری یا نرم افزاری است که ممکن است استفاده کرده باشید. جدول زیر را دنبال کنید تا پیاده سازیهای مختلف، نقاط قوت و ضعف، تاثیر روی عملکرد سیستمها و اثربخشی در بالا بردن دسترسی به داده ها، در انواع RAID ها را مشاهده نمایید.
RAID نرم افزاری:
راه ساده برای تشریح RAID نرم افزاری این است که بدانیم برای انجام وظیفه خود از پردازشگر سیستم شما بهره میگیرد. به این معنی که نیاز پردازشی و قدرتی که RAID قرار است از آن برای فعالیت خود استفاده کند علاوه بر پردازش های معمول مورد نیاز سیستم عامل و نرم افزارهای اجرا شده روی آن، بر پردازشگر سیستم تحمیل میشود.
پیاده سازی RAID همچون بسیاری دیگر از تکنولوژی ها هم بصورت سخت افزاری و هم نرم افزاری امکان پذیر است که مسلماً مدل سخت افزاری دارای سرعت و پایداری بیشتری است و مدل نرم افزاری فقط در شرایطی پیشنهاد میشود که با کمبود امکانات و بودجه مواجه هستیم و یا اینکه قرار است بر روی یک سیستم پشتیبان و نه مادر پیاده سازی شود. همیشه با این مساله مخالف بوده ام که سیستمی را که در آن از تکنولوژی RAID استفاده نشده است را یک سرویس دهنده بنامم و به همین دلیل همیشه سعی کردم مشتری را به پیاده سازی حداقل، که همانا پیاده سازی RAID به روش نرم افزاری است قانع کنم. خوشبختانه همزمان با گسترش فرهنگ استفاده از سیستمها در بین مدیران و صاحبان مشاغل و اهمیت اطلاعات و حفظ آن برای این گروه، هزینه پیاده سازی RAID به کمک پیشرفت تکنولوژی روز به روز ارزانتر میشود و هم اکنون با توسعه بیش از پیش این تکنولوژی و کشیده شدن آن به دایره دیسکهای با تکنولوژی ATA حتی شاهد درخواست پیاده سازی این تکنولوژی بر روی سیستمهای رومیزی هستیم! اما فارغ از اینکه RAID بصورت نرم افزاری و یا سخت افزاری پیاده سازی میشود و یا نیاز ما استفاده از هارد دیسکهای SCSI و یا ATA است، تکنولوژی RAID دارای سطوح گوناگون است که در ادامه به ذکر عمده ترین آنها میپردازم:
RAID 0
RAID 0 تحت نام Data Striping نيز مشهور است و موجب افزايش كارايي سختديسكها ميشود. اين نسخه از RAID به حداقل دو سختديسك نياز دارد و توسط نوشتن فايلها درون چندين «قطعه» (Stripe) و ذخيره كردن هر يك از قطعهها در سختديسكي متفاوت، عمل ميكند. براي مثال، اگر فايلي 200 كيلوبايتي و دو سختديسك داشته باشيد، اين پيكربندي فايلها را به دو قطعهي مساويِ 100 كيلوبايتي تقسيم كرده و هر قطعه را درون يكي از سختديسكها ذخيره ميكند. به عبارتي، نيمي از فايل شما در سختديسكِ 1 و نيمي ديگر در سختديسكِ 2 ذخيره ميشود.
توضيح بالا خيلي مختصر است. در حقيقت مقدار «قطعه» بايد در زمان پيكربندي سيستم RAID مشخص شود. به عنوان مثال، اگر در تنظيمات RAID، مقدار قطعه را 128 كيلوبايت درنظر گرفته باشيد، فايلِ 200 كيلوبايتي بالا به دو قطعهي مساوي 128 كيلوبايتي تقسيم ميشود (هر قطعه روي يكي از سختديسكها قرار دارد) و چون حجم فايل از مجموع حجم دو قطعه كمتر است، 28 كيلوبايت در انتهاي هر يك از دو قطعه خالي خواهد ماند (به مجموع هر دو قطعهاي كه بخشي از داده را روي خود ذخيره ميكنند، يك بلوك ميگويند). اما اگر به جاي فايلي 200 كيلوبايتي، فايلي 64 كيلوبايتي داشتيد، آنگاه 96 كيلوبايت در انتهاي هر قطعه خالي ميماند (يعني 32 كيلوبايت روي هر ديسك ذخيره ميشد). اما اگر در تنظيمات RAID، مقدار قطعه 32 كيلوبايت تنظيم شود، فايل 200 كيلوبايتي به 8 قطعهي 32 كيلوبايتي تقسيم ميشود و روي هر سختديسك، 4 قطعه ذخيره خواهند شد و روي هر قطعه، 7 كيلو بايت فضاي خالي موجود خواهد بود (جدول شمارهي «1»). در وضعيتي مشابه، فايل 64 كيلوبايتي به 2 قطعهي 32 كيلوبايتي تقسيم ميشود و هيچ فضايي از سختديسك بيهوده تلف نخواهد شد.
با توجه به اين دو مثال، به سادگي متوجه ميشويد كه وقتي با فايلهاي كمحجم سر و كار داريد، اگر مقدار قطعه را در تنظيمات RAID بالا در نظر بگيريد، مقداري از فضاي ذخيرهسازي سختديسكهاي شما بيهوده تلف خواهد شد. بنابراين اگر فايلهاي شما حجم كمي دارند، بهتر است هنگام پيكربندي RAID 0، گزينهي Stripe (همان مقدار قطعه) را روي كمترين ميزان، و هنگامي كه با فايلهاي حجيم سر و كار داريد، اين گزينه را روي مقادير زيادتر تنظيم كنيد.
اما RAID 0 چگونه سبب افزايش كارايي ميشود؟ در مثال بالا، همانطور كه مشاهده كرديد، به جاي ذخيره كردن يك فايل 200 كيلوبايتي در يك سختديسك، دو فايل 100 كيلوبايتي در دو سختديسك ذخيره شدند. زمان صرف شده براي ذخيره كردن يك فايل 100 كيلوبايتي، بهطور تئوري نصف زمانِ صرف شده براي ذخيرهسازي يك فايل 200 كيلوبايتي است. بهطور كلي، RAID 0 با موازي كردن دو سختديسك، اجازه ميدهد سرعت خواندن و نوشتن اطلاعات در سختديسكها افزايش پيدا كند و اين موضوع نيز سبب افزايش كارايي آنها ميشود.
مجموع كل ظرفيت دو سختديسك، مقدار ظرفيت آرايهي RAID 0 را تعيين ميكند. به عنوان مثال، اگر شما از دو سختديسك 80 گيگابايتي استفاده كنيد، ظرفيت ذخيرهسازي سيستم 160 گيگابايت خواهد بود.
اگر قصد داريد سيستمي با كارايي بالا تهيه كنيد، بايد در عوضِ يك سختديسك ظرفيت بالا، دو سختديسك با ظرفيت پايينتر بخريد و آنها را به حالت RAID 0 پيكربندي كنيد. اين روش، علاوه بر اينكه سبب افزايش كارايي ميشود، هزينهها را نيز كاهش ميدهد، زيرا امروزه قيمت دو سختديسك 250 گيگابايتي (براي مثال) ارزانتر از يك سختديسك 500 گيگابايتي است. البته بايد اين نكته را يادآور شد كه RAID 0 معايبي نيز دارد كه مهمترين آنها، امنيت پايين است. به عبارتي، اگر يكي از سختديسكها صدمه ببيند، تمامي اطلاعات صدمه ميبيند و غيرقابل استفاده خواهد شد.
همانطور كه گفته شد، اگر يك فايلِ تصويري 200 كيلوبايتي توسط آرايهي RAID 0 ذخيره شود، به دو بخش 100 كيلوبايتي تقسيم خواهد شد و در هر يك از ديسكها، 100 كيلوبايت از اين تصوير ذخيره ميشود. بنابراين با صدمه ديدن يكي از سختديسكها، اين تصوير غيرقابل مشاهده خواهد شد. تصوير شمارهي «1»، بهطور خلاصه نحوهي عملكرد RAID 0 را نمايش ميدهد.
مزایا و مشخصات :
- داده ها به بلوکهایی تبدیل می شوند و هر بلوک در هارد دیسک مجزا ذخیره می شود.
- باعث بالا رفتن کارایی سیستم I/O می گردد چرا که بار ترافیکی نقل و انتقالات بین چندین کانال مجزا تقسیم می شود.
- بالارفتن کارایی بدلیل وجود کنترلرهای مختلفی که عمل کنترل ترافیک را به عهده می گیرند (افزایش سرعت)
- طراحی بسیار ساده ( زیرا مدار محاسبه Parity وجود ندارد )
- عدم پرداختن به محاسبات مربوطه به Parity وکنترل خطا (افزایش سرعت به دلیل عدم پرداختن به محاسبات مربوط به Parity )
معایب :
- عدم استفاده از Parity .(هیچ گونه کد تشخیص و تصحیح خطا در این نوع RAID وجود ندارد ).
- از کار افتادن یک درایو باعث از دست رفتن کلیه اطلاعات خواهد شد.
- عدم کارایی در محیطهای حساس به حفظ داده ها
موارد استفاده :
- میکس و پردازش تصاویر ویدیویی (میکس و مونتاژ ).
- واژه پردازی (نرم افزارهای تایپ و... )
- کارهایی که نیاز به سرعت بالا دارد.
RAID 1+0, RAID 0+1,RAID 1
RAID 1
اين نوع RAID، كارايي سيستم را افزايش نميدهد و هدف آن، بهبود قابليت اطمينان دادههاي كامپيوتر است. توسط RAID 1، كاربر اطمينان دارد كه هيچگاه اطلاعاتي را كه ذخيره كرده است، از دست نخواهد داد. اين نسخه ازRAID به حداقل دو سختديسكِ يكسان نياز دارد و تحت نام Mirroring شناخته ميشود. معادل فارسي لغت Mirror، كلمهي آينه است. حتماً با اين تشبيه ساده، به نحوهي عملكرد RAID 1 پي بردهايد. در آرايهي RAID 1، هر تغييري كه در يكي از سختديسكها اعمال شود، روي ديسك ديگر نيز ايجاد خواهد شد.
به عنوان مثال، اگر فايلي را روي سختديسك اول كپي كنيد، نسخهاي دقيقاً مشابه با اين فايل، بهطور خودكار روي سختديسك دوم نيز كپي خواهد شد. در اين آرايه، اگر سختديسك اول صدمه ببيند، به آساني ميتوان از سختديسك دوم استفاده كرد و بنابراين هيچگاه اطلاعات شما از بين نخواهد رفت. اين نسخه از RAID در حقيقت سيستم پشتيبان مبتني بر سختافزار است و بيشتر در مكانهايي كه اطلاعات مهمي دارند، به كار گرفته ميشود. جدول شمارهي «2»، نحوهي عملكرد سختديسكها را در پيكربندي RAID 1 نمايش ميدهد.
چون سختديسك دوم در واقع ديسكي پشتيبان است، كل ظرفيت ذخيرهسازي تنها ظرفيت يكي از سختديسكهاست. بنابراين اگر شما دو سختديسك 80 گيگابايتي را به حالت آرايهي RAID 1 پيكربندي كنيد، كل ظرفيت ذخيرهسازي شما تنها 80 گيگابايت خواهد بود. بهطور كلي، اگر اطلاعاتي كه در كامپيوتر ذخيره ميكنيد از اهميت خاصي برخوردار است، RAID 1 بهترين روش براي محافظت از آنهاست. تصوير شمارهي «2»، نحوهي عملكرد RAID 1 را نمايش ميدهد
لازم به توضيح است كه پيكربنديهاي ديگري نيز براي RAID وجود دارد، اما همهي كنترلرهاي RAID از آنها پشتيباني نميكنند. در ادامه، بهطور مختصر در مورد ديگر انواع عمومي RAID توضيحاتي ارايه ميكنيم.
مزایا و مشخصات :
-هنگام سیکل نوشتن , گویی اطلاعات روی یک دیسک نوشته می شود (در صورتیکه عملأ بر روی دو دیسک نوشته می شود . مانند RAID0 ولی عمل خواندن , ازهر دودیسک انجام می شود ( کاهش ترافیک گذرگاه - نوشتن بر روی هر دو دیسک ولی خواندن مجزا )
- قابلیت برگرداندن %100 داده ها هنگام بروز مشکل برای یک دیسک .
- در نرخ انتقالات داده تغییر محسوسی نداریم. (یعنی وجود دو دیسک تفاوتی با یک دیسک ندارد ) .
- در شرایط خاص RAID1, توانایی تحمل خرابی بیش از یک دیسک را نیز دارد .
- ساده ترین طراحی در تکنولوژی RAID (مدار مربوط به Parity وجود ندارد )
معایب :
- بیشترین تعداد هارد دیسک در میان انواع RAID (بسته به انتخاب User )
- هزینه بالا
RAID 0+1
همانطور كه از نام آن پيدا است، تركيبي از RAID 0 و RAID 1 است. در حقيقت اين نسخه از RAID مزاياي RAIDهاي 0 و 1 را با يكديگر تركيب ميكند و موجب بهبود قابليت اطمينان و افزايش كارايي ميشود. RAID 0+1 نياز به 4 سختديسك يكسان دارد كه دو سختديسك اول به صورت RAID 0 عمل ميكنند و دو سختديسك دوم Mirror مجموعهي اول خواهند شد. در اين پيكربندي، اگر يكي از سختديسكها صدمه ببيند، سيستم صرفاً به حالت RAID 0 عمل ميكند. جدول شمارهي «3» نحوهي نوشتن اطلاعات در اين آرايه را نمايش ميدهد.
RAID 10 يا RAID 1+0
اين نسخه از RAID، عملكردي تقريباً برعكسِ RAID 0+1 دارد. RAID 0+1 در حقيقت RAID 0 است كه در آن RAID 1 گنجانده شده است، ولي RAID 10 ذاتاً RAID 1 است كه RAID 0 در آن گنجانده شده است. اين نسخه از RAID نيز به 4 سختديسك نياز دارد و اگر يكي از سختديسكها صدمه ببيند، آرايه صرفاً به حالت RAID 1 عمل ميكند. در جدول شمارهي «4»، چگونگي عملكرد RAID 10 نمايش داده شده است.
مزایا و مشخصات :
حداقل به 4 دستگاه هاردیسک نیاز دارد
RAID 0+1 به عنوان آرایه آینه ای نیز معروف است با این تفاوت که قطعات داده ها یا Segment ها طبق استراتژی RAID0 - ایجاد شده اند
تحمل خطای این نوع آرایه مانند RAID5 می باشد -
نرخ انتقال بالا
بهترین انتخاب برای سیستمهایی که به کارایی بالا بدون توجه به حداکثر اطمینان نیاز داشته باشند -
معایب :
RAID 0+1 نباید با RAID10 اشتباه گرفته شود . کوچکترین مشکل در عملکرد یک درایو , آرایه را به مدل RAID0 - تبدیل خواهد کرد
- قیمت بسیار بالا
- جابجایی درایوها باید به صورت موازی انجام گیرد
RAID 5
اين نسخه از RAID، قدرتمندترين نوع RAID براي كامپيوترهاي خانگي است و به كنترلكنندهاي سختافزاري براي مديريت آرايه نياز دارد. اما برخي از سيستمهاي عامل، اين قابليت را از طريق نرمافزار شبيهسازي ميكنند. RAID 5 به حداقل سه سختديسك نياز دارد كه براي آرايهي بهترين كارايي، بايد يكسان باشند. بهطور كلي RAID 5 نوعي از RAID 0 با بيت Parity (بيت توازن) براي مراقبت از اطلاعات آرايه است.
اكنون اجازه دهيد قبل از توضيح كلي در مورد RAID 5، نگاهي مختصر به درس رياضي دوران دبستان بيندازيم:
1+0 = P
0+P = 1
P+1 = 0
در اين معادلهها، با توجه به اينكه دو تا از دادهها معلوم است، به سادگي ميتوان مقدار P را محاسبه كرد. بنابراين اگر بتوان شيوهي ذخيره شدن اطلاعات در RAID 0 را به شكل يك معادله درآورد، زماني كه يكي از سختديسكها صدمه ميبيند، به سادگي ميتوان اطلاعات موجود در آن را بازيابي كرد. اين موضوع سبب افزايش امنيت RAID 0 ميشود. RAID 5 دقيقاً همين كار را ميكند و با ايجاد توازن (Parity)، سبب افزايش امنيت اطلاعات در آرايهي RAID 0 ميشود.
در حقيقت بيت توازن نوعي محاسبات باينري است كه دو بلوك از داده را با همديگر مقايسه ميكند و بلوك دادهي سوم را براساس بلوكهاي 1 و 2 تشكيل ميدهد. اگر حاصل جمع دو بلوك داده زوج باشد، بيت توازن نيز زوج خواهد بود. اما اگر حاصل جمع دو بلوك داده فرد باشد، بيت توازن فرد خواهد بود. در محاسبات باينري، 0+0 و 1+1 هر دو برابر با صفر و 0+1 و 1+0 هر دو برابر با 1 هستند. براساس اين روش، اگر يكي از سختديسكهاي آرايه RAID 5 صدمه ببيند، زماني كه سختديسك ديگري جايگزين آن شود، بيت توازن اجازه خواهد داد اطلاعات دوباره احيا شوند (با دانستن حاصل جمع يك معادله و يكي از اعداد معادله، به راحتي ميتوان عدد مجهول را پيدا كرد). جدول شمارهي «5»، نحوهي عملكرد RAID 5 را نمايش ميدهد كه حرف "P" در آن، معينكنندهي بيت توازن است.
همانطور كه در جدول شمارهي «5» مشاهده ميكنيد، بيت توازن بين سختديسكها براي افزايش كارايي و قابليت اطمينان دادهها تغيير مكان ميدهد. افزايش كارايي به اين دليل است كه به جاي نوشتن اطلاعات روي يك سختديسك، از چندين سختديسك استفاده ميشود. ضمن اينكه اگر سختديسك 2 صدمه ببيند، دادههاي موجود در اين سختديسك ميتوانند براساس دادهها و بيت توازنِ قرار گرفته در دو سختديسك ديگر، دوباره بازسازي شود. بهطور كلي ظرفيت ذخيرهسازي اين آرايه برابر با مجموع ظرفيت دو سختديسك است. يعني اگر از 3 سختديسك 500 گيگابايتي استفاده شود، ظرفيت ذخيرهسازي براي اين آرايه 1000 گيگابايت خواهد بود. اين را هم بدانيد كه اگر يكي از سختديسكها صدمه ببيند، بعد از جايگزين كردن آن با يك ديسك سالم، بازيابي اطلاعات ديسك معيوب مدتي طول خواهد كشيد.
JBOD
اين كلمه مخفف عبارت Just a Bunch Of Disks است و در حقيقت سيستم RAID به حساب نميآيد. JBOD از دو سختديسك با ظرفيتهاي مختلف استفاده ميكند و سبب ميشود سيستم عامل به جاي دو سختديسك با ظرفيتهاي مختلف، يك سختديسك با ظرفيت بيشتر را تشخيص دهد. به عنوان مثال، ميتوانيد توسط JBOD يك سختديسك 40 گيگابايتي را به يك سختديسك 80 گيگابايتي اضافه كنيد، طوري كه كامپيوترتان آنها را به عنوان يك سختديسك 120 گيگابايتي شناسايي كند.
RAID نرم افزاری به دو راه مورد استفاده قرار میگیرد:
۱) به عنوان یک راه حل نرم افزاری خالص (Pure)
2) به عنوان یک راه حل ترکیبی که شامل سخت افزارهای طراحی شده برای بهبود کارایی پردازشگر است.
۱) راه حل نرم افزاری خالص: در این حالت نرم افزار بدون هیچ گونه کمک سخت افزاری تنها با استفاده از امکانات سیستم به عنوان یک نرم افزار کاربردی در کنار سایر نرم افزارهای اجرا شده در سیستم عامل انجام وظیفه خواهد نمود. هارد دیسک مورد استفاده در این روش همان دیسکی است که سیستم عامل روی آن قرار دارد. برخی از این RAID های نرم افزاری قابلیت یکپارچه شدن با سیستم عامل سرور به همراه برنامه های رایگان را دارا هستند که باعث ارزان شدن این روش میگردد.
برخی مزایا و معایب این روش:
- هزینه پایین (تنها هزینه، دیسک های اضافه شده است)
- عدم محافظت در هنگام بوت (عدم قابلیت مدیریت و محافظت از دیسک های خراب در مرحله بوت)
- بار اضافی تحمیلی بر روی سرورها (بدلیل اجرا شدن روی سیستم عامل. این روش برای RAID 0,1,10 پیشنهاد میشود)
- محدودیت در مهاجرت به سیستم عامل دیگر
- آسیب پذیری در مقابل ویروسها
- امکان از دست دادن تمام داده ها بدلیل مشکلات سخت افزاری یا نرم افزاری سیستم عامل
- عدم استفاده از قابلیت کش
۲) راه حل ترکیبی – سخت افزار با کمک نرم افزار: در این روش نرم افزار RAID با کمک سخت افزارهای اضافه شده بر روی مادربرد مانند یک HBA با یک بایوس RAID که ضعف راه حل قبلی را هنگام بوت سیستم برطرف میسازد، انجام وظیفه میکند. بعلاوه اینکه درایورهای سخت افزاری مورد استفاده در این روش توسط اکثر سیستم های عامل مطرح پشتیبانی میشود.
برخی مزایا و معایب این روش:
- هزینه معقول (فقط یک HBA و یا یک فلش دیسک برای بایوس به عنوان هزینه تحمیل خواهد شد)
- محافظت در هنگام بوت
- کاربر گرافیکی مخصوص برای ساخت و نگهداری RAID
- سایر معایب موجود در روش اول.
RAID سخت افزاری:
در این روش برنامه RAID از طریق پردازشگر و رم تعبیه شده در دستگاهی مستقل از کامپیوتر میزبان اجرا میشود. سخت افزار میتواند بصورت یکپارچه بر روی مادربرد و یا یک کارت اسلات قابل نصب بر روی مادربرد استفاده شود.
ساده ترین راه برای تشخیص اینکه کدام نوع RAID سخت افزاری یا نرم افزاری برای کار شما مناسبتر است بررسی مشخصات فنی یا برگه های راهنمای هر یک میباشد. اگر روش ارائه شده شامل میکروپروسسور (معمولاً I/O، پردازشگر یا در برخی موارد ROC – به معنی RAID تعبیه شده در چیپست) بود، روش ارائه شده سخت افزاری است. و اگر پردازشگری در کار نبود نرم افزاری است. برای شما مهم است که بدانید کدام روش چه اثراتی در روند کار شما داشته و مطلوب شما است. اثرات مورد بحث موارد زیر هستند:
- وضعیت عملکرد پردازشگر هنگام اجرای سایر برنامه ها
- قدرت کارایی دیسک هایی که میتوانند روی سیستم اضافه شوند
- سهولت بازگرداندن اطلاعات بعد از خرابی
- قابلیت مدیریت و مونیتورینگ پیشرفته داده ها
- امکان مدیریت دیسک ها بطور همزمان در سیستم عامل های مختلف
- امکان نصب باطری پشتیبان تا کَش نوشتاری سیستم را ارتقاء ببخشد
پیاده سازی RAID سخت افزاری:
به دو روش ممکن است. ۱) بصورت یک کارت مستقل ۲) بصورت یکپارچه ارائه شده بر روی چیپست مخصوص.
پیاده سازی RAID سخت افزاری:
به دو روش ممکن است. ۱) بصورت یک کارت مستقل ۲) بصورت یکپارچه ارائه شده بر روی چیپست مخصوص.
۱) بصورت یک کارت مستقل:
یک نوع کارت قابل نصب بر روی اسلات های PCI-X یا PCIe مادربرد است که پردازشگر و کنترولر I/O بر روی آن تعبیه شده. قیمت برخی از این کارت ها بالا است اما انعطاف پذیری آن باعث شده روشی مناسب در بین روش های RAID بحساب آید. در اینجا عملکرد RAID از سیستم میزبان کاملاً جدا است. شخصیت مستقل این کارت اجازه استفاده حداکثری از قدرت پردازشگر و رم سریعتر آن را ممکن میسازد. کارت RAID بصورت کامل و با تمام ظرفیت وظایف ذخیره سازی در دیسک های مستقل را حتی هنگام خرابی دیسک ها انجام میدهد. مزایای پیچیده و فضای بیشتر دیسک ها بعنوان نمونه در سطوح RAID 5,6 بدون فشار بر روی سیستم در این روش قابل دسترسی است.
رابط های I/O اضافی بر روی کارت معمولاً بسط پذیری بیشتری ( اضافه کردن دیسک های بیشتر با ظرفیت بیشتر ) را برای سیستم فراهم می آورد. حتی آرائه های RAID چندگانه فشاری بر عملکرد سیستم ندارند. در نتیجه مهاجرت به سایر سیستم عامل ها،دستگاهها و پلت فرمها ممکن است.
مزایا و معایب این روش:
- محافظت هنگام بوت (هیچ فشار منفی هنگام بوت سیستم در زمان خرابی های متوسط یا کامل وجود ندارد)
- عملکردی مستقل از بار اعمالی بر روی سرور ( رم سریع، پردازشگر سریع و بدون فشار بر روی سیستم میزبان)
- برنامه RAID مستقل از میزبان (عدم از دست دادن اطلاعات در اثر خرابی سیستم)
- حفاظت پیشرفته در صورت قطع شدن برق (برخلاف RAID نرم افزاری)
- عدم آسیب پذیری به ویروس
- بهره مندی از کاربر گرافیکی مستقل برای مدیریت و ساخت RAID
- سهولت در مهاجرت و جایگزینی
- پشتیبانی از ویژگی های پیشرفته RAID
- قابلیت کَش روی کنترولر با استفاده از باطری پیشتیبان
- هزینه بالای پردازشگر I/O، مموری روی کارت.
۲) بصورت یکپارچه بر روی چیپست:
در این روش، پردازشگر RAID، کنترولر رم، رابط کاربری، رابط I/O برای ارتباط با هارد دیسک ها، و برخی اوقات خود رم، تمامی در یک چیپ جمع شده اند. این چیپ میتواند در یک مادربرد با هزینه پایینی تعبیه شده باشد. ROC جایگزین شده با چیپ I/O را میتوان بر روی بسیاری از مادربردهای سرور یافت. (به عنوان نمونه یک چیپ کنترولر SCSI) بدین معنی که روش ROC چیزی فراتر از یک ارتباط بین هارد دیسک هاست.
مزایا و معایب RAID سخت افزاری مبتنی بر ROC:
- محافظت هنگام بوت (هیچ فشار منفی هنگام بوت سیستم در زمان خرابی های متوسط یا کامل وجود ندارد)
- عملکردی مستقل از بار اعمالی بر روی سرور ( رم سریع، پردازشگر سریع و بدون فشار بر روی سیستم میزبان)
- برنامه RAID مستقل از میزبان (عدم از دست دادن اطلاعات در اثر خرابی سیستم)
- حفاظت پیشرفته در صورت قطع شدن برق (برخلاف RAID نرم افزاری)
- عدم آسیب پذیری به ویروس
- بهره مندی از کاربر گرافیکی مستقل برای مدیریت و ساخت RAID
- سهولت در مهاجرت و جایگزینی
- پشتیبانی از ویژگی های پیشرفته RAID
- قابلیت کَش روی کنترولر با استفاده از باطری پیشتیبان
- هزینه متوسط
- محدودیت در انعطاف پذیری و مهاجرت
کدان یک از RAID سخت افزاری یا نرم افزاری برای برنامه شما مناسب است؟
اکنون که مزایا و معایب انواع روش های پیاده سازی RAID را دانستیم میتوانیم با نگاهی به چند سناریوی سرور و بهینه سازی آن به اهداف مورد نیاز خود برسیم.
روش نرم افزاری خالص RAID: مناسب برای سطوح RAID 0,1 با وجود این مشکل عدم قابلیت استفاده در هنگام بوت را داراست.
برنامه های پیشنهادی: ۱- ایستگاههای کاری بدون نیاز به ذخیره سازی داده با ظرفیت بالا ۲- سرورهای ابتدایی بدون نیاز به محافظت هنگام بوت
روش راه حل ترکیبی: از نظر هزینه تقریباً با روش نرم افزاری خالص مشابه است اما قابلیت محافظت در بوت را نیز داراست.
برنامه های پیشنهادی: ۱- سرورهای ابتدایی بدون نیاز به ذخیره سازی با ظرفیت بالا. ۲- محاسبه گرهای متصل شده به دیتاسنترهای تحت شبکه.
روش سخت افزاری: دارای غنی ترین و بالاترین ویژگی های کاربردی است که میتواند بصورت یکپارچه همراه با مادربرد (ROMB) و یا کارت های افزونه ای استفاده شود.
برنامه های پیشنهادی: ۱- ایستگاههای کاری با عملکرد و ذخیره سازی اطلاعات بالا. ۲- سرورهای ابتدایی-سازمانی که نیاز به عملکرد بهتر و ذخیره سازی در زیرسیستم دارند.
به طور کلی RAID سخت افزاری علاوه بر مزیت های نرم افزاری الگوریتم های پیچیده را نیز ارائه میدهد. به عنوان مثال اندازه گیری ها نشان داده نرم افزار RAID 6 بار سنگینی را بر روی منابع سیستم تحمیل میکند در حالیکه RAID سخت افزاری در پیکربندی مشابه عملکرد بسیار بهتری دارد.
(http://kuleposhti.ir/wordpress/wp-content/uploads/2009/11/raidfeatures.gif)
نتیجه گیری:
این مقاله مزایای روش های RAID سخت افزاری و نرم افزاری را بررسی کرد. پیشرفت ها در تکنولوژی سیلیکون امکان یکپارچه سازی سخت افزار RAID در یک چیپست را ممکن ساخته که بزودی بصورت انبوه روی چیپست های سرور شاهد آن خواهیم بود و این یعنی کاهش هزینه پیاده سازی. این کاهش هزینه به ساخت سرورهای ارزان قیمت که کاربران بیشتری را سرویس دهد کمک میکند. در حال حاضر، سطوح جدیدی از محافظت و مدیریت داده ها در دسترس هستند. RAID 6 دو دیسک خراب و همچنین رمزنگاری داده ها را پیشیبانی میکند. در بسیاری ازموارد RAID سخت افزاری بهترین عملکرد را با هزینه ای مناسب به ارمغان می آورد.
گردآورنده : بدسکتور