مجازی سازی

پیاده سازی ذخیره ساز برای کلاستر Hyper-V

پیاده سازی ذخیره ساز QNAP برای کلاستر Hyper-V در Virtual Machine Manager

با پیاده سازی Hyper-V در کلاستر، برای ذخیره سازی ماشین های مجازی به ظرفیت اشتراکی کلاستر   (CSV) نیاز است. این ظرفیت های اشتراکی می توانند از نوع :

LUN مثل  iSCSI، FCoE، Fiber Channel  و …) و یا SMB (مثل Scale-Out File Server)  باشند. در مقاله قصد داریم به پیاده سازی یک ذخیره ساز اشتراکی از QNAP NAS بپردازیم.

علاوه بر این QNAP  یک ارائه دهنده SMI-S را فراهم کرده است و برای ایجاد و تخصیص LUN ها از Virtual Machine Manager 2012R2  از آن استفاده خواهیم کرد

بررسی کلی  معماری مورد نظر

معماری ذخیره سازی بسیار ساده می باشد. شبکه ای به نام Storage (10.10.1.0/24) ایجاد می کنیم که نمی توان آن را مسیریابی کرد.  ما با تگینگ VLAN شبکه را ایزوله می کنیم.

NAS یا همان ذخیره سازی متصل به شبکه مورد استفاده ما مدل QNAP TS-853Pro است:

  • پردازنده چهار هسته ای
  • 2 گیگابایت حافظه رم
  • چهار NIC یک گیگابیتی
  • 8 محفظه هارد درایو

3 عدد NIC مختص ذخیره سازی بر روی NAS و هر یک از Hyper-V ها هستند. سرویس هدف iSCSI  تنها به این 3 عددNIC متصل است. ما بقی NIC ها به سرویس دیگر (یعنی SMB، Video Station،  Download Station و …) اختصاص پیدا می کنند.

hyper-v-1

هشت هارد درایو را در نظر بگیرید ،  که بدین صورت در NAS نصب شده اند:

  • محفظه 1 و 2: هارد وسترن دیجیتال 2 ترابایتی مدل RED برای سرگرمی (RAID 1)
  • محفظه 3 و 4: حافظه SSD کروشیال 256 گیگابایتی مدل BX100 برای افزایش سرعت به کمک کش
  • محفظه 5 الی 8: هارد 1 ترابایتی Seagate Constellation مدل ES3 (RAID 10)

 

استخر ذخیره سازی (Storage Pool) و افزایش سرعت به کمک کش (Cache Acceleration)

QNAP  دارای قابلیتی با نام استخر ذخیره سازی (Storage Pool) است که با کمک حفاظت RAID، هارد درایوهای فیزیکی را در یک فضای ذخیره سازی جمع آوری می کند. برای ساخت یک پول ذخیره سازی بر روی QNAP به QTS متصل شوید و Storage Manager را باز کنید. به تب Storage Pool بروید و New Storage Pool را انتخاب کنید.

hyper-v-2

بعد از آن  ، هارد درایوهای مورد نظر برای استخر ذخیره سازی و نوع (RAID Type) RAID  را انتخاب کنید.  برای داشتن بهترین عملکرد  در خواندن و نوشتن ،  RAID 10 را انتخاب کرده ایم.

با کلیک دکمه  Create ، استخر ذخیره سازی ایجاد می گردد و برای مدتی باید در وضعیت Synchronizing (هماهنگ سازی) قرار بگیرد.

hyper-v-3

اما باید این نکته را در نظر داشت که برای بهره مندی از عملکرد عالی ، چهار هارد دیسک کافی نیست بنابراین از تکنولوژی افزایش سرعت به کمک کش (Cache Acceleration) استفاده می کنیم. این قابلیت معمولاً با نام کش SSD شناخته می شود. این قابلیت عملکرد بسیار ساده ای دارد: اگر داده ای در پردازنده یا رم پیدا نشد، اطلاعات از هارد درایوها دریافت و روی کش SSD کپی می شوند. اگر یکبار دیگر ، این اطلاعات درخواست شوند، از کش SSD دریافت می شوند. اگر داده ای در کش SSD یافت شود به آن هیت (Hit) می گوییم. بنابراین هر چه نرخ هیت بالاتر باشد، سیستم سریع تر است.

در پیاده سازی QNAP دو الگوریتم کش وجود دارد:

  • LRU (اخیراً کمتر استفاده شده): دارای نرخ هیت بالاتری است اما نیازمند منابع پردازشی بیشتری است.
  • FIFO (اولین ورودی، اولین خروجی): به منابع پردازشی کمتری احتیاج دارد اما دارای نرخ هیت کمتری است.

برای پیاده سازی Cache Acceleration ،گزینه ی Storage Manager  را باز و Cache Acceleration را انتخاب کنید. سپس بر روی Create کلیک کنید.

بعد از آن ،  دو SSD که داریم و الگوریتم کش LRU را انتخاب می کنیم.

select hard drive in hyper-v

با کلیک بر روی Create کش SSD آماده برای شروع کار می شود.

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

سمت NAS

در شکل زیر می توانید پیکربندی شبکه ما را بر روی QNAP NAS مشاهده کنید:

ما بر روی رابط های کاربری ذخیره سازی ، Jumbo Frame  را فعال می کنیم و شماره VLAN برابر با 20 می شود. برای تکمیل کار تنها iSCSI Service را به رابط کاربری ذخیره سازی ارتباط می دهیم:

سمت هاست Hyper-V

ما در سمت هاست Hyper-V سه NIC را بر روی شبکه ذخیره سازی اختصاص می دهیم. Jumbo Fram فعال است و شماره VLAN را بر روی 20 ست شده است.

بر روی ارابط کاربری شبکه ذخیره سازی تنها این موارد فعال هستند. علاوه بر این Netbios و ثبت DNS را نیز غیرفعال می کنیم.

پیاده سازی SMI-S Provider

حال نوبت به پیاده سازی SMI-S Provider رسیده است. ما این ارائه دهنده را بر روی هر دو سرور VMM خود نصب کرده ایم. شما می توانید فایل نصبی را از این لینک دریافت کنید. ما قبل از اجرای فایل نصبی یک اکانت محلی ایجاد کردیم، نام آن را Storage قرار دادیم و آن را به گروه Administrators محلی اضافه کردیم.

سپس فایل نصبی را اجرا می کنیم.

ما با تعیین همان حسابی که از قبل ایجاد کردیم، Authentication (تعیین اعتبار) را فعال کردیم.

هنگامی که عملیات نصب به اتمام رسید ، می توانید پنجره QNAP SMI-S Provider Manager را باز کنید. سپس آدرس آی پی و پورت NAS خود را تعیین کرده و بر روی Add کلیک کنید.

سپس اعتبارنامه های ادمین (admin credentials) را تعیین کنید.

به دلیل این که ما SMI-S Provider را بر روی هر دو سرور VMM خود نصب کردیم، یک ورودی Round Robin DNS  را نیز ایجاد کردیم که SMIS-QNAP.home.net نام دارد.

افزودن storage provider در Virtual Machine Manager

حال می توانید با Virtual Machine Manager کار کنیم. یک کنسول VMM باز کنید و به Fabric رفته و بر روی Provider  کلیک راست کنید. سپس بر روی Add Storage Devices کلیک کنید و پس از آن دیوایس های SAN و NAS کشف شده و مدیریت شده توسط SMI-S Provider را انتخاب نمایید.

FQDN متعلق به ارائه دهنده SMI-S را تعیین کرده و یک اکانت RunAs را انتخاب کنید. اکانت RunAs باید همان اکانت تعیین شده در حین نصب ارائه دهنده SMI-S باشد.

اگر SSL را انتخاب کردید ، باید گواهینامه (certificate) را به صورت زیر ایمپورت کنید.

سپس Devices ذخیره سازی را مانند شکل زیر انتخاب کنید.

سپس یک Classification و Host Group را انتخاب می کنیم.

افزودن آرایه iSCSI به هاست های Hyper-V

توجه: قبل از اضافه کردن آرایه iSCSI اطمینان حاصل کنید که آماده ساز iSCSI شروع به کار کرده باشد و MPIO بر روی هاست های Hyper-V خودتان نصب و پیکربندی شده باشند.

حال باید iSCSI Array را به هاست های Hyper-V اضافه کنید. برای این کار properties هاست Hyper-V را باز کنید و تب Storage را انتخاب نمایید. بر روی Add کلیک و Add iSCSI Array را انتخاب کنید.

Array (آرایه) را انتخاب کنید و بر روی Create کلیک کنید.

برای ایجاد نشست (session) اضافی می توانید بر روی Create session کلیک کنید. قبل از ایجاد نشست اطمینان حاصل کنید که MPIO نصب و پیکربندی شده باشد.

 

افزودن ذخیره ساز (storage) به Hyper-V Cluster

حال می توانید LUN ها را ایجاد کرده و برای Hyper-V Cluster به CSV تبدیل کنیم. برای این کار properties مربوط به Cluster را باز کنید و به Available Storage بروید. سپس بر روی Add کلیک کنید.

سپس بر روی Create Logical Unit کلیک کنید. یک نام و سایز را تعیین کنید. ما یک LUN ذخیره ساز با سایز ثابت ایجاد کردیم.

هنگامی که LUN ایجاد شد، آن را انتخاب می کنیم، یک برچسب حجم (volume label) به آن می دهیم و بر روی OK کلیک می کنیم.

در این میان برای ویرایش LUN ایجاد شده به کنسول QNAP  رفته وسپس گزینه SSD Cache را انتخاب می کنیم.

پس از آن می توانید تب iSCSI Storage را باز کنید تا دو مقصدی که با LUN مربوطه ایجاد شده اند را مشاهده نمایید.

سپس به VMM برمی گردیم و properties کلاستر را مجدداً باز می کنیم. تب Available Storage  را انتخاب و بر روی Convert to CSV کلیک می کنیم.

در این مرحله می بینید که LUN به Cluster Storage اضافه شده است.

عملکرد

ما برای تست عملکرد یک VHDX حجیم را از هاست Hyper-V به LUN کپی کردیم. نتیجه واقعاً شگفت انگیز است و به میانگین 18000 IOPS دست یافتیم.

در شکل زیر می توانید مشاهده کنید که فایلی را با سرعت 530 MB/s کپی کرده ایم.

و Cache Acceleration به خوبی عمل می کند.

نتیجه

قبل از خرید QNAP ما یک DS412+ سینولوژی (Synology) داشتیم. به دلیل این که QNAP می تواند از طریق SMI-S  به Virtual Machine Manager متصل شود یکی را خریداری کردیم. علاوه بر این QNAP از قابلیت Storage Pool نیز پشتیبانی می کند که به کمک آن می توان چند LUN بر روی یک دسته دیسک ایجاد کرد. اگر در NAS خود تعداد کافی محفظه در اختیار نداشتید تنها کافی است چند SSD اضافه کنید تا عملکرد کلی این راه حل ذخیره سازی افزایش یابد. بنابراین QNAP NAS  برای پیاده سازی Cluster Share Volumes برای ذخیره ساز Hyper-V Cluster بسیار مناسب است.