ساختار Resilient File System یا به اختصار ReFS، جدیدترین File System شرکت مایکروسافت است که با هدف ارتقاء سطح دسترسپذیری دادهها و همچنین مقیاس کارآمدی برای مجموعههای عظیم داده در بارهای کاری (Workloadهای) گسترده طراحی شدهاند و با خودترمیمی (Resiliency) خطاهای انجام شده، باعث یکپارچگی دادهها میگردد. هدف این File Systemها رسیدگی به دستهای از سناریوهای ذخیرهسازی است که در حال گسترش هستند و ایجاد زیربنایی برای نوآوریهای آینده است.
مزایای استفاده از Resilient File System
در زیر به ارائه برخی مزایای استفاده از تکنولوژی ReFS میپردازیم.
خودترمیمی (Resiliency)
جدیدترین File System شرکت مایکروسافت، با ویژگیهای جدید خود میتواند به دقت خطاها را شناسایی نموده و همچنین در حین آنلاین بودن آن خطاها را رفع کند، این امر موجب افزایش یکپارچگی و در دسترس بودن دادهها میگردد:
- Integrity-Stream: تکنولوژی ReFS برای Metadata و همچنین به صورت اختیاری برای File Data از الگوریتم Checksum استفاده میکند و در نتیجه به ReFS این توانایی را میدهد که به طور قابل اطمینانی خطاها را شناسایی کند.
- ادغام Storage Spaceها: وقتی که ReFS به همراه یک Mirror یا Parity Space استفاده شود، میتواند به طور خودکار خطاهای شناسایی شده را با استفاده از نسخهی جایگزین (Alternate Copy) دادهها که توسط Storage Spaceها فراهم میشود، برطرف نماید. این فرایندهای اصلاحی هم محدود به نواحی Corruption هستند و هم به صورت آنلاین انجام میشوند و نیازی به Volume Downtime ندارند.
- بازیابی داده: در صورتی که یک Volume دچار اختلال شود و نسخهی جایگزینی از دادههای معیوب وجود نداشته باشد، ReFS دادههای معیوب را از Namespace حذف میکند. ReFS درحین درگیری با اکثر خرابیهای غیرقابل اصلاح، حجم را آنلاین نگه میدارد، اما در موارد نادری لازم است که ReFS حجم را آفلاین نماید.
- تصحیح خطا پیش از وقوع آن: ReFS علاوه بر تایید اعتبار داده قبل از انجام عملیات Read و Write، یک اسکنر برای یکپارچگی داده ارائه میدهد که به عنوان Scrubber شناخته میشود. این Scrubber در فواصل معین Volume را اسکن نموده، خرابیهای پنهان را شناسایی میکند و به صورت پیشگیرانه دادههای معیوب را تصحیح مینماید.
بهبود عملکرد با استفاده از ReFS
ReFS علاوه بر بهبود در خودترمیمیها، ویژگیهای جدیدی برای بارهای کاری حساس به عملکرد و بارهای کاری مجازی ارائه مینماید. بهینهسازی Tier به صورت Real-Time، Block Cloning و VDLهای اندک و پراکنده، مثالهای خوبی از تواناییهای درحال تکامل ReFS هستند که طراحی شدهاند تا از بارهای کاری داینامیک و گوناگون پشتیبانی کنند:
-
بهینهسازی Tier به صورت Real-Time:
بهینهسازی Tier به صورت Real-Time هم عملکرد سطح بالا و هم فضای ذخیرهسازی کارآمدی را برای دادهها فراهم میسازد. ReFS برای این کار یک Volume را به دو گروه منطقی Storage که به عنوان Tier شناخته میشوند، تقسیم میکند. این Tierها میتوانند Drive و خودترمیمی مخصوص به خود را داشته باشند که این امر باعث میشود هر Tier یا برای عملکرد و یا برای ظرفیت بهینهسازی شود. چند پیکربندی به عنوان مثال در جدول زیر آمده است:
Tier ظرفیت | Tier عملکرد |
Mirrored HDD | Mirrored SSD |
Parity SSD | Mirrored SSD |
Parity HDD | Mirrored SSD |
هنگامی که این Tierها پیکربندی شدند، ReFS با استفاده از آنها Fast Storage را برای Hot Data و Capacity-Efficient Storage را برای Cold Data فراهم مینماید:
- تمام عملیات Write در Tier عملکرد اتفاق میافتد و قسمتهای زیادی از دادهها که در Tier عملکرد باقی میماند به صورت کارآمد و Real-Time به Tier ظرفیت منتقل میگردد.
- اگر از پیادهسازی دوگانه (Hybrid Deployment) که ترکیب Flash و درایورهای HDD میباشد استفاده شود، Cache در Storage Spaces Direct به عملیات Write سرعت بخشیده و عملیات Read را تسهیل مینماید. همچنین تأثیر تجزیه شدن داده که ویژگی Workloadهای مجازی میباشد را کاهش میدهد. در غیر این صورت، اگر از پیادهسازی تماماً Flash استفاده شود، عملیات Read در Tier عملکرد نیز رخ میدهند.
-
عملیاتهای VM تسریع شده:
ReFS کارکردهای تازهای را که به طور خاص هدفشان بهبود عملکرد بارهای کاری مجازی است، معرفی میکند:
Block Cloning عملیاتهای کپی، فعالسازی سریع و عملیات ادغام چکپوینتِ VMهای با تاثیرپایین (Low-Impact VM Checkpoint) را تسریع میکند.
VDLهای اندک و پراکنده به ReFS این امکان را میدهند که به سرعت فایلها را صفر کند و این باعث میشود که زمان لازم برای ساخت VHDها از چند ده دقیقه به تنها چند ثانیه برسد.
-
اندازهی متغیر کلاسترها:
ReFS هم از اندازهی 4K و هم 64K پشتیبانی میکند. برای اکثر پیادهسازیها اندازهی کلاستر 4K پیشنهاد میشود، اما کلاسترهای 64K نیز برای بارهای کاری بزرگ و با IOهای متوالی، مناسب است.
مقیاسپذیری (Scalability)
ReFS طراحی شده تا بدون تأثیر منفی بر عملکرد از مجموعههای دادههای (Data Set) بسیار بزرگ (میلیونها ترابایت) پشتیبانی کند و نسبت به فایل سیستمهای قبلی به مقیاس بزرگتری دست پیدا کند.
موارد استفاده از Resilient File System
Storage Spaces Direct
پیادهسازی ReFS روی Storage Spaces Direct ساختاری است که برای بارهای کاری مجازی پیشنهاد میشود:
- بهینهسازی Tier به صورت Real-Time و Cache در Storage Spaces Direct عملکرد سطح بالا و Storage کارامدی برای ظرفیت ارائه میدهند.
- معرفی Block Clone و VDL شدیداً سرعت عملیاتهای مربوط به فایلهای .vhdx مانند ساخت، ادغام و گسترش را بالا میبرد.
- الگوریتمهای Checksum به صورت Built-In، تعمیر آنلاین و نسخههای دادهی جایگزین (Alternate Data Copy) به ReFS و Storage Spaces Direct این توانایی را میدهد که به طور مشترک خطاها را هم در چهارچوب Metadata و هم دادهها شناسایی کرده و رفعشان کنند.
- ReFS این کارکرد را دارد که به صورت کارآمدی مجموعههای دادههای عظیم را مقیاسبندی کرده و از آنها پشتیبانی نماید.
Storage Spaceها با SAS Drive Enclosure
استفاده از ReFS روی Storage Spaceها با SAS Enclosureهای مشترک برای میزبانی دادههای بایگانی شده (Archival Data) و ذخیرهی سندهای کاربر مناسب میباشد:
- الگوریتمهای Checksum به صورت Built-In، تعمیر آنلاین و نسخههای دادههای جایگزین به ReFS و Classic Storage Spaces این توانایی را میدهد که به طور مشترک خطاها را هم در چهارچوب Metadataو هم دادهها شناسایی کرده و تصحیح نماید.
- ReFS این کارکرد را دارد که به طور کارآمدی مجموعههای دادهی (Data Setهای) عظیم را مقیاس کرده و از آنها پشتیبانی کند.
- دادهها روی Volumeهای Non-Tiered ذخیره میشوند.
قابلیت استفاده در دیسکهای معمولی
پیادهسازی ReFS روی دیسکهای ساده برای برنامههای کاربردی که راهکارهای خودترمیمی (Resiliency) و دسترسپذیری (Availability) خودشان را فراهم میکنند مناسب است.
- برای مثال، Exchange و SQL هر دو مفاهیم خود را از خودترمیمی و دسترسپذیری مناسب برای بارهای کاری (Workloadهای) مخصوص خودشان ارائه میکنند و میتوانند از مقیاسپذیری (Scalability) که در ReFS ارائه شده است، بهرهمند گردند.
مقایسه ویژگیهای ReFS و NTFS
NTFS | ReFS | ویژگی |
255 Unicode characters | 255 Unicode characters | حداکثر طول نام فایل |
32K Unicode characters | 32K Unicode characters | حداکثر طول نام مسیر |
18 EB
(exabytes) |
18 EB
(exabytes) |
حداکثر اندازهی فایل |
TB 256 | 4.7 ZB
(zettabytes) |
حداکثر اندازهی حجم |
بررسی عملکرد ReFS و NTFS
ویژگیهای زیر در ReFS در دسترس هستند:
NTFS | ReFS | عملکرد |
Yes | Yes | رمزگذاری BitLocker |
Yes | Yes | پشتیبانی از Cluster Shared Volume (CSV) |
Yes | Yes | Soft linkها |
Yes | Yes | پشتیبانی از Failover Cluster |
Yes | Yes | لیستهای کنترل دسترسی |
Yes | Yes | ژورنال USN |
Yes | Yes | اطلاعرسانیها را تغییر میدهد |
Yes | Yes | نقاط اتصال (Junction) |
Yes | Yes | نقاط Mount |
Yes | Yes | نقاط Reparse |
Yes | Yes | Volume Snapshots |
Yes | Yes | شناسههای فایل |
Yes | Yes | Oplocks |
Yes | Yes | فایلهای اندک و پراکنده |
Yes | Yes | جریانهای بانام (Named) |
No | Yes | Block Clone |
No | Yes | VDLهای اندک و پراکنده |
No | Yes (on Storage Spaces Direct) | بهینهسازی Tier به صورت Real-Time |
ویژگیهای زیردرحالحاضر در ReFS در دسترس نیستند:
NTFS | ReFS | عملکرد |
Yes | No | فشردهسازی فایل سیستم |
Yes | No | رمزگذاری فایل سیستم |
Yes | No | Data Deduplication |
Yes | No | تراکنشها |
Yes | No | Hard Links |
Yes | No | شناسههای Object |
Yes | No | نامهای کوتاه |
Yes | No | خصوصیتهای بسطیافته (Extended Attributes) |
Yes | No | Disk Quotas |
Yes | No | قابل بوت شدن (Bootable) |
Yes | No | پشتیبانی شده در رسانههای جداشدنی |
Yes | No | Tierهای ذخیرهسازی NTFS |