پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

فناوری‌هایی برای بهبود عملکرد مبتنی بر استفاده از SSD و به طور گسترده در سیستم‌های ذخیره‌سازی استفاده می‌شوند، مدت‌هاست که ابداع شده‌اند. اول از همه، استفاده از SSD به عنوان فضای ذخیره سازی است که 100٪ موثر است، اما گران است. بنابراین، فن آوری های خسته کننده و کش استفاده می شود، که در آن SSD ها فقط برای محبوب ترین داده ها ("داغ") استفاده می شوند. درجه بندی برای سناریوهای استفاده طولانی مدت (روزها-هفته ها) از داده های "گرم" خوب است. برعکس، ذخیره سازی برای استفاده کوتاه مدت (دقیقه-ساعت) است. هر دوی این گزینه ها در سیستم ذخیره سازی پیاده سازی می شوند QSAN XCubeSAN. در این مقاله به اجرای الگوریتم دوم خواهیم پرداخت - حافظه پنهان SSD.

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

ماهیت فناوری کش SSD استفاده از حافظه های SSD به عنوان یک کش میانی بین هارد دیسک و رم کنترلر است. البته عملکرد SSD کمتر از عملکرد حافظه پنهان کنترلر است، اما حجم آن یک مرتبه بزرگتر است. بنابراین، ما یک مصالحه خاص بین سرعت و حجم به دست می آوریم.

نشانه های استفاده از کش SSD برای خواندن:

  • غلبه عملیات خواندن بر عملیات نوشتن (اغلب برای پایگاه های داده و برنامه های کاربردی وب معمولی)؛
  • وجود یک گلوگاه در قالب عملکرد آرایه هارد دیسک؛
  • مقدار داده های مورد نیاز کمتر از اندازه کش SSD است.

نشانه های استفاده از حافظه پنهان SSD خواندن + نوشتن یکسان است، به جز ماهیت عملیات - نوع مختلط (به عنوان مثال، سرور فایل).

اکثر فروشندگان ذخیره سازی از کش SSD فقط خواندنی در محصولات خود استفاده می کنند. تفاوت اساسی QSAN آنها توانایی استفاده از حافظه پنهان را برای نوشتن نیز فراهم می کنند. برای فعال کردن عملکرد حافظه پنهان SSD در سیستم‌های ذخیره‌سازی QSAN، باید مجوز جداگانه (ارائه شده به صورت الکترونیکی) خریداری کنید.

حافظه نهان SSD در XCubeSAN به صورت فیزیکی در قالب حافظه های کش SSD جداگانه پیاده سازی می شود. می تواند تا چهار مورد از آنها در سیستم وجود داشته باشد. البته هر استخر از مجموعه SSD های مخصوص به خود استفاده می کند. و قبلاً در خصوصیات دیسک مجازی تعیین می کنیم که آیا از یک مخزن کش استفاده می کند و کدام یک. فعال کردن و غیرفعال کردن استفاده از حافظه پنهان برای حجم ها را می توان به صورت آنلاین بدون توقف I/O انجام داد. همچنین می توانید SSD ها را به استخر اضافه کنید و آنها را از آنجا حذف کنید. هنگام ایجاد حافظه پنهان SSD، باید انتخاب کنید که در چه حالتی کار کند: فقط خواندن یا خواندن + نوشتن. سازمان فیزیکی آن به این بستگی دارد. از آنجایی که می تواند چندین مخزن کش وجود داشته باشد، عملکرد آنها می تواند متفاوت باشد (یعنی سیستم می تواند همزمان دارای مخزن های کش خواندن و نوشتن + خواندن باشد).

اگر از یک حافظه پنهان فقط خواندنی استفاده شود، می تواند از 1 تا 8 SSD تشکیل شود. دیسک ها نباید دارای ظرفیت یکسان و فروشنده یکسان باشند، زیرا در یک ساختار NRAID+ ترکیب می شوند. همه SSD های موجود در استخر مشترک هستند. این سیستم به طور مستقل سعی می کند درخواست های دریافتی را بین تمام SSD ها موازی کند تا به حداکثر کارایی دست یابد. اگر یکی از SSD ها از کار بیفتد، هیچ اتفاق بدی نمی افتد: از این گذشته، کش فقط یک کپی از داده های ذخیره شده در آرایه هارد دیسک ها را در خود دارد. فقط این است که مقدار کش SSD موجود کاهش می یابد (یا در صورت استفاده از کش اصلی SSD از یک درایو صفر می شود).

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

اگر حافظه پنهان برای عملیات خواندن + نوشتن استفاده می شود، تعداد SSD ها در استخر باید مضربی از دو باشد، زیرا محتویات روی جفت درایو منعکس می شوند (ساختار NRAID 1+ استفاده می شود). کپی کردن کش ضروری است زیرا ممکن است حاوی اطلاعاتی باشد که هنوز روی هارد دیسک نوشته نشده باشد. و در این مورد، خرابی SSD از حافظه پنهان منجر به از دست رفتن اطلاعات می شود. در مورد NRAID 1+، خرابی SSD به سادگی منجر به انتقال حافظه پنهان به حالت فقط خواندنی می شود و داده های نانوشته روی آرایه هارد دیسک ریخته می شود. پس از تعویض SSD معیوب، حافظه نهان به حالت اولیه خود باز می گردد. به هر حال، برای امنیت بیشتر، می توانید یدکی هات اختصاصی را به حافظه پنهان خواندن + نوشتن اختصاص دهید.

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

هنگام استفاده از عملکرد حافظه پنهان SSD در XCubeSAN، تعدادی از الزامات برای میزان حافظه کنترلرهای ذخیره سازی وجود دارد: هرچه حافظه سیستم بیشتر باشد، مخزن کش بزرگتر در دسترس خواهد بود.

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

برخلاف اکثر سازندگان سیستم های ذخیره سازی، که تنها گزینه ای برای روشن/خاموش کردن حافظه پنهان SSD ارائه می دهند، QSAN گزینه های بیشتری را ارائه می دهد. به طور خاص، می توانید بسته به ماهیت بار، حالت عملیات حافظه پنهان را انتخاب کنید. سه الگوی از پیش تعیین شده وجود دارد که در عملکرد خود به خدمات مربوطه نزدیک تر هستند: پایگاه داده، سیستم فایل، وب سرویس. علاوه بر این، مدیر می تواند نمایه خود را با تنظیم مقادیر پارامتر مورد نیاز ایجاد کند:

  • اندازه بلوک (اندازه بلوک کش) - 1/2/4 مگابایت
  • تعداد درخواست‌ها برای خواندن یک بلوک به طوری که در حافظه پنهان کپی شود (آستانه پر کردن روی خواندن) - 1..4
  • تعداد درخواست برای نوشتن یک بلوک به طوری که در حافظه پنهان کپی شود (آستانه پر کردن در نوشتن) - 0..4

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

نمایه ها را می توان به سرعت تغییر داد، اما، البته، با محتوای بازنشانی حافظه پنهان و "گرم شدن" جدید آن.

با توجه به اصل عملکرد حافظه پنهان SSD، می توانیم عملیات اصلی را هنگام کار با آن برجسته کنیم:

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

خواندن اطلاعات زمانی که در حافظه پنهان نیست

  1. درخواستی از میزبان به کنترلر می رسد.
  2. از آنجایی که موارد درخواستی در کش SSD نیستند، از روی هارد دیسک خوانده می شوند.
  3. داده های خوانده شده به هاست ارسال می شود. در همان زمان، بررسی می شود که آیا این بلوک ها "داغ" هستند یا خیر.
  4. اگر بله، برای استفاده بیشتر در حافظه پنهان SSD کپی می شوند.

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

زمانی که داده ها در حافظه پنهان وجود دارند، آن ها را بخوانید

  1. درخواستی از میزبان به کنترلر می رسد.
  2. از آنجایی که داده های درخواستی در کش SSD هستند، از آنجا خوانده می شوند.
  3. داده های خوانده شده به هاست ارسال می شود.

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

نوشتن داده هنگام استفاده از حافظه پنهان خواندن

  1. یک درخواست نوشتن از میزبان به کنترلر می رسد.
  2. داده ها روی هارد دیسک نوشته می شود.
  3. پاسخی که نشان دهنده ضبط موفقیت آمیز است به میزبان بازگردانده می شود.
  4. در همان زمان، بررسی می شود که آیا بلوک "گرم" است (پارامتر آستانه پر کردن در نوشتن مقایسه می شود). اگر بله، برای استفاده بعدی در حافظه پنهان SSD کپی می شود.

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

نوشتن داده هنگام استفاده از حافظه پنهان خواندن + نوشتن

  1. یک درخواست نوشتن از میزبان به کنترلر می رسد.
  2. داده ها در حافظه پنهان SSD نوشته می شوند.
  3. پاسخی که نشان دهنده ضبط موفقیت آمیز است به میزبان بازگردانده می شود.
  4. داده های کش SSD روی هارد دیسک در پس زمینه نوشته می شود.

بررسی در عمل

پایه تست

2 سرور (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) توسط دو پورت از طریق Fiber Channel 16G مستقیماً به سیستم ذخیره سازی XCubeSAN XS5224D (رم/کنترل 16 گیگابایت) متصل می شوند.

ما از 16 x Seagate Constellation ES، ST500NM0001، 500GB، SAS 6Gb/s، ترکیب شده در RAID5 (15+1) برای آرایه داده و 8 x HGST Ultrastar SSD800MH.B، HUSMH8010BSS200, SAS100، HUSMH12BSSXNUMX,SXNUMXsXNUMX استفاده کردیم.

2 جلد ایجاد شد: یکی برای هر سرور.

تست 1. کش SSD فقط خواندنی از 1 تا 8 SSD

حافظه پنهان SSD

  • نوع I/O: سفارشی سازی
  • اندازه بلوک کش: 4 مگابایت
  • آستانه پر کردن در خواندن: 1
  • آستانه پر کردن در نوشتن: 0

الگوی I/O

  • ابزار: IOmeter V1.1.0
  • کارگر: 1
  • برجسته (عمق صف): 128
  • مشخصات دسترسی: 4 کیلوبایت، 100% خواندن، 100% تصادفی

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

در تئوری، هرچه SSD ها در حافظه پنهان بیشتر باشد، عملکرد بالاتری دارد. در عمل این موضوع تایید شده است. تنها افزایش قابل توجه تعداد SSD ها با تعداد کم حجم منجر به اثر انفجاری نمی شود.

تست 2. کش SSD در حالت خواندن + نوشتن با 2-8 SSD

حافظه پنهان SSD

  • نوع I/O: سفارشی سازی
  • اندازه بلوک کش: 4 مگابایت
  • آستانه پر کردن در خواندن: 1
  • آستانه پر کردن در نوشتن: 1

الگوی I/O

  • ابزار: IOmeter V1.1.0
  • کارگر: 1
  • برجسته (عمق صف): 128
  • مشخصات دسترسی: 4 کیلوبایت، 100% نوشتن، 100% تصادفی

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

نتیجه یکسان: با افزایش تعداد SSDها، عملکرد انفجاری و مقیاس‌پذیری افزایش می‌یابد.

در هر دو آزمون، مقدار داده های کاری کمتر از اندازه کل حافظه پنهان بود. بنابراین، با گذشت زمان، تمام بلوک ها در حافظه پنهان کپی شدند. و کار، در واقع، قبلاً با SSD ها انجام شده بود، عملاً بدون تأثیر بر هارد دیسک. هدف از این آزمایش‌ها نشان دادن اثربخشی گرم کردن حافظه پنهان و مقیاس‌بندی عملکرد آن بسته به تعداد SSD بود.

حالا بیایید به زمین بازگردیم و موقعیت واقعی تری را بررسی کنیم، زمانی که مقدار داده بزرگتر از اندازه حافظه پنهان است. برای اینکه تست در مدت زمان معقولی بگذرد (دوره "گرم کردن" حافظه نهان با افزایش حجم حجم بسیار زیاد می شود)، حجم حجم را به 120 گیگابایت محدود می کنیم.

تست 3. شبیه سازی پایگاه داده

حافظه پنهان SSD

  • نوع ورودی/خروجی: پایگاه داده
  • اندازه بلوک کش: 1 مگابایت
  • آستانه پر کردن در خواندن: 2
  • آستانه پر کردن در نوشتن: 1

الگوی I/O

  • ابزار: IOmeter V1.1.0
  • کارگر: 1
  • برجسته (عمق صف): 128
  • مشخصات دسترسی: 8 کیلوبایت، 67% خواندن، 100% تصادفی

پیاده سازی کش SSD در سیستم ذخیره سازی QSAN XCubeSAN

حکم

البته نتیجه‌گیری واضح، کارایی خوب استفاده از کش SSD برای بهبود عملکرد هر سیستم ذخیره‌سازی است. اعمال شده به QSAN XCubeSAN این عبارت به طور کامل اعمال می شود: عملکرد حافظه پنهان SSD به خوبی اجرا می شود. این مربوط به پشتیبانی از حالت‌های خواندن و خواندن + نوشتن، تنظیمات انعطاف‌پذیر برای هر سناریو استفاده و همچنین عملکرد کلی سیستم به‌عنوان یک کل است. بنابراین، برای هزینه بسیار مناسب (قیمت مجوز قابل مقایسه با هزینه 1-2 SSD است)، می توانید عملکرد کلی را به میزان قابل توجهی افزایش دهید.

منبع: www.habr.com

اضافه کردن نظر