نويسنده : كيانوش مراديانناشر : همكاران سيستم
استفاده از چندين ديسك سخت در جهت بالابردن كيفيت و اطمينان
مقدمه :
حدود سالهاي 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 مشاهده ميكنيد.
•ظرفيت ذخيرهسازي به بزرگي ظرفيت كمترين درايو است.
•كيفيت ذخيرهسازي بالا نميرود.
•براي عوض كردن درايو فعال در صورت بروز مشكل مجبور به قطعي موقت هستيم.
RAID 0+1
اين مدل مخلوطي از دو مدل RAID گذشته است و توليد كنندگان سعي كرده اند تا فايدههاي دو مدل قبلي را در يك مدل پيادهسازي كنند. در اين سيستم حداقل چهار درايو ديسك سخت مورد نياز است تا بتوان روش هاي Striping و Mirroring را مخلوط كرد و به كيفيت بالاتر ذخيرهسازي همراه با Redundancy رسيد. جفت اول درايوها ميتوانند فعال بوده و اطلاعات را مانند RAID0 ذخيره كنند. جفت درايو دوم در واقع كپي از اطلاعات دو درايو اول هستند.
در زير نمونه پيادهسازي اين مدل آمده است :
RAID 10 or 1+0
RAID10 بسيار شبيه به RAID 0+1 ميباشد با اين تفاوت كه تقسيم بلوكهاي اطلاعات بين زوج درايوها انجام ميشود و عمليات Mirroring در هر زوج از درايوها صورت ميگيرد، يعني درايو يك و درايو دو RAID1 شده و Mirror هستند. درايو سه و درايو چهار نيز mirror يكديگر هستند. اين دو مجموعه درايو به صورت Strip تنظيم شده و با هم كار ميكنند.
مثال زير نحوه نوشته شدن اطلاعات در مدل RAID10 را نشان ميدهد.
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 تا حدودي كاهش مييابد. ظرفيت آرايه منطبق بر فرمول زير كاهش مييابد. در اين فرمول 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 مستلزم هزينه بالا است و لذا بيشتر در شبكههاي بزرگ و سرورهاي اصلي مورد استفاده قرار ميگيرد.