اگر چند هارد یا SSD با ظرفیتهای متفاوت دارید، احتمالاً وسوسه شدهاید همه را به یک فضای ذخیرهسازی واحد تبدیل کنید. در ویندوز، یکی از گزینههای شناختهشده برای این کار Storage Spaces است؛ اما تجربه کار با آن معمولاً این نگرانی را ایجاد میکند که باید قبل از شروع، از همهچیز بکاپ بگیرید، درایوها را پاک کنید، استخر جدید بسازید و بعد دوباره دادهها را برگردانید.

در لینوکس راهی وجود دارد که برای بسیاری از استفادههای خانگی و سرورهای رسانهای سادهتر و کمدردسرتر است: mergerfs. این ابزار بهجای ساختن یک قالب ذخیرهسازی جدید، درایوهای از قبل mount شده را زیر یک مسیر واحد نشان میدهد. نتیجه این است که فایلهای فعلی شما سر جای خودشان میمانند و درایوها مجبور نیستند برای ورود به یک pool تازه پاک شوند.

mergerfs دقیقاً چه کاری انجام میدهد؟
mergerfs یک FUSE-based union filesystem است. به زبان ساده، چند مسیر یا چند درایو را طوری کنار هم قرار میدهد که کاربر آنها را مثل یک پوشه بزرگتر ببیند. خود درایوها همچنان فایلسیستم اصلیشان را حفظ میکنند؛ مثلاً ext4، XFS، Btrfs یا حتی درایو NTFS که در لینوکس با درایور ntfs3 mount شده است.
مزیت مهم این مدل آن است که دادهها در یک ساختار اختصاصی و سختبرگشت قفل نمیشوند. اگر بعداً یکی از درایوها را جدا کنید، فایلهایی که روی همان درایو بودهاند همچنان قابل خواندناند؛ چون mergerfs قرار نیست کل دیسک را بازنویسی یا به قالبی تازه تبدیل کند. این تفاوت بزرگی با رویکردهایی است که برای شروع، ساخت یک دیسک مجازی و فرمتکردن آن را لازم میدانند.
برای فایلهای جدید هم mergerfs از سیاستهای جایگذاری استفاده میکند؛ یعنی طبق یک قانون مشخص تصمیم میگیرد فایل تازه روی کدام درایو نوشته شود. یکی از انتخابهای رایج این است که فایلها بیشتر روی درایوی قرار بگیرند که فضای آزاد بیشتری دارد. سیاستهای دیگری هم وجود دارد، اما برای استفاده روزمره معمولاً لازم نیست دائم درگیر آنها باشید.

راهاندازی میتواند بسیار سریع باشد
در سناریویی که MakeUseOf توضیح داده، کاربر روی یک سرور خانگی با Linux Mint از mergerfs استفاده کرده و برخلاف انتظار، فرایند ادغام چند درایو در حد یک تغییر پیکربندی کوتاه تمام شده است. بعد از نصب mergerfs، کافی بوده mount مربوط به درایوهای موجود در یک مسیر واحد تعریف شود تا چند دیسک جداگانه مثل یک پوشه مشترک دیده شوند.
این موضوع مخصوصاً برای مجموعههای بزرگ رسانهای مهم است. وقتی چند ترابایت فیلم، سریال، عکس یا فایل آرشیوی دارید، بکاپگرفتن کامل، پاککردن درایوها و بازگرداندن دادهها میتواند ساعتها یا حتی روزها زمان ببرد. mergerfs این مسیر را دور میزند: فایلهای قدیمی همانجا میمانند و فقط نمای مشترکی از آنها ساخته میشود.
البته یک نکته عملی وجود دارد: درایوها باید قبل از شروع mergerfs بهدرستی mount شده باشند. اگر ترتیب mount در زمان بوت درست نباشد، ممکن است یکی از درایوها در pool دیده نشود. راهحل، تنظیم دقیقتر ترتیب mount و وابستگیها در بوت است؛ مشکلی که معمولاً با اصلاح پیکربندی حل میشود، نه با بازسازی کل فضای ذخیرهسازی.

mergerfs و Storage Spaces یک مشکل را دقیقاً به یک شکل حل نمیکنند
مقایسه mergerfs با Windows Storage Spaces باید با احتیاط انجام شود. هر دو میتوانند چند درایو را به شکلی یکپارچهتر در اختیار کاربر بگذارند، اما هدف و سطح محافظتشان یکی نیست. mergerfs بیشتر روی انعطاف، حفظ دادههای موجود و برگشتپذیری تمرکز دارد؛ Storage Spaces میتواند در برخی پیکربندیها افزونگی داخلی مثل mirror یا parity ارائه کند.
| ویژگی | mergerfs | Storage Spaces |
|---|---|---|
| نیاز به فرمت یا بازسازی اولیه | خیر | معمولاً بله |
| حفظ فایلهای موجود روی درایوها | بله | خیر، در بسیاری از سناریوها باید مهاجرت انجام شود |
| ترکیب درایوهایی با ظرفیت و برند متفاوت | بله | بله |
| افزونگی داخلی در برابر خرابی دیسک | خیر | بله، با mirror یا parity |
| برگشتپذیری ساده | بله | معمولاً نه به همان سادگی |
بنابراین اگر هدف شما فقط این است که چند درایو موجود را بدون دستزدن به دادهها زیر یک مسیر واحد ببینید، mergerfs بسیار جذاب است. اما اگر دادهها حیاتیاند و میخواهید خرابی یک دیسک الزاماً به از دست رفتن فایلها منجر نشود، باید به لایه محافظتی جداگانه فکر کنید. در دنیای لینوکس یکی از ترکیبهای رایج، استفاده از mergerfs در کنار SnapRAID برای افزودن parity است.
برای چه کسانی انتخاب بهتری است؟
mergerfs برای کاربریهایی مثل سرور خانگی، آرشیو رسانهای، مجموعههای در حال رشد و سیستمهایی که هر از گاهی یک درایو جدید به آنها اضافه میشود، انتخابی منطقی است. اگر مثلاً با Jellyfin یک media server دارید و نمیخواهید هر بار با اضافهشدن هارد جدید، ساختار کل آرشیو را عوض کنید، این روش میتواند دردسر را بهشدت کم کند.
از طرف دیگر، mergerfs جایگزین مستقیم RAID یا یک راهکار کامل پشتیبانگیری نیست. اگر یک درایو خراب شود، فایلهای روی همان درایو از دست میروند؛ هرچند namespace کلی pool ممکن است همچنان در دسترس باشد. پس برای اطلاعات مهم، همچنان باید بکاپ مستقل و در صورت نیاز افزونگی جداگانه داشته باشید.
جمعبندی
مزیت اصلی mergerfs این است که با دادههای موجود شما محترمانه رفتار میکند: درایوها را مجبور به پاکشدن نمیکند، فایلها را بیدلیل جابهجا نمیکند و اضافهکردن درایو تازه را به یک تغییر ساده در پیکربندی تبدیل میکند. همین سادگی برای بسیاری از کاربران لینوکس، بهخصوص کسانی که آرشیوهای بزرگ و در حال رشد دارند، از قابلیتهای پیچیدهتر جذابتر است.
اگر به محافظت داخلی در برابر خرابی دیسک نیاز دارید، Storage Spaces یا ترکیب mergerfs با ابزارهایی مثل SnapRAID را باید جداگانه بررسی کنید. اما اگر مسئله اصلی شما یکیکردن نمای چند درایو بدون فرمت، مهاجرت و شروع دوباره است، mergerfs یکی از کاربردیترین پاسخهای لینوکس به این نیاز است.
منبع: این مطلب یک بومیسازی و بازنویسی تحریریهای بر اساس مقالهای از MakeUseOf است: مشاهده مقاله اصلی.