در سرورهایی که تعداد زیادی درایو SAS یا SATA دارند، یکی از محدودیتهای مهم، تعداد لینکهای SAS موجود روی کنترلر ذخیرهسازی است. یک RAID Controller یا HBA تعداد مشخصی پورت و Physical Link در اختیار دارد و نمیتوان بدون توجه به معماری آن، هر تعداد درایو را مستقیماً به کنترلر متصل کرد.
اینجاست که SAS Expander وارد معماری ذخیرهسازی میشود.
SAS Expander را میتوان نوعی توسعهدهنده یا توزیعکننده لینکهای SAS دانست که امکان اتصال تعداد بیشتری درایو را به یک کنترلر فراهم میکند. Expander بین کنترلر و مجموعهای از درایوها یا Backplane قرار میگیرد و ارتباط میان آنها را مدیریت میکند.
البته استفاده از Expander به این معنی نیست که ظرفیت پردازشی یا پهنایباند کنترلر بهصورت نامحدود افزایش پیدا میکند. تعداد درایوهای قابل پشتیبانی، سرعت واقعی انتقال اطلاعات و حتی امکان استفاده از Expander، همگی به کنترلر، Expander، Backplane، نوع درایو، کابلکشی و معماری سرور وابسته هستند.
SAS Expander چگونه تعداد درایوهای قابل اتصال را افزایش میدهد؟
فرض کنید یک کنترلر SAS تعداد محدودی Physical Link برای اتصال مستقیم به درایوها دارد. اگر هر درایو را مستقیماً به یک مسیر مستقل متصل کنیم، خیلی سریع به سقف تعداد اتصالات کنترلر میرسیم.
Expander این معماری را تغییر میدهد.
بهجای اینکه تمام درایوها مستقیماً به کنترلر متصل شوند، کنترلر به Expander متصل میشود و Expander چندین مسیر SAS را در اختیار Backplane یا درایوها قرار میدهد.
به شکل ساده میتوان معماری را اینگونه تصور کرد:
RAID Controller → SAS Expander → Backplane → Drive
در سرورهای HPE، این معماری برای افزایش تعداد درایوهای قابل اتصال و استفاده بهتر از فضای ذخیرهسازی داخلی یا مجموعههای چنددرایوی مورد استفاده قرار میگیرد.
برای نمونه، HPE برای 12G SAS Expander Card اعلام کرده است که این کارت ۲۸ Physical Link را در ۹ پورت داخلی x4 در اختیار دارد؛ دو پورت x4 برای اتصال به Smart Array Controller یا Smart HBA و هفت پورت x4 برای اتصال به Backplaneهای درایو در نظر گرفته شدهاند. ظرفیت اسمی این مدل تا ۲۸ درایو داخلی است و البته پشتیبانی نهایی به مدل سرور و Backplane نیز وابسته است.
تفاوت SAS Expander با RAID Controller چیست؟
این دو قطعه وظیفه یکسانی ندارند و اشتباه گرفتن آنها میتواند هنگام طراحی Storage Server مشکل ایجاد کند.
RAID Controller وظیفه پردازش و مدیریت آرایههای RAID را بر عهده دارد. بسته به مدل کنترلر، قابلیتهایی مانند RAID 0، RAID 1، RAID 5، RAID 6، RAID 10، RAID 50 و RAID 60 میتواند در اختیار سیستم قرار بگیرد.
در مقابل، SAS Expander وظیفه اصلی خود را در گسترش توپولوژی اتصال SAS انجام میدهد.
به همین دلیل نمیتوان گفت SAS Expander خودش جای RAID Controller را میگیرد.
اگر کنترلر مورد استفاده از RAID پشتیبانی کند، درایوهای متصل از طریق Expander نیز میتوانند در چارچوب قابلیتهای همان کنترلر برای ساخت آرایه مورد استفاده قرار بگیرند.
از طرف دیگر، در معماریهایی که از HBA و حالت HBA/JBOD استفاده میشود، درایوها میتوانند بدون ایجاد RAID سختافزاری توسط کنترلر، به سیستمعامل یا نرمافزار مدیریت Storage ارائه شوند.
در نتیجه، قابلیت RAID را باید از کنترلر و Firmware آن بررسی کرد، نه از خود Expander.
SAS Expander در سرور HPE چه کاربردی دارد؟
یکی از کاربردهای اصلی Expander زمانی است که تعداد Bayهای سرور بیشتر از تعداد لینکهای قابل اتصال مستقیم به کنترلر باشد.
برای مثال، HPE Smart Array P440 یک کنترلر 12Gb/s SAS با رابط PCIe 3.0 x8 است و در مشخصات آن، پشتیبانی از حداکثر ۸ درایو بدون 12G SAS Expander ذکر شده است. در برخی پیکربندیهای مشخص، استفاده از Expander امکان اتصال تعداد بیشتری درایو را فراهم میکند.
این موضوع در سرورهایی با تعداد زیادی Bay اهمیت بیشتری پیدا میکند؛ مخصوصاً زمانی که قرار است فضای ذخیرهسازی داخلی سرور بدون نصب چند کنترلر مستقل افزایش پیدا کند.
نکته مهم این است که تعداد درایو قابل پشتیبانی یک عدد عمومی برای تمام کنترلرها و سرورها نیست.
این عدد باید برای ترکیب مشخص زیر بررسی شود:
Server + RAID/HBA Controller + Expander + Backplane + Drive Configuration
برای مثال، خود HPE برای برخی کنترلرها و نسلهای مختلف سرور، محدودیتهای متفاوتی اعلام کرده است. بنابراین نمیتوان صرفاً با دیدن عبارت «SAS Expander» نتیجه گرفت که هر کنترلری میتواند 128 یا 256 درایو را مدیریت کند.
12G، 6G و 3G در SAS به چه معنا هستند؟
عبارتهایی مانند 3G SAS، 6G SAS و 12G SAS به نرخ انتقال لینک SAS اشاره دارند.
نسلهای مختلف SAS از نرخهای متفاوتی پشتیبانی میکنند:
- SAS 1: حدود 3Gb/s
- SAS 2: حدود 6Gb/s
- SAS 3: حدود 12Gb/s
اما یک نکته مهم وجود دارد: این اعداد، نرخ خام لینک هستند و نباید آنها را مستقیماً معادل سرعت واقعی انتقال فایل در سیستم دانست.
در معماری SAS، هر Physical Link یا همان PHY میتواند یک لینک مستقل باشد. وقتی چند PHY در قالب یک پورت x4 کنار هم قرار میگیرند، مجموع ظرفیت خام لینکها افزایش پیدا میکند.
HPE برای 12Gb/s SAS مقدار حدود 1200 MB/s پهنایباند تئوری برای هر SAS lane را اعلام میکند و برای 6Gb/s SATA مقدار 600 MB/s برای هر physical link را ذکر کرده است. این اعداد با سرعت واقعی خواندن و نوشتن درایو یکی نیستند.
بنابراین هنگام مقایسه Storage نباید فقط به عبارت «12G» روی کنترلر یا Expander نگاه کرد.
آیا یک کابل Mini-SAS میتواند پهنایباند را محدود کند؟
پاسخ به نوع کابل و کانکتور بستگی دارد.
بسیاری از کابلها و کانکتورهای Mini-SAS که در سرورهای HPE استفاده میشوند، چند PHY را بهصورت همزمان منتقل میکنند. به همین دلیل عبارتهایی مانند x4 اهمیت زیادی دارند.
برای مثال، یک اتصال x4 در یک لینک 12Gb/s میتواند چهار Physical Link داشته باشد. بنابراین نباید عبارت «12Gb/s» را به معنای محدود شدن کل کابل به 12Gb/s دانست.
در یک اتصال x4، هر PHY نرخ مستقل خود را دارد و مجموع ظرفیت خام لینکها میتواند بیشتر باشد.
اما یک نکته مهمتر وجود دارد:
افزایش تعداد PHY الزاماً به معنای افزایش سرعت واقعی Storage نیست.
اگر کنترلر، Expander، Backplane یا درایو نتواند از ظرفیت موجود استفاده کند، افزایش پهنایباند تئوری کابل نتیجه محسوسی ایجاد نخواهد کرد.
چرا استفاده از دو مسیر SAS بین Controller و Expander اهمیت دارد؟
در برخی پیکربندیها، Expander میتواند با چند لینک SAS به کنترلر متصل شود.
هدف از این کار افزایش تعداد مسیرهای ارتباطی و در نتیجه افزایش Aggregate Bandwidth میان کنترلر و Expander است.
این مسئله مخصوصاً زمانی اهمیت پیدا میکند که تعداد زیادی SSD یا درایو پرسرعت پشت Expander قرار گرفته باشند.
تصور کنید تعداد زیادی HDD نسبتاً کند به یک Expander متصل هستند. در چنین شرایطی ممکن است مجموع بار واقعی درایوها حتی به سقف پهنایباند لینک بین کنترلر و Expander نرسد.
اما اگر تعداد زیادی SSD سریع در اختیار داشته باشید، احتمال ایجاد Bottleneck در مسیر Upstream بیشتر میشود.
بنابراین استفاده از یک یا چند لینک بین Controller و Expander باید براساس نوع درایوها، تعداد درایوها و Workload واقعی تعیین شود، نه صرفاً براساس تعداد کانکتورها.
نقش HDD و SSD در ایجاد Bottleneck چیست؟
سرعت Storage فقط به SAS Expander وابسته نیست.
یک HDD مکانیکی معمولی ممکن است در انتقال ترتیبی، چند صد MB/s یا کمتر ارائه دهد و در Random I/O نیز محدودیتهای مکانیکی بیشتری داشته باشد.
SSD وضعیت کاملاً متفاوتی دارد.
SSDها میتوانند تعداد بسیار بیشتری I/O در ثانیه ایجاد کنند و در بسیاری از Workloadها فشار بیشتری روی مسیر SAS ایجاد کنند.
به همین دلیل ممکن است معماریای که با چندین HDD بدون مشکل کار میکند، پس از جایگزینی HDDها با SSD به محدودیت پهنایباند کنترلر یا لینکهای SAS برسد.
بنابراین برای طراحی Storage پرسرعت باید کل مسیر داده بررسی شود:
Drive → Backplane → SAS Expander → RAID/HBA Controller → PCIe Bus → CPU/Memory → Application
ضعیف بودن هر بخش میتواند عملکرد کل سیستم را محدود کند.
آیا SAS سریعتر از SATA است؟
این گزاره که «SAS همیشه ۱۰ درصد سریعتر از SATA است» یک قانون فنی معتبر نیست.
SAS و SATA دو رابط متفاوت با ویژگیهای معماری متفاوت هستند و عملکرد واقعی Storage به مدل درایو، نوع Workload، کنترلر، Queue Depth، RAID و سایر اجزای سیستم بستگی دارد.
برای مثال، HPE 12G SAS Expander امکان استفاده ترکیبی از درایوهای SAS و SATA را روی یک کنترلر فراهم میکند؛ اما سرعت و قابلیتهای نهایی هر درایو همچنان به خود Drive و مسیر ارتباطی آن وابسته است.
اگر هدف، انتخاب Storage برای یک سرور سازمانی است، بهتر است بهجای عبارت کلی «SAS سریعتر است»، مشخصات واقعی دو درایو مورد نظر را با Workload مقایسه کنید.
آیا SAS و SATA را میتوان همزمان با SAS Expander استفاده کرد؟
در بسیاری از محصولات HPE این امکان وجود دارد.
برای نمونه، HPE در مشخصات 12G SAS Expander صراحتاً امکان Mix-and-Match کردن درایوهای SAS و SATA را روی یک کنترلر ذکر کرده است.
با این حال، این موضوع به معنی مناسب بودن هر ترکیبی برای هر Array نیست.
هنگام ساخت RAID باید محدودیتهای مربوط به نوع و ظرفیت درایوها نیز بررسی شود. برای مثال، HPE در راهنمای Smart Array تصریح میکند که در هنگام گسترش یک Array، درایو جدید باید از همان نوع درایوهای موجود در Array باشد؛ مانند SAS HDD، SAS SSD، SATA HDD یا SATA SSD.
بنابراین «امکان اتصال» با «امکان ترکیب در یک RAID Array» یکسان نیست.
آیا SAS Expander از RAID پشتیبانی میکند؟
عبارت دقیقتر این است که Expander خودش مسئول اجرای RAID نیست.
اگر SAS Expander به یک Smart Array Controller متصل باشد، کنترلر میتواند درایوهای پشت Expander را براساس قابلیتهای RAID خود مدیریت کند.
برای مثال، HPE Smart Array P440 از RAIDهایی مانند 0، 1، 5، 6، 10، 50 و 60 پشتیبانی میکند. این قابلیت مربوط به خود کنترلر است، نه اینکه Expander بهتنهایی یک RAID Controller باشد.
در نتیجه هنگام طراحی سیستم، باید این دو سؤال را از هم جدا کرد:
Expander چند درایو را میتواند متصل کند؟
و:
Controller با این درایوها چه قابلیتهای RAID یا HBA را ارائه میدهد؟
هنگام انتخاب SAS Expander چه مواردی باید بررسی شود؟
قبل از خرید Expander، صرفاً به سرعت درجشده روی محصول توجه نکنید. چند مشخصه باید همزمان بررسی شود.
سازگاری با RAID Controller یا HBA
اولین و مهمترین موضوع، پشتیبانی رسمی کنترلر از Expander است.
HPE برای نسلهای مختلف Smart Array و Smart HBA، ترکیبهای مشخصی از کنترلر و Expander را پشتیبانی میکند. برای نمونه، کنترلرهای Smart Array SR Gen10 در فهرست قابلیتهای خود از HPE 12G SAS Expander Card پشتیبانی میکنند.
بنابراین قبل از خرید باید مدل دقیق Controller و Server بررسی شود.
تعداد Drive Bayهای سرور
Expander فقط در صورتی مفید است که واقعاً تعداد Bayهای بیشتری برای اتصال وجود داشته باشد.
اگر سرور فقط چند Bay محدود داشته باشد، نصب یک Expander با تعداد زیادی پورت عملاً مزیت خاصی ایجاد نمیکند.
تعداد و نوع لینکهای SAS
تعداد PHYها و نوع پورتهای Expander را بررسی کنید.
برای مثال، HPE 12G SAS Expander دارای ۲ پورت x4 برای اتصال به کنترلر و ۷ پورت x4 برای اتصال به Backplane است.
سرعت SAS
اگر کنترلر و Backplane از 12Gb/s پشتیبانی میکنند، استفاده از Expander سازگار با 12Gb/s منطقی است.
اما وجود عبارت «12G» بهتنهایی تضمینکننده عملکرد 12Gb/s واقعی برای تمام درایوها نیست. سرعت Negotiated Link میتواند به قابلیتهای هر دو طرف لینک وابسته باشد. HPE نیز در مستندات کنترلرهای خود سرعت لینک SAS را بهصورت PHY-level مدیریت میکند و گزینههای 3، 6 و 12Gb/s را برای لینکها ارائه میدهد.
رابط PCIe کنترلر
اگر RAID Controller از رابط PCIe استفاده میکند، باید به نسل PCIe و تعداد Laneهای الکتریکی آن نیز توجه شود.
برای مثال، HPE Smart Array P440 از PCIe 3.0 x8 استفاده میکند.
حتی اگر مسیر SAS ظرفیت بالایی داشته باشد، محدودیت در Host Interface میتواند به یک نقطه محدودکننده تبدیل شود.
Firmware
Firmware را نباید نادیده گرفت.
HPE در گذشته برای برخی ترکیبهای Gen9 و 12Gb/s SAS Expander، مشکلاتی مانند Link Fault و Slow Boot را با Firmware برطرف کرده است. این موضوع نشان میدهد که در Storage Enterprise، سازگاری Firmware بخشی از سازگاری سختافزاری محسوب میشود.
آیا SAS Expander به Driver سیستمعامل نیاز دارد؟
در معماری استاندارد SAS، Expander در لایه Storage قرار دارد و سیستمعامل معمولاً مستقیماً با آن مانند یک کارت شبکه یا یک کنترلر USB کار نمیکند.
مسئولیت اصلی شناسایی و مدیریت مسیرهای Storage بر عهده Controller یا HBA و Firmware مربوط به آن است.
به همین دلیل موضوع سازگاری را باید در درجه اول از سمت Server، Controller، Expander و Firmware بررسی کرد.
در نتیجه نمیتوان صرفاً گفت «Expander با تمام سیستمعاملها سازگار است» و مسئله را تمامشده دانست؛ زیرا پشتیبانی واقعی به کل ترکیب سختافزاری و نرمافزاری وابسته است.
آیا SAS Expander باعث افزایش سرعت Storage میشود؟
هدف اصلی SAS Expander افزایش تعداد مسیرهای قابل اتصال و مقیاسپذیری Storage است، نه افزایش مستقیم سرعت هر درایو.
اگر یک HDD بهتنهایی مثلاً سرعت مشخصی دارد، نصب Expander قرار نیست سرعت همان HDD را چند برابر کند.
مزیت Expander زمانی مشخص میشود که تعداد درایوهای مورد نیاز از ظرفیت اتصال مستقیم کنترلر بیشتر باشد.
در این حالت Expander امکان ایجاد یک توپولوژی Storage بزرگتر را فراهم میکند.
از طرف دیگر، اگر تعداد زیادی درایو پرسرعت پشت Expander قرار بگیرند، باید Aggregate Bandwidth مسیرهای ارتباطی نیز بررسی شود؛ چون Expander میتواند تعداد درایوها را افزایش دهد، اما ظرفیت لینکهای Upstream و کنترلر همچنان محدودیتهای فیزیکی خود را دارند.
یک نمونه از معماری SAS Expander در سرور HPE
فرض کنیم یک سرور دارای تعداد زیادی Drive Bay است و کنترلر Smart Array تنها تعداد محدودی لینک SAS در اختیار دارد.
در حالت مستقیم، بخشی از Bayها ممکن است به کنترلر متصل شوند:
Smart Array Controller → Backplane → Drives
با اضافه شدن Expander، معماری میتواند به شکل زیر تغییر کند:
Smart Array Controller → SAS Expander → چند Backplane → Drives
در چنین شرایطی، Expander تعداد مسیرهای قابل دسترسی به درایوها را افزایش میدهد و امکان استفاده از ظرفیت فیزیکی بیشتر سرور را فراهم میکند.
البته تعداد دقیق درایوها و Backplaneهای قابل پشتیبانی باید از مستندات همان Server و Controller استخراج شود.
SAS Expander برای چه سرورهایی ارزش بیشتری دارد؟
Expander زمانی ارزش بیشتری پیدا میکند که یکی از این شرایط وجود داشته باشد:
- سرور تعداد زیادی Drive Bay داشته باشد.
- تعداد پورتهای کنترلر برای اتصال مستقیم همه درایوها کافی نباشد.
- نیاز به افزایش ظرفیت Storage بدون اضافه کردن چند RAID Controller وجود داشته باشد.
- چند Backplane یا مجموعه Drive Bay در سرور وجود داشته باشد.
- معماری Storage به تعداد زیادی HDD یا SSD نیاز داشته باشد.
- کنترلر مورد استفاده بهصورت رسمی از Expander پشتیبانی کند.
در مقابل، اگر یک سرور فقط چند درایو محدود دارد و کنترلر میتواند همه آنها را مستقیماً مدیریت کند، اضافه کردن Expander معمولاً مزیت قابل توجهی ایجاد نمیکند.
قبل از خرید SAS Expander چه اطلاعاتی را باید بررسی کنیم؟
برای جلوگیری از خرید قطعه ناسازگار، حداقل این اطلاعات را مشخص کنید:
مدل دقیق سرور
نسل سرور
مدل RAID Controller یا HBA
مدل Backplane
تعداد Drive Bay
نوع درایوها؛ SAS یا SATA
HDD یا SSD بودن درایوها
سرعت لینک SAS
تعداد لینکهای Controller به Expander
Part Number دقیق Expander
Firmware نسخه Controller و Expander
این اطلاعات امکان بررسی سازگاری واقعی را فراهم میکند.
برای نمونه، HPE در مستندات محصولات خود بهصورت دقیق مدلهای کنترلر، نوع لینک، تعداد Physical Link و تعداد Driveهای قابل پشتیبانی را مشخص میکند؛ بنابراین انتخاب Expander باید براساس همین اطلاعات انجام شود، نه صرفاً براساس عبارتهایی مانند «12G SAS Expander».
یک نکته مهم درباره پهنای باند: ظرفیت اسمی با عملکرد واقعی یکی نیست
یکی از رایجترین اشتباهها در طراحی Storage این است که نرخ درجشده روی Controller یا Expander مستقیماً بهعنوان سرعت نهایی سیستم در نظر گرفته شود.
در یک سیستم واقعی، مسیر انتقال داده چند مرحله دارد:
Drive → Backplane → Expander → SAS Link → Controller → PCIe → Host
هرکدام از این بخشها میتواند محدودیت خاص خود را داشته باشد.
از طرف دیگر، RAID نیز روی عملکرد تأثیر میگذارد. RAID 0، RAID 1، RAID 5، RAID 6 و RAID 10 رفتار یکسانی ندارند و نوع Workload نیز اهمیت زیادی دارد.
بنابراین اگر هدف، رسیدن به بیشترین Performance ممکن است، باید بهجای نگاه کردن به یک عدد مانند 12Gb/s، کل مسیر Storage را بررسی کرد.
در نهایت، SAS Expander یک ابزار برای افزایش مقیاسپذیری Storage است، نه یک ابزار جادویی برای افزایش سرعت. انتخاب درست آن زمانی اتفاق میافتد که مدل سرور، کنترلر، Backplane، نوع درایو، تعداد درایوها، تعداد لینکهای SAS و محدودیتهای PCIe در کنار یکدیگر بررسی شوند.
در سرورهای HPE نیز این موضوع اهمیت بیشتری دارد، چون پشتیبانی از Expander و تعداد Driveهای قابل اتصال به مدل دقیق Server و Controller وابسته است. برای همین، قبل از خرید یک SAS Expander بهتر است Part Number دقیق سرور و کنترلر مشخص شود و سپس ماتریس Compatibility مربوط به HPE بررسی شود.






