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





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

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

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

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

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

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

باید توجه داشت که من دوره آزمایشی رایگان 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 قطعاً یک سیستم پشتیبانگیری و مهاجرت بهسبک دراپباکس نیست. نقطه ضعف این است که فرآیند بازیابی کمی کمتر از یک اشتراک فایل SMB روزمره قابلدسترس است. همچنین دو وابستگی خارجی اضافه میکند: یک حساب AWS و یک حساب TurnKey Hub.
NUC رایگان شغل دائمی پیدا کرد
سختافزاری که منسوخ بهنظر میرسید به یکی از مفیدترین ماشینهای شبکهام تبدیل شد

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