یک Intel NUC رایگان با هارد مکانیکی ۱ ترابایتی، بیش از حد وسوسهکننده بود که نادیدهاش بگیرم. اسناد مهمم میان سرور رسانهای و اشتراکهای SMB پراکنده روی چند سرور در شبکه پخش شده بودند.
قرار دادن آنها روی سروری دیگر با یک پوشه اشتراکی، مشکل را حل نمیکرد. فقط فضای ابری امکان ذخیرهسازی یکپارچه را فراهم میکرد، اما در آن صورت دسترسی به فایلهایم به اتصال اینترنت وابسته میشد.
آنچه نیاز داشتم، ترکیبی از میزبانی اشتراک فایل محلی و یک نسخه رمزنگاریشده امن در خارج از خانه بود. بهجای راهاندازی سروری تازه و درگیری با Samba، سرور فایل TurnKey Linux را نصب کردم. NUC قدیمیام پس از آن به یک سرور امن Samba با اشتراک فایل ویندوزی، دسترسی از مرورگر و پشتیبانگیری در Amazon S3 تبدیل شد.
TurnKey Linux بیشتر کارهای سرور فایل را برایم انجام داد
NUC قدیمی پس از یک نصب، Samba، WebDAV و پنل کنترل مبتنی بر مرورگر داشت





TurnKey Linux تقریباً همان چیزی است که از نامش برمیآید: مجموعهای از نرمافزارهای آماده سرور مبتنی بر Debian که هر ایمیج، سیستمعامل TurnKey Core را با ابزارهای تحت وب موردنیاز هر کار ترکیب میکند.
فهرست محصولات TurnKey Linux دامنه گستردهای از برنامهها را پوشش میدهد؛ از WordPress و Nextcloud تا کنترلکنندههای دامنه و سرورهای فایل. بهنظر من، این پروژه یکی از ناشناختهترین پروژههای نرمافزاری است، بهویژه با توجه به حجم پیکربندی دستی که حذف میکند.
سرور فایل TurnKey با مینیپیسی رایگان Intel NUC من کاملاً سازگار بود. هارد مکانیکی ۱ ترابایتی آن از نظر سرعت همسطح SSD نبود، اما اسناد و نسخههای پشتیبان عکس به سرعت بالایی نیاز ندارند. NUC کوچک و کممصرف نیز از روشن نگهداشتن یک PC یا سرور بزرگ و پرمصرف منطقیتر بود.
پس از فلش کردن ISO سرور فایل روی USB با balenaEtcher و نصب آن، صفحه آغازین به Webmin، پیکربندی Samba و مدیر فایل WebDAV پیوند میداد. Webmin مدیریت سیستم را بر عهده داشت، Samba فضای ذخیرهسازی را بهشکل اشتراک شبکه ویندوزی از طریق SMB در دسترس قرار میداد و WebDAV نیز مدیر فایل مبتنی بر مرورگر ارائه میکرد. سپس آدرس IP مربوط به NUC را رزرو کردم و نام دامنه filesrv.home را به آن دادم.
نرمافزارهای TurnKey Linux تا حد زیادی آماده استفادهاند، اما پیکربندی پیشفرض بهمعنای آمادگی برای فایلهای شخصی من نبود. اشتراک پیشفرض فضای ذخیرهسازی در /srv/storage عمومی بود و همه میتوانستند در آن بنویسند. این وضعیت برای آزمایش فوری عالی بود، اما برای اسناد مهمم بیش از حد باز محسوب میشد.
از Webmin برای ساخت کاربر جدید greg-filesrv استفاده کردم، سپس دایرکتوری داده را به آن کاربر و گروه متناظر اختصاص دادم. مجوزهای لینوکسی آن دایرکتوری را روی ۰۷۵۰ (rwxr-x—) تنظیم کردم، همه دسترسیهای مهمان را غیرفعال کردم و اشتراک را تنها به همان حساب جدید محدود ساختم.
ممکن است افزودن کاربران جدید Samba به گروه sambashare وسوسهکننده باشد، اما در TurnKey Linux این گروه اجازه مدیریت اشتراکهای ایجادشده توسط کاربر را میدهد، نه دسترسی به اشتراکهای موجود.
فایلهایم از طریق ویندوز و مرورگر وب در دسترس بودند
SMB دسترسی روزمره را مدیریت میکرد و WebDAV رابط دوم مفیدی برای همان فضای ذخیرهسازی بود

TurnKey Linux نام NetBIOS را روی FILESERVER تنظیم کرده بود و تصمیم گرفتم آن را حفظ کنم. نخستین آزمایش واقعی، باز کردن File Explorer و وارد کردن این مسیر بود:
\\FILESERVER\storage
ویندوز بلافاصله اطلاعات ورود حساب Samba اختصاصی را درخواست کرد و سپس اشتراک را مانند هر پوشه شبکه SMB قدیمی نمایش داد. درون آن، دایرکتوریهای جداگانهای برای اسناد، عکسها و آزمایش پشتیبانگیری ساختم. همهچیز از همان بار نخست درست کار کرد؛ میتوانستم فایلها را باز کنم، ویرایش کنم، کپی کنم، تغییر نام بدهم و حذف کنم، بیآنکه به ترمینال لینوکس دست بزنم.
همین تجربه ساده و عادی، دقیقاً دلیل انتخاب TurnKey برای این پروژه بود. بسیاری از پروژههای لینوکسی از نظر فنی موفقاند، اما وقتی پس از یک ماه به آنها برمیگردید و همه دستورها را فراموش کردهاید، کار با آنها بهشدت دشوار میشود. TurnKey اجازه میدهد پیکربندی را انجام دهید و به حال خود رها کنید؛ TurnKey Core نیز سیستمعامل را طبق برنامه بهطور خودکار بهروز نگه میدارد.
TurnKey یک مدیر فایل WebDAV مبتنی بر CGI نیز داشت که، جز فراهم کردن رابطی مرورگری برای فایلهای اشتراکی، کاربرد چندانی برایم نداشت. برای آزمایش، چند فایل را از طریق WebDAV بارگذاری کردم و آنها بلافاصله در File Explorer ظاهر شدند. SMB انتخاب طبیعی برای دسترسی روزمره از ویندوز و لینوکس بود و WebDAV برای بارگذاری سریع از مرورگر و مدیریت فایل کاربرد داشت.

تنها چیزی که بلافاصله پس از راهاندازی سرور فایل از آن پشیمان شدم، این بود که لایهبندی پارتیشنها را با دقت بیشتری انتخاب نکرده بودم. اگر دوباره نصبش کنم، ترجیح میدهم فضای ذخیرهسازی را در پارتیشنی جدا از سیستمعامل قرار دهم، اما بازچینی یک دیسک واحد، ضعف اصلی این پیکربندی را بهطور کامل برطرف نمیکند.
همهچیز همچنان روی یک NUC با یک درایو مکانیکی قدیمی ۱ ترابایتی ذخیره میشد. خرابی دیسک، مشکل برق، سرقت یا حتی آتشسوزی میتوانست هر فایل محلی را از بین ببرد. سرور راحت بود، اما همچنان به نسخه پشتیبانی در خارج از خانه نیاز داشتم.
TKLBAM فقط تغییرات را به فضای ذخیرهسازی رمزنگاریشده S3 فرستاد
سامانه پشتیبانگیری TurnKey، محافظت خارج از محل را بدون آپلود کامل Debian اضافه کرد

راهحل TurnKey برای این مشکل، TKLBAM است که مخفف TurnKey Linux Backup and Migration است. این ابزار از طریق TurnKey Hub کار میکند که نسخههای پشتیبان رمزنگاریشده دستگاه را در Amazon S3 نگه میدارد. AWS پیشتر برایم دلهرهآور بود، اما استفاده از حساب TurnKey Hub در کنار حساب AWS، این اتصال را کمی کمدغدغهتر کرد.
دلیلش این است که TurnKey یک الگوی CloudFormation ارائه میدهد که نقشی در IAM داخل AWS ایجاد میکند. Hub هنگام مدیریت پشتیبانها آن نقش را بر عهده میگیرد؛ بنابراین نیازی نبود اطلاعات کاربری root حساب AWS را در اختیارش بگذارم یا بهصورت دستی کلید دسترسی دائمی بسازم.

طی کردن این فرایند، یک کلید API از TurnKey در اختیارم گذاشت تا NUC را به حساب Hub خود پیوند دهم. نسخه پشتیبانم در نهایت در منطقه سیدنی آمازون قرار گرفت که از نظر فیزیکی نسبتاً به سرور فایل نزدیک است.
TKLBAM همچنین از ساختن یک ایمیج متعارف دیسک بسیار کارآمدتر است، زیرا از پیش میداند چه چیزهایی در دستگاه اولیه TurnKey وجود دارند. نیازی به آپلود یک کپی کامل دیگر از Debian ندارد؛ در عوض، تغییرات موارد زیر را ردیابی میکند:
- فایلها
- وضعیت بستهها
- پیکربندی سیستم
- پایگاهدادههای پشتیبانیشده
سپس دادهها را فشرده و رمزنگاری میکند تا به S3 بفرستد.

این رفتار زمانی کاملاً آشکار شد که بلافاصله پس از نصب، یک پشتیبانگیری شبیهسازیشده انجام دادم و TKLBAM کاری برای انجام نداشت. بهمحض اینکه ساختار پوشه را در پوشه اشتراکی ایجاد کردم و چند سند و عکس بارگذاری کردم، نخستین پشتیبان واقعی سرانجام چیزی برای محافظت داشت.
پس از کامل شدن پشتیبان، در TurnKey Hub با نام نسبتاً مناسب «Backup ID ۱» ظاهر شد. همانجا وظیفه پشتیبانگیری روزانه را نیز فعال کردم تا TKLBAM بتواند نسخههای پشتیبان افزایشی ایجاد کند.

باید توجه داشت که دوره آزمایشی رایگان Amazon S3 را انتخاب کردم. این دوره شش ماه و ۱۰۰ دلار اعتبار رایگان دارد، اما برای همیشه رایگان نیست. با این حال، نگهداری یک آرشیو معمولی از اسناد واقعاً هزینه ناچیزی خواهد داشت.
دیدن کامل شدن پشتیبان بسیار اطمینانبخش بود، اما تا زمانی که عمداً فایلی را حذف نمیکردم، آن را بازیابی نمیکردم و سالم بودنش را تأیید نمیکردم، آماده اعتماد به آن نبودم.
مفیدترین گزینه بازیابی در ترمینال پنهان شده بود
TKLBAM یک فایل حذفشده را بدون بازگرداندن بقیه سرور فایل بازیابی کرد

برای آزمایش کامل پشتیبان، یک فایل متنی TKLBAM-restore-test.txt در پوشه Backup-Test ایجاد کردم و هش SHA-۲۵۶ آن را محاسبه کردم:
Get-FileHash "\\FILESERVER\storage\cloud-nas\Backup-Test\TKLBAM-restore-test.txt" -Algorithm SHA256
نتیجه این بود:
4FACB46BD9FB651781BEEFFD262DA7E9ACAABBB619B91BB25EDDEB31FF8EF2E5
پس از افزودن آن به Backup ID ۱، نسخه اصلی را از اشتراک Samba حذف کردم و تأیید کردم که هم از پوشه اشتراکی و هم از WebDAV ناپدید شده است. Webmin بازیابی کامل دستگاه را پیشنهاد میداد، اما من فقط همان یک فایل را میخواستم. برای این کار، به گزینه دقیقتر خط فرمان TKLBAM نیاز بود:
tklbam-restore 1 --skip-database --skip-packages --limits="/srv/storage/cloud-nas/Backup-Test/TKLBAM-restore-test.txt"

عدد ۱ به Backup ID ۱ اشاره دارد و گزینههای –skip-database و –skip-packages مانع اعمال تغییرات نامرتبط در پایگاهدادهها یا بستهها توسط TKLBAM میشوند. کلید –limits نیز بازیابی سیستمفایل را تنها به مسیری که مشخص کرده بودم محدود میکرد.
پس از دانلود پشتیبان از S3، TKLBAM فایل مفقودشده را بدون دست زدن به فایلهای دیگر روی سرور فایل بازگرداند. مهمتر اینکه هش SHA-۲۵۶ آن با مقداری که پیش از حذف ثبت کرده بودم مطابقت داشت. دادهها دقیقاً یکسان بودند.
گزینه بازیابی انتخابی همچنان نیازمند وارد کردن مسیر دقیق لینوکس است و S3 قطعاً یک سامانه پشتیبانگیری و مهاجرت به سبک Dropbox نیست. نقطه ضعف این است که فرایند بازیابی از یک اشتراک فایل SMB روزمره کمتر در دسترس است. همچنین دو وابستگی خارجی اضافه میکند: یک حساب AWS و یک حساب TurnKey Hub.
NUC رایگان شغل دائمی پیدا کرد
سختافزاری که منسوخ بهنظر میرسید، به یکی از مفیدترین ماشینهای شبکهام تبدیل شد

قطعاً این NUC را نگه میدارم. البته از نظر کارایی و افزونگی، با یک NAS هدفساخت برابری نمیکند؛ اما TurnKey Linux سختافزاری را که بسیاری از افراد امروز بیدرنگ به سطل زباله میاندازند، به یکی از مفیدترین ماشینهای شبکهام تبدیل کرده است.
اکنون این دستگاه مکانی محلی برای نگهداری فایلهای مهمم فراهم میکند و نسخههای پشتیبان رمزنگاریشده را روی یکی از قابلاعتمادترین پلتفرمهای ذخیرهسازی ابری جهان، یعنی Amazon S3، نگه میدارد. برای کامپیوتری که هیچ هزینهای برایم نداشت، نمیتوانستم عمر دومی بهتر از این تصور کنم.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Gregory Gibson است. مشاهده مقاله اصلی