خوب تا اینجا در خصوص حافظه های Solid State Storage ها و مزایای و معایب آن صحبت کردیم ، در این مقاله توجه خود را بیشتر بر روی هارد دیسک های SAS یا همان C ها می گذاریم . بدون شک در آینده ای نه چندان دور حافظه های Solid State Storage در زمینه ذخیره سازی در تمامی زمینه ها به عنوان حکمفرمای این زمینه وجود خواهند داشت ، اما امروزه در سرورها هارد دیسک های SAS به عنوان دستگاه ذخیره سازی معمول مورد استفاده قرار می گیرد . هارد دیسک های SAS کارایی نسبتا مناسب ، قیمت مناسب و همچنین دارای ظرفیت های بالا هستند و از طرفی به عنوان یک دستگاه ذخیره سازی قابل اطمینان در طی سالهای اخیر مورد تایید قرار گرفته اند.
برای اینکه بتوانید واقعا ارزش هارد دیسک های SAS را درک کنید بهتر است کمی در خصوص تاریخچه این نوع درایو برای شما توضیح بدهیم . در دهه ۱۹۹۰ تقریبا تمامی سرورها از هارد دیسک های SCSI ( اسکازی تلفظ می شود ) می کردند. اگر کسی در آن زمان به عنوان مهندس سیستم از هارد دیسک های SCSI استفاده کرده باشد قطعا به شما در خصوص این نوع از هارد دیسک ها تعریف نخواهد کرد و یه عنوان یکی از مشکل ترین هارد دیسک ها از آن نام خواهد برد. روشی که در پیاده سازی هارد دیسک های SCSI در آن زمان استفاده می شد بر اساس چیزی بود که به نام multidrop bus شناخته می شد که البته به آن SCSCI Bus هم گفته می شد . SCSI Bus شامل یک کارت کنترلر یا Controller Card که در داخل SCSI Initiator قرار داشت ، یک کابل یا تسمه نواری ، یک یا بیشتر از یک عدد دستگاه SCSI و در نهایت یک Terminator می شد.
نکته جالب و مفیدی که در خصوص این نوع پیاده سازی SCSI وجود داشت امکان ترکیب و تطبیق دادن دستگاه های مختلف یا به اصطلاح Mix Match کردن دستگاه های مختلف بود ، با این امکان به محض اینکه به دستگاه مورد نظر یک SCSI ID ( در مورد این مسئله بعدا بیشتر بحث خواهیم کرد ) تعلق بگیرد به عنوان یک SCSI به سیستم معرفی می شود . این یعنی اینکه شما می توانید یک هارد درایو ، یک نوار یا Tape Drive ، یا حتی یک اسکنر را به یک SCSI Bus متصل کنید . متاسفانه این انعطاف پذیری هزینه زیادی را در بر داشت . هر SCSI Bus می تواند تا حداکثر هشت یا شانزده عدد دستگاه را به هم متصل کند . نکته در اینجاست که ساختار پردازشی یا بهتر بگوییم ساختار کاری SCSI Bus ها بصورت موازی یا Parallel است و بنابراین تمامی دستگاه هایی که به این Bus متصل می شوند از پهنای باند بصورت مشترک استفاده می کنند و این یعنی اینکه با بالا رفتن تعداد دستگاه هایی که به یک Bus متصل می شوند تمامی دستگاه های دیگری که به همین Bus متصل شده اند از نظر کارایی دچار مشکل خواهند شد.
کار کردن با پیاده سازی هایی که در دهه ۱۹۹۰ برای هارد دیسک های SCSI انجام می شد به دلیل وجود محدودیت های سخت افزاری نسبتا سخت بود . هر دستگاهی که به یک SCSI Bus متصل میشد بایستی یک شماره SCSCI ID می گرفت ، در واقع SCSI ID شماره ای بود که کنترلر برای شناسایی دستگاه مورد نظر به آن اختصاص می داد. معمولا SCSI ID یک دستگاه از طریق استفاده از سویچ ها ، جامپرها و یا شماره ای که در پشت دستگاه ذکر شده است تنظیم می شود. مسئله ای که کارکرد SCSI ID را کمی مشکل می کرد این بود که همه دستگاه ها از SCSI ID پشتیبانی نمی کردند. برای درک بهتر این مسئله فرض کنید که اگر شما تمامی شماره ها را به غیر از شماره ۳ استفاده کرده باشید و یک دستگاه جدید به سیستم اضافه کنید که عدد ۳ را پشتیبانی نمی کند برای اینکه بتوانید تنظیمات درست را اعمال کنید بایستی تمامی SCSI ID های موجود بر روی دستگاه های مختلف را مجددا عوض کنید تا بتوانید یک SCSI ID منحصر به فرد به دستگاه جدید بدهید .
خوب اگر فکر می کنید مورد قبلی که عنوان شد چندان هم مشکلی به حساب نمی آید توجه شما را به مشکل دیگری جلب می کنم ، همانطور که گفتیم SCSI ID ها معمولا از طریق سویچ ها و شماره های دستگاه تعیین می شوند ، حال اگر دستگاه را تعویض کنید و یا یک دستگاه خارجی جدید به سیستم اضافه کنید ترتیب این SCSI ID ها عوض می شود و شما مجبور خواهید شد که SCSI ID را مجددا تنظیم کنید ، این فرآیند بصورت تصادفی رخ می دهد و معمولا باعث تغییر SCSI ID دستگاه ها می شود که قطعا برای شما مشکلاتی را ایجاد خواهد کرد.
یکی دیگر از مشکلات SCSI نیازمندی این سیستم به ترمیناتور یا پایان دهنده بود . دستگاه هایی که در یک SCSI Bus قرار میگیرند بصورت Daisy Chain به یکدیگر متصل می شوند و آخرین دستگاه که به این شکل به Bus متصل شده است دارای یک Terminator می باشد . بیشتر دستگاه های SCSI ای که در قدیم وجود داشتند نیازمند یک قطعه سخت افزاری ویژه به عنوان Terminator بودند اما دستگاه های جدیدتر و پیشرفته تر این Terminator را در ساختار خود دیده بودند . اما نکته در اینجاست که خود Terminator ها معمولا یا گم می شدند و یا بدون هیچ دلیل موجهی دچار مشکل می شدند و خراب می شدند . خوب با به وجود آمدن هر گونه مشکلی در این رابطه برای هر یک از دستگاه های موجود در Bus تمامی این دستگاه ها دچار مشکل می شدند . خوب شما تصور کنید که در چنین مشکلاتی بایستی آخرین درایورهای موجود دستگاه و اطمینان از هماهنگی و تطابق دستگاه ها در دستگاه های SCSI و کارت های کنترلر همگی بررسی شوند ، به نظرم بهتر است دیگر از ورود کردن به این نوع مشکلات سخت افزاری پیچیده خودداری کنیم و به بحث اصلی بپردازیم . در نهایت به این موضوع می رسدید که پیاده سازی SCSI ای که به درستی کار کند بسیار مشکل بود .
نسل جدید SCSI ها
خوب بعد از اینکه کمی در خصوص مشکلاتی که در استفاده از هارد درایو های SCSI سنتی وجود دارد صحبت کردیم حتما برای شما هم کمی تردید ایجاد شده است که آیا با این حال ما می توانیم از Serial Attached SCSI ها استفاده کنیم یا خیر ؟ بایستی توجه شما را به این موضوع جلب کنم که دیگر هارد درایوهای SCSI دارای ساختار قدیمی نیستند و به مرور زمان خود را پیشرفت داده اند و امروزه شما با عنوان هارد درایوهای SAS براحتی می توانید از این دستگاه ها استفاده کنید . خوب شاید برای شما هم جالب باشد که بدانید که SAS های امروزی چندان از نسل گذشته خود چیزی به ارث نبرده اند و تغییراتی اساسی در آنها انجام شده است . تنهای چیزهایی که به ظاهر از نسل قبی است دستگاه ها به جای مانده است واژه های سخت افزارهای مورد استفاده و همچنین تا حدودی شباهت های ظاهری می باشد که فکر می کنم بیشتر از این حد نیز نباشند .
حتی کلمه Serial Attached SCSI هم بیانگر این است که SAS ها از SCSI ها سنتی و قدیمی متفاوت هستند . همانطور که قبلا هم اشاره کردیم SCSI بر اساس ساختار کاری موازی یا Parallel کار می کرد و هشت یا شانزده عدد دستگاه را می توانست پشتیبانی کند . در مقابل این محدودیت SAS ها از یک Serial Bus یا باس ترتیبی استفاده می کنندو می توانند در صورت استفاده از دستگاه های Port Expander تا ۶۵۵۳۵ عدد دستگاه را پشتیبانی کنند . استفاده از Serial Bus ها در درایو های SAS نه تنها به این معنی است که تعداد بیشتری دستگاه می توانند به آن متصل شوند بلکه سرعت throughput بیشتری را نیز فراهم می کند. یکی از مهمترین مشکلاتی که SCSI ها داشتند استفاده از Bus های موازی یا Parallel بود که باعث اشتراک گذاری پهنای باند موجود و در نتیجه کاهش سرعت می شد . در SAS هر یک از دستگاه ها بصورت مجزا یک ارتباط با SCSI Initiator و یا حتی خود کارت کنترلر برقرار می کنند. به همین دلیل هارد درایوهای SAS محدودیت پهنای باند اشتراکی را که عنوان کردیم را در خود ندارند . در واقع درایو های SAS معمولا سرعت هایی معادل ۳ یا ۶ گیگابیت بر ثانیه را پشتیبانی می کنند.
نکته قابل توجه و همچنین یکی دیگر از مزایای Serial Bus ها این است که به دلیل اینکه تنها یک دستگاه بصورت مستقل به سیستم متصل شده است نیازی به پایان دهنده یا Terminator نیست . خوب در مورد مشکلات ناشی از SCSI ID ها چطور ؟ در واقع SAS ها همان مشکلات را دارند و از همان ساختار SCSI ID استفاده می کنند اما اینبار به جای SCSI ID به آن Port Identifier یا شناسه پورت می گویند. اما خبر خوبی هم دار کار است ، شما دیگر نبایست در SAS ها نگران SCSI ID ها باشید برای اینکه سازندگان SCSI مشکلات فوق را با الگوبرداری از ساختار سازندگان کارت شبکه حل کردند .
سالها قبل و در عصر پارینه سنگی اینطور نبود که هر کارت شبکه بصورت خودکار یک آدرس سخت افزاری منحصر به فرد یا MAC Address داشته باشد و این آدرس بایستی بصورت دستی و با استفاده از DIP Switch هایی انجام می شد که بر روی کارت تعبیه شده بودند . در یک شبکه شما به عنوان مدیر شبکه بایستی بصورت دستی برای تمامی کارت های شبکه یک آدرس MAC اختصاص می دادید . خوب این مشکل بزرگی بود که تولید کنندگان کارت های شبکه را بر این داشت که یک ساختار جامع آدرس دهی بین المللی برای آدرس های سخت افزاری ایجاد و از آن برای اعمال آدرس MAC استفاده کنند . همین مفهوم ساده برای SCSI ID ها نیز الگو برداری و پیاده سازی شد . هر پورت SAS برای خود یک شناسه پورت یا Port Identifier خاص خود را دارد و مدیران شبکه دیگر نیازی به انجام تنظیمات آن بصورت دستی نخواهند داشت .
واژگان مربوط به SCSI
خوب در حین این مقال ممکن است که با یک سری واژه روبرو شده باشید که بد نیست در خصوص آنها نیز توضیحاتی بدهیم ، Initiator یکی از اجزای است که امکان برقراری ارتباط با دستگاه های SCSI را ممکن می سازد . در خصوص دستگاه های SAS واژه Initiator در واقع ابزاری است که بصورت پیشفرض بر روی برد سیستم قرار گرفته است و یا اینکه بصورت Add-On به کارت کنترلر SAS متصل شده است . هدف یا Target در واقع دستگاهی است که Initiator با آن ارتباط برقرار می کند . یک Target از نظر محتوایی می تواند یک درایو SAS به تنهایی و یا یک مجموعه از دیسک ها بصورت Array یا RAID باشد . Service Delivery Subsystem یا سرویس دریافتی زیر سیستم ها به کابل هایی اشاره می کند که Initiator را به Target متصل می کنند. Expander یا گسترش دهنده ، گفتیم که SAS ها اگر از Expander استفاده کنند می توانند تا ۶۵۵۳۵ عدد دستگاه را پشتیبانی کنند ، Expander در واقع یک تسهیم کننده یا Multiplexer است که می تواند چندین دستگاه SAS را به یک پورت متصل کند.
نتیجه
خوب در این مقاله در خصوص هارد درایو های SAS و SCSI تا حدودی صحبت کردیم و تفاوت SCSI سنتی و SAS های جدید را بررسی کردیم . در مقاله بعدی بیشتر در خصوص تطبیق و میکس کردن هارد درایو های SAS و SATA صحبت خواهیم کرد .
نویسنده : محمد نصیری
منبع : انجمن حرفه ای های فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع دارای اشکال اخلاقی می باشد