نقش کش (Cache) در سیستم‌های ذخیره‌سازی

خلاصه

عوامل زیادی بر کارایی کلی سرور اثرگذار هستند. در این مقاله اهمیت استفاده از حافظه نهان (کش) با پشتیبانی باتری برای بیشینه کردن ذخیره‌سازی سیستم و جلوگیری از تخریب و یا از بین رفتن داده‌های حیاتی-تجاری بررسی شده است (این روش به شتاب‌دهنده آرایه‌ها در HP Smart Array Controllers مربوط است). همچنین این روش، فناوری جدید ارائه شده در HP Smart Array Controllers برای حفاظتی استثنایی از داده‌ها همراه با کمینه کردن هزینه‌های دراز مدت تأمین امنیت داده‌ها را هم توجیه می‌کند. فرض ما در نوشتن این مقاله بر این بوده است که خواننده آن اطلاعاتی حداقلی درباره فناوری حافظه‌های رِید (RAID یا آرایه چندگانه دیسک‌های مستقل) دارد.

در صورت نیاز می توانید مطلب “RAID چیست و انواع سطوح آن” را مطالعه فرمایید.

نقش کش در سیستم‌های ذخیره‌سازی

مقدمه

عوامل مختلفی بر کارایی کلی سیستم اثر دارند. در این مقاله اهمیت استفاده از حافظه نهان (کش) با پشتیبانی باتری برای کنترلرهای آرایه هوشمند (Smart Array controllers) برای به حداکثر رساندن کارایی سیستم ذخیره سازی و حفظ داده‌های ارسال-نوشتن در حافظه نهان آزموده می‌شود.

نقش کش در سیستم‌های ذخیره‌سازی

فرآیند انتقال داده از محل ذخیره سازی، مستلزم ذخیره کردن موقت داده‌ها در حافظه نهانی است که در رِید واقع شده است. حافظه نهان و فرآیند انتقال داده توسط کنترلرهای RAID مدیریت می‌شوند. حافظه نهان از تراشه‌های پرسرعت و سیلیکونی DRAM تشکیل شده است. زمان مورد نیاز برای دسترسی یا خواندن داده‌های DRAM (حافظه تصادفی پویا) تقریباً یک میلیون برابر سریع‌تر از زمان مورد نیاز برای دسترسی عادی به دیسک درایوهای معمولی است. در فرآیند ارسال-نوشتن، به محض اینکه رایانه میزبان داده‌ها را در حافظه نهان بنویسد، عملیات نوشتن به اتمام می‌رسد؛ و میزبان آمده انجام عملیات بعدی خواهد بود. میزبان به زمان بیشتری برای نوشته شدن داده در دیسک نیاز ندارد. به این ترتیب استفاده از کش در کنترلرهای آرایه رِید HP سرعت عملیات نوشتن را افزایش داده و کارایی کلی سیستم را بهبود می‌بخشد.

نقش کش در سیستم‌های ذخیره‌سازی

عملیات ارسال-نوشتن (Posted-Write Operation) مزایای دیگری هم دارد. اگر رایانه میزبان در حال خواندن داده‌های موجود در حافظه نهان باشد، کنترلر رِید به سرعت این داده‌ها را تحویل می‌دهد. اگر هم داده‌های جدیدی در همان محل نوشته شوند، کنترلر محتوای حافظه نهان را بازنویسی می‌کند و به این ترتیب از انجام یک عملیات اضافی برای نوشتن داده‌ها جلوگیری می‌شود.

نوشتن حافظه پنهان می‌تواند کارایی انواع رِیدها در هر سطحی را با تبدیل دو یا چند درخواست همزمان به یک درخواست برای دیسک درایو، بهبود دهد. چنین عملیاتی کندی ناشی از چرخش و حداکثر شدن پردازش‌های دیسک را کاهش می‌دهد. نوشتن حافظه نهان با تجمیع درخواست‌های نوشتن و تبدیل آن به یک درخواست کامل برای نوشتن در دیسک درایو، قادر است کارایی رِید 5 (RAID5) را به شکل قابل توجهی افزایش دهد. این روش نیاز به خواندن-اصلاح-نوشتن هر بخش از داده برای هر عملیات نوشتن را حذف می‌کند، زیرا هر یک از بخش‌های داده‌ها که نیازمند به‌روزرسانی باشند، در حافظه نهان موجود هستند.

نقش کش در سیستم‌های ذخیره‌سازی

نیاز به حافظه نهان با پشتیبانی باتری

وقتی نوشتن داده به اتمام برسد، حافظه نهان بایستی قادر به محافظت از داده‌ها، در تقابل با حوادثی نظیر ضعیف شدن برق، پیش از انتقال آن به درایوها باشد. اگر دسترسی به برق با مشکل مواجه شود، اگر رایانه میزبان ناموفق باشد، یا کنترلر رِید ناموفق باشد، توان باتری داده‌های حافظه نهان را تا مدتی برای کاربر حفظ کرده و موجب جلوگیری از، از دست رفتن اطلاعات حیاتی-تجاری می‌شود. بسته به توان باتری، هنگام قطع ارتباط برق، حافظه‌های نهان با پشتیبانی باتری می‌توانند یکپارچگی داده‌ها را تا چندین روز حفظ کنند. باتری های استفاده شده در ماژول کش کنترلرهای شرکت اچ‌پی، قابل شارژ مجدد هستند، این قابلیت به آن‌ها اجازه می‌دهد که پس از قطعی برق، دوباره به صورت کامل شارژ شوند. اچ‌پی با جلوگیری از انجام فرآیند ارسال-نوشتن در زمان‌هایی که شارژ باتری در میزان قابل قبولی برای پشتیبانی از داده‌ها نباشد، از آن‌ اطلاعات حفاظت می‌کند.

با در دسترس بودن حافظه نهان با پشتیبانی باتری، کنترلر رِید هم می‌تواند سایر عملیات‌ها نظیر افزایش ظرفیت را سرعت بخشد و انتقال اطلاعات با استفاده از ذخیره سازی موقت داده در حافظه نهان با پشتیبانی DRAM به جای دیسک درایو را انجام دهد.

اخطار:

برای پرهیز از خطرات ناشی از برهم خوردن یکپارچگی داده‌های حیاتی-تجاری، کاربر باید همواره به درستی سیستم را خاموش کند؛ این کار تضمین می‌کند که همه داده‌های ارسال-نوشتن در حافظه نهان، پیش از قطع برق به دیسک درایوها منتقل خواهد شد.

بازیابی داده از کش با پشتیبانی باتری

اگر قطعی برق پیش‌بینی نشده‌ای روی دهد و داده‌های ارسال-نوشتن در کش باقی بمانند، کنترلر پس از اتصال مجدد برق تا چند روز بعد، به صورت خودکار داده‌ها را به دیسک منتقل می‌کند. اگر اتصال برق تا چند روز بعد برقرار نشود، شارژ باتری‌های حافظه نهان به اتمام می‌رسد و اطلاعات حافظه نهان از دست خواهند رفت. زمانی که جریان برق سیستم مجدداً متصل شود، باتری‌های قابل شارژ مجدد به چند ساعت زمان برای شارژ شدن نیاز دارند.

نقش کش در سیستم‌های ذخیره‌سازی

در مواردی که سیستم تأمین برق یک سرور با مشکل مواجه شود، تمامی درایوها و کارت کنترلر آرایه هوشمند را می‌توان به یک سرور دیگر منتقل کرد تا داده‌های موجود در حافظه نهان در دیسک درایوها نوشته شوند. اگر کارکرد کنترلر با مشکل مواجه شود، می‌توان ماژول حافظه نهان که داده‌های ارسال-نوشتن در آن ذخیره شده است را به یک کنترلر آرایه هوشمند دیگر متصل کرد. این کنترلر جدید بایستی حتماً به درایوهای اصلی متصل شود تا داده‌ها را به آن‌ها منتقل کند.

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

شاخص‌های انتخاب کش با پشتیبانی باتری

فروشندگان کنترل‌گرهای رِید محصولاتی با مشخصات باتری متنوعی را پیشنهاد می‌دهند. پیاده سازی حافظه نهان با پشتیبانی باتری نیز بر مبنای نوع باتری، ظرفیت باتری و میزان سادگی بازیابی داده‌ها در هنگام قطع برق، دسته‌بندی می‌شوند.

نقش کش در سیستم‌های ذخیره‌سازی

شاخص‌هایی که بر طول عمر و کارایی باتری اثرگذار هستند عبارتند از:

  • عمر باتری
  • دمای محیط سرور
  • اثر حافظه‌ای باتری (که برای باتری‌های نیکل کادمیوم (NiCD) به شکل فزاینده‌ای ظرفیت باتری را کاهش می‌دهد، مگر اینکه باتری به صورت دوره‌ای شارژ و تخلیه شود)
  • تعداد چرخه‌های تخلیه کامل پشتیبانی شده پیش از کاهش ظرفیت
  • کاهش ظرفیت ناشی از ایجاد شاخه‌های عصبی (ناشی از قطع و وصل شدن مداوم فرآیند شارژ)
  • دقت اندازه‌گیری ظرفیت باقی‌مانده

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

انواع باتری

باتری‌های نیکل کادمیوم (NiCD) رایج‌ترین باتری‌های مورد استفاده برای کش با پشتیبانی باتری است، اما این باتری‌ها محدودیت‌های مهمی دارند: آن‌ها اثر حافظه‌ای باتری دارند که باعث کاهش ظرفیتشان می‌شود؛ و همچنین راهی دقیق برای اندازه‌گیری ظرفیت در دسترس این نوع از باتری‌ها وجود ندارد.

اچ‌پی چندین سال از باتری‌های لیتیوم منگنز دی‌اکسید (MnO2-Li) برای حافظه‌های نهان با پشتیبانی باتری استفاده می‌کرد. این باتری‌ها اثر حافظه‌ای ندارند اما فقط از 60 تا 100 چرخه تخلیه کامل پشتیبانی می‌کنند. بنابراین نکته مهمی که در به کارگیری باتری‌های لیتیوم منگنز دی‌اکسید باید به یاد داشته باشید این است که از تخلیه کامل آن‌ها پرهیز کنید زیرا موجب کاهش ظرفیت در دسترس باتری می‌شود.

اهمیت استفاده از برنامه نگهداری باتری

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

اچ‌پی توصیه می‌کند که کاربران حافظه نهان با پشتیبانی باتری، یک برنامه منظم برای نگهداری باتری داشته باشند که بتوانند زمان تعویض باتری را به موقع تشخیص داده و آن‌ها را تعویض کنند. تاریخ تولید باتری در لبه بیرونی قاب باتری به صورت ماه و سال (MMYY) درج شده است.

تعویض باتری

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

با معرفی سری 5300 کنترل‌گرهای آرایه هوشمند اچ‌پی، این شرکت بسته‌های باتری قابل تعویض را رونمایی کرد. این ویژگی امکان تعویض آسان باتری‌ها بدون نیاز به تعویض کنترل‌گرهای آرایه هوشمند 5300 یا بورد قابل جداشدن حافظه نهان را ارائه می‌کند.

روش‌های جایگزین برای تعویض باتری

اگر تعویض باتری مقدور نباشد و یا کاربر نخواهد که باتری‌ها را تعویض کند، دو راهکار برای ادامه مدیریت ذخیره سازی بدون ایجاد خطر از دست رفتن داده‌های حیاتی وجود دارد.

نخست، نرم افزار مدیریت اکثر کنترل‌گرهای رِید دارای امکان مدیریت ذخیره سازی و تنظیم چگونگی استفاده از حافظه نهان در کنترل‌گرها هستند:

  • 100 درصد برای حافظه نهان خواندن
  • 100 درصد برای حافظه نهان نوشتن
  • درصد دلخواه برای هر یک؛ برای مثال 20 درصد برای خواندن و 50 درصد برای نوشتن یا 75 درصد برای خواندن و 25 درصد برای نوشتن.

کاربران می‌توانند با استفاده از نرم افزارهای پیکربندی و انتخاب میزان 100 درصد برای حافظه نهان خواندن، نوشتن حافظه نهان را غیرفعال کنند. با این حال اگر نوشتن حافظه نهان غیرفعال شود، ممکن است کاهش کارایی در فرآیندهای نوشتن مشاهده شود. به علاوه کاربران دیگر نمی‌توانند عملیات‌هایی نظیر انتقال رِید، انتقال خطی و افزایش ظرفیت که نیازمند باتری هستند را انجام دهند.

گزینه دوم برای کاربران جایگزینی کنترلر رِید مورد استفاده با یک کنترل‌گر جدیدتر، سریع‌تر و قدرتمندتر است. اگر سرور خودش هم نیازمند جایگزینی با مدلی سریع‌‌تر و قدرتمند‌تر باشد، بازتنظیم سرور و کنترل‌گر رِید آن (با غیرفعال کردن حافظه نهان نوشتن) برای انجام امور با اهمیت کمتر، می‌تواند موجب افزایش بازگشت سرمایه برای دستگاه مذکور شود.

اگر باتری‌ها قابل تعویض نباشند و حافظه نهان نوشتن هم غیرفعال نشود، کاربر باید منتظر از دست رفتن دائمی داده‌ها در هنگام قطع برق یا مشکل در عملکرد سرور باشد، زیرا باتری دارای ظرفیت لازم برای نگهداری از یکپارچگی داده‌ها نخواهد بود.

نتیجه گیری

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

پشتیبانی از حافظه نهان با استفاده از باتری به اندازه ظرفیت باقیمانده باتری اهمیت دارد. کاربران کنترل‌گرهای رِید داری حافظه نهان با پشتیبانی باتری باید از عوامل مؤثر بر عمر باتری که می‌تواند منجر به از دست رفتن داده، حتی در هنگام حفاظت از داده‌ها با به کارگیری حافظه نهان با پشتیبانی باتری می‌شوند، آگاه باشند. یک برنامه نگهداری باتری بایستی شامل تعویض هر سه سال یکبار باتری، بدون در نظر گرفتن سایر اعمال انجام شده، باشد.

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