حافظه تحت شبکه یا به اختصار NAS راهکار بسیار خوبی برای میزبانی سرویس‌های مختلف و پشتیبان‌گیری از فایل‌هاست، اما نباید برای محافظت از اطلاعات در برابر حذف یا از دست رفتن فایل‌ها فقط به یک دستگاه متکی بود. در شبکه من دو دستگاه NAS مجزا وجود دارد که وظایف کاملاً متفاوتی دارند: یکی برای استفاده روزمره است و دیگری نقش «فضای ذخیره‌سازی سرد» را ایفا می‌کند و فقط در بازه‌های زمانی مشخص، نسخه پشتیبان دریافت می‌کند. این NAS بیشتر اوقات خاموش است و تنها ماهی دو بار روشن می‌شود تا از فایل‌های مهم موجود روی NAS اصلی و کامپیوتر دسکتاپ نسخه پشتیبان تهیه کند. متأسفانه همین دستگاه با یک مشکل جدی مواجه شد: فضای ذخیره‌سازی آن تقریباً به‌طور کامل پر شده بود.

البته در نهایت مقصر اصلی خودم بودم. روش پشتیبان‌گیری که انتخاب کرده بودم بسیار ساده بود و فایل‌هایی را که تغییری نکرده بودند یا نسخه‌های تکراری محسوب می‌شدند، به‌صورت خودکار کنار نمی‌گذاشت. در نتیجه، عملاً یک سیستم نسخه‌بندی بسیار ناکارآمد ایجاد کرده بودم که مقدار زیادی از فضای NAS را بدون دلیل اشغال می‌کرد.

اگر شما هم با مشکل پر شدن فضای NAS مواجه شده‌اید، چند راهکار وجود دارد که بدون صرف هزینه بیشتر می‌تواند این مشکل را برطرف کند. با اینتوتک همراه باشید تا این راهکارهای ساده که هزینه‌ای ندارد را بررسی کنیم.

چرا NAS آرشیوی سریع‌تر از حد انتظار پر می‌شود؟

فایل‌های تکراری می‌توانند فضای زیادی را هدر دهند

مشکل اصلی این است که NAS آرشیوی یا به‌طور کلی سیستم آرشیو ممکن است به‌جای ذخیره‌سازی بهینه، نسخه‌های تکراری زیادی از اطلاعات را نگهداری کند. به‌عنوان مثال، فرض کنید کتابخانه تصاویر روی کامپیوتر دسکتاپ قرار دارد، همان اطلاعات با NAS اصلی همگام‌سازی شده و یک نسخه دیگر نیز در پشتیبان‌گیری از گوشی وجود دارد. یک سیستم آرشیو ساده ممکن است هر سه نسخه را به‌طور جداگانه ذخیره کند.

چگونه مشکل پر شدن حافظه تحت شبکه و هارد اکسترنال به دلیل وجود فایل‌های تکراری را حل کنیم؟

اگر هر دو هفته یک‌بار از کل اطلاعات نسخه کامل تهیه کنید، در هر نوبت تقریباً همان اطلاعات دو هفته قبل دوباره روی فضای ذخیره‌سازی نوشته می‌شوند. در نتیجه، نیاز به فضای ذخیره‌سازی با سرعت زیادی افزایش پیدا می‌کند، در حالی که حجم واقعی اطلاعات جدید بسیار کمتر است.

من خیلی زود متوجه شدم که یک هارددیسک ۴ ترابایتی در NAS من تقریباً به‌طور کامل با فایل‌های تکراری و غیرضروری پر شده است.

روش‌های ساده‌ای مثل استفاده از دستور rsync --link-dest می‌توانند برای حذف داده‌های تکراری از یک منبع مشخص مفید باشند، اما اگر فایل‌های تکراری را به‌اشتباه از چند منبع مختلف همگام‌سازی کنید، این روش‌ها مشکل را حل نمی‌کنند؛ دقیقاً همان اتفاقی که برای من افتاد.

تغییر نام فایل‌ها یا جابه‌جا کردن آن‌ها بین پوشه‌ها نیز می‌تواند مشکل دیگری ایجاد کند، زیرا ابزار ممکن است چنین فایل‌هایی را به‌عنوان فایل‌های متفاوت شناسایی کند و دوباره آن‌ها را ذخیره کند.

با استفاده از یک برنامه، نسخه‌های پشتیبان را حذف داده‌های تکراری کنید

برنامه به‌صورت خودکار از ذخیره چندباره اطلاعات جلوگیری می‌کند

یکی از ساده‌ترین روش‌ها برای حل این مشکل، استفاده از یک برنامه تخصصی برای حذف داده‌های تکراری یا به زبان دیگر Deduplication است. این ابزارها فایل‌ها را بر اساس محتوایشان به بخش‌هایی با اندازه متغیر تقسیم می‌کنند، نه اینکه همه فایل‌ها را از نقاط ثابت جدا کنند.

اگر بخش مشخصی از یک فایل در نسخه موجود روی کامپیوتر، NAS و پشتیبان گوشی یکسان باشد، برنامه همان بخش را فقط یک‌بار ذخیره می‌کند.

ابزارهای مختلفی برای این کار وجود دارد که از جمله گزینه‌های شناخته‌شده می‌توان به Borg و Restic و Kopia و Duplicacy اشاره کرد. همه این ابزارها گزینه‌های مناسبی هستند، برنامه‌ی خوبی مثل Kopia کاملاً رایگان است و استفاده کردن از آن بسیار ساده است. البته انتخاب اصلی من Borg است و تاکنون تجربه خوبی با آن داشته‌ام.

چگونه مشکل پر شدن حافظه تحت شبکه و هارد اکسترنال به دلیل وجود فایل‌های تکراری را حل کنیم؟

مزیت این روش این است که سیستم حذف داده‌های تکراری می‌تواند تغییر نام فایل‌ها، جابه‌جایی آن‌ها و حتی ویرایش فایل‌ها را نیز مدیریت کند.

به‌عنوان مثال، اگر تنها یک بایت به ابتدای فایل اضافه کنید، ابزار همچنان می‌تواند تشخیص دهد که بخش باقی‌مانده فایل با نسخه قبلی یکسان است. شاید این موضوع بدیهی به‌نظر برسد، اما همه روش‌های حذف داده‌های تکراری به این اندازه دقیق نیستند.

در برخی روش‌ها، جابه‌جا شدن حتی یک بایت باعث می‌شود تمام اطلاعات بعد از آن دیگر با نسخه قبلی مطابقت نداشته باشد. در چنین شرایطی، مشکل ذخیره چندباره داده‌ها دوباره ظاهر می‌شود؛ اما این بار به شکلی پیچیده‌تر.

این برنامه‌ها معمولاً برای سیستم‌هایی با مقدار کم تا متوسط RAM نیز مناسب هستند و تقریباً روی هر سیستم فایلی قابل استفاده‌اند.

سیستم فایل ZFS قابلیت حذف داده‌های تکراری داخلی دارد

اگر از ZFS استفاده می‌کنید، ارزش امتحان کردن را دارد

اگر ترجیح می‌دهید مدیریت حذف داده‌های تکراری را در سطح سیستم فایل انجام دهید، OpenZFS اکنون قابلیت «Fast Dedup» را ارائه می‌کند. این قابلیت شامل جدول ثبت اطلاعات Deduplication و ابزار zpool ddtprune برای حذف ورودی‌های غیرضروری است.

قابلیت حذف سریع داده‌های تکراری در ZFS جذاب است، اما بدون ایراد نیست. برای عملکرد مطمئن، بهتر است به ازای هر یک ترابایت داده منحصربه‌فرد، حدود یک گیگابایت RAM یا فضای SSD برای جدول Deduplication در نظر گرفته شود. این موضوع می‌تواند در برخی دستگاه‌های NAS مشکل‌ساز باشد.

چگونه مشکل پر شدن حافظه تحت شبکه و هارد اکسترنال به دلیل وجود فایل‌های تکراری را حل کنیم؟

اگر جدول مربوط به Deduplication سرریز شود و اطلاعات آن روی هارددیسک‌های مکانیکی قرار بگیرد، عملکرد سیستم می‌تواند به‌شدت افت کند.

البته در بسیاری از موارد می‌توان با RAM کمتر از این مقدار نیز کار کرد؛ عدد مذکور بیشتر یک قاعده سرانگشتی برای حفظ حاشیه اطمینان است.

حذف داده‌های تکراری تمام مشکلات مربوط به فضای ذخیره‌سازی را حل نمی‌کند

باید توجه داشت که حذف داده‌های تکراری با فشرده‌سازی تفاوت دارد. اگر NAS شما مملو از فایل‌های بزرگ و غیرتکراری باشد، Deduplication کمک چندانی نخواهد کرد و در چنین شرایطی باید سراغ فشرده‌سازی بروید.

بنابراین، پیش از راه‌اندازی یک سیستم مجهز به حذف داده‌های تکراری، ابتدا بررسی کنید که کاهش مصرف فضای ذخیره‌سازی واقعاً ارزش زمان، منابع سخت‌افزاری و پیچیدگی راه‌اندازی آن را دارد؛ به‌خصوص اگر قصد دارید از قابلیت Deduplication در ZFS استفاده کنید.

همچنین باید در نظر داشته باشید که نسخه پشتیبان مبتنی بر قطعه‌های داده را نمی‌توان مستقیماً با File Explorer ویندوز یا فایل‌منیجر لینوکس باز کرد. مدیریت این نوع پشتیبان‌ها باید از طریق همان ابزاری انجام شود که برای تهیه آن‌ها استفاده کرده‌اید.

به همین دلیل، بررسی سلامت و عملکرد صحیح نسخه‌های پشتیبان اهمیت دوچندانی پیدا می‌کند. حتماً از قابلیت‌های بررسی صحت و یکپارچگی اطلاعات در برنامه انتخابی خود استفاده کنید و هیچ‌گاه NAS پشتیبان را جایگزین کامل یک استراتژی پشتیبان‌گیری قدرتمند ۳-۲-۱ در نظر نگیرید.