قابلیتی به اسم Storage Spaces در ویندوز برای ترکیب کردن فضای چند هارددیسک یا SSD در یک فضای ذخیرهسازی جدید و مجازی است. لینوکس هم قابلیت مشابهی دارد که نام آن mergerfs است. اما تفاوتهایی نیز وجود دارد.
سالها استفاده از ویندوز باعث شده فکر کنیم محدودیت مربوط به قابلیت Storage Spaces در ویندوز، در لینوکس هم وجود دارد. معمولاً برای استفاده از این قابلیت باید ابتدا از تمام اطلاعات موجود روی درایوهای موردنظر نسخه پشتیبان تهیه کرد، درایوها را پاک کرد، یک Storage Pool جدید ساخت و سپس فایلها را دوباره به درایوها برگرداند.
اما هنگام استفاده از mergerfs در لینوکس، مشخص شد که میتوان درایوهای موجود را بدون دستزدن به فایلهای فعلی آنها به یک مجموعه اضافه کرد. در این روش خبری از فرمت کردن، انتقال اطلاعات یا شروع دوباره نیست. همین موضوع باعث شده mergerfs به روش اصلی برای ترکیب چند درایو تبدیل شود. با اینتوتک همراه باشید تا مقایسهی دقیقتری بین قابلیت mergerfs لینوکس و Storage Spaces ویندوز داشته باشیم.
درایوهای موجود نیازی به تغییر نداشتند
mergerfs از همان چیزی که وجود دارد استفاده میکند؛ هیچچیز از نو ساخته نمیشود
وقتی برای نخستین بار از Windows Storage Spaces استفاده شد، پاک کردن درایوها بدترین بخش کل فرایند بود. استفاده از Storage Spaces باعث میشد داشتن یک برنامه برای تهیه نسخه پشتیبان ضروری باشد. البته همه کاربران یک درایو اضافه با ظرفیت کافی برای پشتیبانگیری از اطلاعات تمام درایوهایی که قرار است به یک Storage Pool اضافه شوند در اختیار ندارند.
در لینوکس، mergerfs چنین محدودیت بزرگی ندارد. mergerfs یک فایلسیستم Union مبتنی بر FUSE است. به زبان ساده، این ابزار درایوهای متصلشده را در قالب یک پوشه واحد نمایش میدهد. خود درایوها هیچ تغییری نمیکنند و فایلسیستم فعلی آنها دستنخورده باقی میماند! بنابراین هیچ فایلی پاک نمیشود و نیازی به فرمت کردن نداریم! درایوهایی با فایل سیستم ext4 و XFS و Btrfs یا NTFS که با درایور ntfs3 متصل شدهاند، قبل و بعد از استفاده از mergerfs دقیقاً همان وضعیت قبلی را حفظ میکنند.
mergerfs همچنین هنگام انجام این کار فایلها را جابهجا نمیکند. در نتیجه نیازی به کپی کردن یا فرمت مجدد درایوها نیست و اطلاعات نیز وارد یک فرمت اختصاصی جدید نمیشوند که برای خواندن دوباره آنها به mergerfs نیاز داشته باشد. از آنجا که ساختار و اطلاعات درایوها تغییر نمیکند، حتی پس از خارج کردن آنها از مجموعه نیز همچنان میتوان اطلاعاتشان را بهصورت مستقل خواند.
mergerfs برای تعیین محل ذخیره فایلهای جدید از Placement Policy استفاده میکند؛ یعنی یک قانون ساده مشخص میکند هر فایل جدید روی کدام درایو قرار بگیرد. معمولاً میتوان تنظیم کرد که ابزار، درایوی را که فضای خالی بیشتری دارد در اولویت قرار دهد، اما گزینههای دیگری هم وجود دارد و در استفاده روزمره، معمولاً نیازی نیست دائماً به این موضوع فکر شود.
این روش در مقایسه با Storage Spaces ویندوز بسیار منطقیتر به نظر میرسد. در Storage Spaces ابتدا باید یک دیسک مجازی جدید ایجاد و آن را فرمت کرد و سپس اطلاعات را روی آن قرار داد. اما در mergerfs قرار نیست فضای ذخیرهسازی جدیدی ساخته شود؛ فقط از درایوهای موجود خواسته میشود مانند یک فضای ذخیرهسازی واحد رفتار کنند.
استفاده از mergerfs بیش از حد ساده و سریع است!
ترکیب درایوهای موجود کمتر از یک دقیقه زمان میبرد
ترکیب درایوهای موجود کمتر از یک دقیقه زمان میبرد
روی سرور خانگی، Linux Mint اجرا میشود و هنگام تصمیمگیری برای ترکیب فایلها، انتظار میرود فرایند کمی دردسر داشته باشد. اما در عمل، راهاندازی mergerfs به شکل شگفتانگیزی ساده است. پس از نصب mergerfs، تنها کافی است یک تنظیم کوچک برای Mount کردن درایوهای موجود انجام شود. کمتر از یک دقیقه بعد، تمام درایوها به شکل یک پوشه واحد نمایش داده میشوند.
سرعت این فرایند شگفتانگیز است و تفاوت زیادی با Windows Storage Spaces دارد. در Storage Spaces، این کار چند دقیقه زمان میبرد، زیرا ابتدا باید چند ترابایت فایل رسانهای روی یک درایو خارجی پشتیبانگیری شود، سپس تمام اطلاعات پاک شود و در نهایت همه فایلها دوباره به درایوها منتقل شوند. در mergerfs، بدون انجام کارهای پیچیده یا صرف زمان زیادی، سه پوشه به یک پوشه واحد تبدیل میشوند.
برای اطمینان از عملکرد صحیح سیستم، چند فایل برای نخستین بار داخل Pool قرار میگیرند. پس از بررسی مشخص میشود که فایلها طبق Placement Policy بین درایوهای فیزیکی مختلف توزیع شدهاند، در حالی که فایلهای قدیمی همچنان روی همان درایوهای اصلی خود باقی میمانند.
البته ممکن است مشکل مربوط به ترتیب Mount شدن درایوها ایجاد شود. هر درایوی که پیش از اجرای mergerfs Mount نشده باشد، در Pool نمایش داده نمیشود. بنابراین اگر یکی از درایوها ظاهراً از فضای مشترک ناپدید شود، احتمال دارد مشکل از همین موضوع باشد. خوشبختانه رفع این مشکل ساده است و تنها کافی است زمان بارگذاری سرویسها هنگام بوت با تعیین یک ترتیب مشخص برای Mount شدن درایوها تنظیم شود.
مهمترین دلیل برای پیشنهاد mergerfs به کاربرانی که قصد دارند تعداد زیادی درایو را در یک فضای ذخیرهسازی واحد ترکیب کنند، سادگی اضافه کردن درایو جدید است. برای افزودن یک درایو دیگر، تنها یک تغییر در تنظیمات کافی است و نیازی به ساخت مجدد کل Pool وجود ندارد.
این دو ابزار مشکلات متفاوتی را حل میکنند
انتخاب بهتر به نوع اطلاعاتی که قرار است از آنها محافظت شود بستگی دارد
با وجود شباهت ظاهری mergerfs و Storage Spaces، این دو ابزار همیشه برای یک هدف ساخته نشدهاند. به همین دلیل نمیتوان گفت یکی از آنها در تمام شرایط گزینه بهتری است.
| mergerfs | Storage Spaces | |
|---|---|---|
| نیاز به فرمت مجدد | خیر | بله |
| حفظ اطلاعات فعلی | بله | خیر |
| ترکیب درایوهایی با ظرفیت یا برند متفاوت | بله | بله |
| افزونگی داخلی | خیر | بله؛ Mirror/Parity |
| امکان بازگرداندن آسان تنظیمات | بله | خیر |
افزونگی یکی از مهمترین تفاوتهای این دو ابزار است. mergerfs اطلاعات را بین درایوها بهصورت Striping توزیع نمیکند و از آنها Mirror هم نمیگیرد. بنابراین اگر یکی از درایوها خراب شود، فضای مشترک همچنان در دسترس خواهد بود، اما فایلهایی که روی درایو خراب قرار داشتهاند از بین میروند.
در مقابل، Storage Spaces با فعال کردن قابلیتهایی مانند Mirror یا Parity میتواند در صورت خرابی یک درایو، بدون از دست رفتن اطلاعات به کار خود ادامه دهد. بنابراین برای کاربرانی که هدف اصلیشان محافظت در برابر خرابی درایو است و نمیخواهند سراغ تنظیمات اضافی بروند، Storage Spaces انتخاب مناسبتری خواهد بود.
البته میتوان mergerfs را در کنار SnapRAID استفاده کرد تا قابلیت محافظت مبتنی بر Parity نیز به آن اضافه شود، در حالی که انعطافپذیری mergerfs همچنان حفظ میشود.
برای سیستم مناسب، شکست دادن mergerfs سخت است
mergerfs ابزاری نیست که همه کاربران از آن استفاده کنند. از آنجا که برخی از کامپیوترها و به خصوص سرورها، هر چند وقت یکبار به فضای ذخیرهسازی بیشتری نیاز دارند، ساخت مجدد کل فضای ذخیرهسازی در هر مرحله کار منطقی و راحتی نیست. به همین دلیل mergerfs انتخاب مناسبی برای چنین سیستمی است. اگر قرار باشد محافظتی مشابه RAID در برابر خرابی درایوها وجود داشته باشد، بهخصوص برای اطلاعات مهم، میتوان mergerfs را با SnapRAID ترکیب کرد.
لینوکس به دلیل ساختار و ابزارهای قدرتمندش گاهی پیچیده به نظر میرسد و انتظار میرفت راهاندازی چنین سیستمی نیز دشوار باشد. اما تجربه استفاده از mergerfs نشان داد که ترکیب چند درایو موجود در لینوکس میتواند بسیار سادهتر از چیزی باشد که انتظار میرود.
اینتوتک


