آموزش مقدمات شبکه – بخش دوازدهم

دوره آموزشی مقدمات شبکه

Performance & Fault Tolerance

در این بخش از دوره آموزشی مقدمات شبکه به مبحث RAID می پردازیم و انواع آن را مورد تحلیل و بررسی قرار خواهیم داد.

برای نگهداری شبکه و پایداری استفاده از آن، باید مواردی از جمله سرعت، نحوه خدمات دهی و همچنین پیش بینی شرایط بحران را در نظر گرفت.
در این قسمت ما به دو بخش RAID و Backup اشاره خواهیم کرد.
قبل ار شروع مبحث RAID لازم است مطالبی را در مورد مدیریت هارد و اصطلاحات آن را بیان کنم.

مدیریت هارد دیسک

تقسیم بندی های مختلفی برای انواع هارد و مدیریت آنها وجود دارد، که یکی از آنها MBR یا GPT بودن آن است که به آن اشاره می شود.
یکی از مشکلات قدیمی در مدیریت دیسک ها عدم پشتیبانی از درایوهای بیش از 32 گیگابایت بود که با ساختار فایلی FAT32 سازگار نبود و مدیر سیستم می بایست ساختار فایلی درایو را به NTFS تغییر دهد. همین مشکل برای درایوهایی با بیش از دو ترابایت بر روی ویندوز سرور 2003 نیز مشاهده شده است.

به صورت پیش فرض Windows Server 2003 از درایوهایی با بیش از 2TB پشتیبانی نمی نماید. البته مشکل فوق حتی با فایل سیستم NTFS نیز قابل حل نخواهد بود. حال برای رفع مشکل فوق بایستی محل ذخیره سازی اطلاعات مربوط به فایل سیستم دیسک تعریف شده در ویندوز را از MBR به GPT تغییر دهیم.
با انجام این کار می بینیم که سیستم عامل فضایی بیشتر از 2TB را پشتیبانی می نماید ( فضایی در حدود 256 ترابایت). برای تغییر نوع دیسک خود از MBR به GPT کافیست در قسمت خط فرمان خود دستور DISKMGMT.MSC را تایپ نموده و در کنسول مدیریت دیسک بر روی دیسک مورد نظرتان راست کلیک کرده و گزینه CONVERT TO GPT DISK را انتخاب کنید.

نوع دیگر تقسیم بندی از لحاظ Basic یا Dynamic بودن هارد است. هارد های از نوع Basic به منظور نصب ویندوز مناسب می باشند. هارد از نوع Dynamic به منظور استفاده در RAID به کار می رود.
نکته حائز اهمیت این است که تبدیل این دو به همدیگر امکان پذیر می باشد. فقط درهنگام تبدیل از Basic به Dynamic، اطلاعات از بین نرفته ولی به صورت بالعکس اطلاعات شما از بین می رود.
نکته دیگر که باید در نظر داشت این است که هیچ گاه هاردی که در آن ویندوز نصب شده است را به Dynamic تبدیل نکنید.

RAID

یکی از مفاهیم مهمی که در این قسمت باید به آن توجه نمود، RAID (Redundant Array of Independent Disks)می باشد.

RAID هم به صورت سخت افزاری و هم به صورت نرم فزاری قابل پیاده سازی می باشد. در زیر نمونه هایی از سخت افزارهای RAID را مشاهده می کنید که در آن چندین Slot برای قرار دادن هارد وجود دارد.

RAID

RAID یکی از موارد افزایش تحمل خطای سیستم است . روش‏های مختلفی برای ترکیب چند هارد دیسک در یک آرایه ، بسته به نیاز برنامه ‏های کاربردی ، وجود دارد. اما در همه‏ حالات استفاده از چندین درایو نتایجی چون : افزایش گنجایش ، امنیت داده و کارآیی درایوها را به دنبال خواهد داشت.

به یاد داشته باشید که این روش ‏ها روش‏ های خیلی ارزانی نیستند و همیشه با پیچیدگی و هزینه ‏های زیادی همراهند.
از زمان اختراع کامپیوتر تا به حال کدهای نرم ‏افزاری رشد زیادی داشته ‏اند. و این رشد نیاز به یک محیط ذخیره ‏سازی بزرگ را افزایش داده‏است و ابداع شبکه ‏های محلی و اینترنت نیز این نیاز را شدیدتر کرده ‏است. مبنای کار RAID فضای دیسک است و توانسته‏ است با ترکیب فضای هارددیسک‏ های کوچک با هم در یک مخزن بسیار بزرگ مشکلات را برطرف کند.

پیش از اینRAIDبه دلیل هزینه ‏های بسیار بالای سخت‏ افزار مورد نیاز آن ، بیشتر برای کاربردهای تجاری با حوزه‏ای محدود به‏ کار می ‏رفت. ولی در چند سال‏ها اخیر این امر دچار تغییر شده ‏است ، از میان تمام سروصداهایی که برای بهبود کارایی و استفاده بهتر از زمان می ‏شود ، RAID توانسته راه خود را باز کند و یک پله بالاتر از همه قراربگیرد. افزایش کنترلرهای RAID ارزان که می ‏توانند با نسخه‏ مصرف‏ کننده‏ IDE/ATA کارکنند ( مانند آن‏چه واحدهای گران‏ قیمت SCSI انجام می ‏دهند) اشتیاق همگان را به RAID افزایش داده ‏است. و این گرایش شاید ادامه یابد. در حال حاضر نیز تعداد زیادی از سازندگان مادربورد ،بوردهای خود را با حمایت از استاندارد RAID به بازار عرضه‏ می‏ کنند . متاسفانه RAID در زمینه‏ کامپیوتر به طور واقعی اشکالات را برطرف نمی کند. با این حال اگر به طور صحیح اجراشود ، می‏تواند زمان از کارافتادگی را از بین ببرد.

انواع RAID ها

RAID ها انواع مختلفی را شامل می شوند که از مهمترین و پرکاربردترین آنها RAID صفر، RAID یک و RAID پنج می باشد که به آنها اشاره خواهیم کرد.

RAID صفر

این نوع از RAID شامل مجموعه ديسك های جدا که در آن اطلاعات به صورت بلاک بلاک روی هر دو دیسک ذخیره می شوند. كارایی بهتر و افزونگی ذخيره سازی را فراهم مي كند اما بدون توانايی تحمل نقص و اشكال می باشند. خرابي هر يك از هارديسك ها باعث از بين رفتن آرايش مي شود. خرابي يك هارديسك نابودی كل آرايش را به همراه دارد، زيرا اطلاعاتي كه در اين مدل نوشته مي شود اطلاعات به قطعاتي شكسته مي شود. تعداد قطعات توسط تعداد هارديسك ها مشخص مي شود. قطعات اطلاعات با هم در سكتورهای مشابه در ديسك های مربوطه نوشته می شود.

اين اجازه مي دهد قطعات كوچكتر از كل قطعه بزرگ بطور موازي از درايوها خوانده شود كه نتيجه اين مدل چينش پهناي باند زياد مي باشد. هنگامي كه يك سكتور روی يكي از ديسك ها خراب شود سكتورهاي مشابه روی تمام ديسك های ديگر بدون استفاده خواهد بود. زيرا بخشي از اطلاعات خراب شده است. اين مدل چينش بررسي خطا ندارد بنابراين هر خطايي غيرقابل بازبابي خواهد بود. ديسك هاي بيشتر پهناي باند بيشتري را در پي خواهد داشت اما ريسك از دست دادن اطلاعات نيز بيشتر مي شود.

RAID صفر سریعترین و مناسب‏ترین روش از میان تمامی حالات RAID است. و بهترین کارمفید و کارآیی را در ذخیره ‏سازی داده ‏ها ارایه می‏ دهد. ولی باید گفت که هیچ‏گونه تحمل خطایی ندارد. اگر یکی از دیسک‏ ها دچار مشکل شود ، تمام آرایه از کار می‏ افتد و هیچ راهی برای بازگرداندن داده‏ های از دست رفته وجود ندارد. در RAID 0 ،کارآیی به اندازه‏ی بلوک ‏ها بستگی دارد. اگر اندازه‏ آن‏ها خیلی کوچک باشد دستورات برای اجرا در عملیات نوشتن متمرکز می ‏شوند ، علاوه بر آن به دستورات واسط سخت ‏افزاری بیشتری نیاز است.

بهینه سازی اندازه‏ بلوک‏ ها باعث می ‏شود که افزایش توان عملیاتی کار می ‏شود ، به ویژه برای درخواست‏ های موازی برای خواندن داده ‏ها. اندازه‏ بلوک‏ها قابل تنظیم است . ولی شما باید بیت به بیت آزمایش کنید تا به نتیجه‏ مطلوب برسید. اما یکی از تقاط شروع خوب برای حداقل اندازه‏ بلوک 16 کیلوبایت است.

برای محیط‏ های چندکاربره می ‏توانیم آرایه را با نوارهای بزرگ تنظیم کنیم. برای سیستم‏های تک‏ کاربره که به طور مداوم با رکوردها سروکار دارند نیز می‏ توان اندازه‏ نوارهای موجود در آرایه را کوچک تر در نظر گرفت. به طور نمونه اندازه‏ فایل 48 کیلوبایت است. 16 کیلوبایت از این فایل روی دیسک اول ،16 کیلوبایت در دیسک دوم و 16 کیلوبایت دیگر در دیسک سوم نوشته ‏می ‏شود.

RAID یک

به این سطح ، mirroring نیز گفته می ‏شود و اساساً یک ترکیب از دو هارد دیسک است که اطلاعات یکی از این دو ، عیناً روی دیگری کپی می ‏شود و در کامپیوتر به صورت یک درایو نمایش داده‏ می ‏شود. تحمل خطا در RAID 1 وجود دارد. چراکه اگر یکی از دیسک ‏ها از کار بیفتد آرایه می ‏تواند همچنان به فعالیت خود ادامه دهد. به دلیل این‏که هم‏زمان از دو هارد دیسک استفاده می ‏شود ، زمان خواندن سریعتر می‏ شود. روشی که در این‏جا برای خواندن داده ‏ها به‏ کارگرفته می ‏شود ، زمان‏بندی Round-robin (روح سرگردان ) نام دارد. که سرور برای خواندن داده ‏ها مرتباً از یک هارد به هارد دیگر می ‏رود و عملاً زمان را بین دو هارد دیسک تقسیم می‏ کند.

سرعت خواندن در این جا دوبرابر سرعت خواندن از یک درایومنفرد فاقد mirroring است. با این حال در موقع نوشتن ، داده‏ ها باید روی دو هارد دیسک نوشته ‏شوند. و عملاً می‏ بینیم که در مدت زمان نوشتن تغییری حاصل نخواهدشد. نسبت به سایر انواع آرایه‏ های افزایشی، این سطح بهترین کارآیی را دارد. ولی از لحاظ رتبه در هنگام ازکارافتادن درایو ، نسبت به RAID 5 کارآیی کمتری دارد. بزرگترین عیب این سطح ، هزینه ‏ای است که برای درایوهای اضافی آن پرداخت می ‏شود.

به هر حال هیچ ‏چیز ارزان به دست نمی‏ آید و برای داشتن یک سیستم امن و کارآ باید هزینه ‏های زیادی پرداخت چراکه اگر سیستم ازکار بیفتد یا حتی برای ساعاتی متوقف شود ، هیچ هزینه‏ای نمی‏ تواند جایگزین داده‏ ها و اطلاعات باارزش ازدست رفته ما باشد.

RAID پنج

اساساً RAID 5 شبیه RAID 1 است . با این تفاوت که RAID 5 برای هر نوار از داده ‏ها یک پریتی ذخیره می‏ کند. اما در مقایسه با RAID 1 عملیات نوشتن آهسته‏ تر است. زیرا یک زمان اضافی برای نوشتن اطلاعات پریتی نیاز است. در موقع نوشتن اطلاعات RAID 5 تقریباً 60 درصد آهسته‏ تر از RAID 1 عمل می‏ کند.

عملیات خواندن هم هیچ تغییری پیدا نمی‏ کند. برای رسیدن به بهترین کارآیی ، RAID 5 باید یک فضای ذخیره‏ سازی داشته باشد برابر با حاصل جمع فضای تمامی هارد دیسک ها منهای 1. بعضی مواقع به این سطح از RAID ، ” آرایه با پریتی چرخشی ” نیز گفته‏ می‏ شود. چرا که مانند RAID 4 پریتی ‏ها را در یک درایو جداگانه جمع نمی‏ کند و این اطلاعات را در تمام آرایه و بر تمام درایوها توزیع می‏ کند. هیچ درایو منحصر بفردی برای ذخیره‏ اطلاعات پریتی وجود ندارد.

تمام درایوها شامل داده هستند و عملیت خواندن می‏ تواند از تمام درایوها به صورت مشترک انجام شود. برای نوشتن اطلاعات نیز به یک درایو داده و نیز یک درایو دیگر برای ذخیره‏ اطلاعات پریتی نیاز داریم. با توجه به این‏که ، پریتی رکوردهای مختلف روی درایوهای دیگر قرارمی‏ گیرد ،عملیا ت نوشتن معمولاً می‏ تواند به اشتراک گذاشته شود.

بیشترین استفاده از RAID 5 در سرورها و شبکه ‏های محلی می ‏باشد ، جایی که فضای ذخیره‏ سازی و تحمل خطا بسیار اهمیت دارد. در این روش نیازی به وجود درایو آیینه وجود ندارد . زیرا اگر یکی از دیسک‏ های اصلی از کار بیفتد ، سرور اطلاعات از دست رفته از نوارهای پریتی ذهیره شده روی دیگر درایوها بازسازی می‏ کند. برای اجرای RAID 5 ، حداقل به سه هارد دیسک نیاز داریم.

شایان ذکر است از جناب آقای سامی آقاسرشار کارشناس مرکز فناوری اطلاعات که اکثر قسمت های عنوان شده در مورد RAID برگرفته از مقاله ایشان در همین زمینه در سایت www.ict.gov.ir بود تشکر نمایم.

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید