در صورت پیاده سازی 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 محفظه هارد درایو
سه NIC مختص ذخیره سازی بر روی NAS و هر یک از Hyper-V ها هستند. سرویس هدف iSCSI تنها به این سه NIC متصل است. آخرین NIC ها به سرویس دیگر (یعنی SMB، Video Station، Download Station و …) اختصاص دارند.
ما هشت هارد درایو در اختیار داریم که به این صورت در 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 را انتخاب کنید.
سپس هارد درایوهای مورد نظر برای پول ذخیره سازی و نوع RAID (RAID Type) را انتخاب کنید. ما برای داشتن بهترین عملکرد ممکن در خواندن و نوشتن RAID 10 را انتخاب کرده ایم.
با کلیک بر روی Create، پول ذخیره سازی ایجاد می شود و برای مدتی باید در وضعیت Synchronizing (هماهنگ سازی) قرار گیرد.
به دلیل این که برای بهره مندی از عملکرد خوب چهار هارد دیسک کافی نیست از تکنولوژی افزایش سرعت به کمک کش (Cache Acceleration) استفاده می کنیم. این قابلیت معمولاً با نام کش SSD شناخته می شود. این قابلیت عملکردی بسیار ساده دارد: اگر داده ای در پردازنده یا رم یافت نشد، اطلعات از هارد درایوها دریافت و به کش SSD کپی می شوند. اگر بار دیگری این اطلاعات درخواست شوند، از کش SSD دریافت می شوند. اگر داده ای در کش SSD یافت شود به آن هیت (Hit) می گوییم. بنابراین هر چه نرخ هیت بالاتر باشد، سیستم سریع تر خواهد بود.
در پیاده سازی QNAP دو الگوریتم کش وجود دارد:
- LRU (اخیراً کمتر استفاده شده): دارای نرخ هیت بالاتری است اما نیازمند منابع پردازشی بیشتری است.
- FIFO (اولین ورود، اولین خروج): به منابع پردازشی کمتری احتیاج دارد اما دارای نرخ هیت کمتری است.
برای پیاده سازی Cache Acceleration، Storage Manager را باز کرده و Cache Acceleration را انتخاب کنید. سپس بر روی Create کلیک کنید.
سپس دو SSD خودمان و الگوریتم کش LRU را انتخاب می کنیم.
با کلیک بر روی Create کش SSD آماده به کار می شود.
پیکربندی کارت شبکه
سمت NAS
در شکل زیر می توانید پیکربندی شبکه ما را بر روی QNAP NAS مشاهده کنید:
ما بر روی انترفیس های ذخیره سازی Jumbo Frame را فعال کرده ایم و شماره VLAN برابر با 20 است. برای تکمیل کار تنها iSCSI Service به اینترفیس ذخیره سازی ارتباط می دهیم:
سمت هاست Hyper-V
ما در سمت هاست Hyper-V سه NIC را بر روی شبکه ذخیره سازی اختصاص دادیم. Jumbo Frame نیز فعال است و شماره VLAN را بر روی 20 ست کردیم.
بر روی اینترفیس شبکه ذخیره سازی تنها این آیتم ها فعال هستند. علاوه بر این Netbios و ثبت DNS را نیز غیرفعال کردیم.
پیاده سازی SMI-S Provider
حال نوبت به پیاده سازی SMI-S Provider رسیده است. ما این ارائه دهنده را بر روی هر دو سرور VMM خود نصب کرده ایم. ما قبل از اجرای فایل نصبی یک اکانت محلی ایجاد کردیم، نام آن را Storage قرار دادیم و آن را به گروه Administrators محلی اضافه کردیم.
سپس فایل نصبی را اجرا می کنیم.
ما با تعیین همان حسابی که از قبل ایجاد کردیم، Authentication (تعیین اعتبار) را فعال کردیم.
هنگامی که عملیات نصب به پاین رسید می توانید QNAP SMI-S Provider Manager را باز کنید. سپس آدرس آی پی و پورت NAS خود را تعیین کرده و بر روی Add کلیک کنید.
سپس اعتبارنامه های ادمین (admin credentials) را تعیین کنید.
در انتها باید لیست NAS شما باید وضعیت OK داشته باشد.
به دلیل این که ما 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) را به صورت زیر ایمپورت کنید.
سپس دیوایس های ذخیره سازی را مانند شکل زیر انتخاب کنید.
سپس یک 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 بسیار عالی است.