هذه هي الطريقة التي تحول بها خادم Ubuntu إلى خادم NAS مرن

إذا كنت تريد NAS مرنًا ، فأنت ملزم تقريبًا باستخدام نظام تشغيل قائم على Linux. يفسح Ubuntu Server نفسه تمامًا كخادم Linux لمشاركة الملفات. علاوة على ذلك ، يمكنك بسهولة تشغيل جميع أنواع الخدمات الإضافية باستخدام Docker. يجعل Ansible-NAS مشاركة الملفات وتشغيل الخدمات الإضافية على Ubuntu Server أكثر سهولة ، بما في ذلك لوحة القيادة على شبكة الإنترنت. في هذه المقالة سوف نبدأ.

نشأ Ansible-NAS من إحباط David Stephens من FreeNAS ، والذي غالبًا ما فشل في الترقية له. ولهذا السبب بالضبط اكتشفت Ansible-NAS بنفسي: FreeNAS هو نظام تشغيل رائع مفتوح المصدر لتشغيل NAS في منزلك ، ولكن بعد مرور عدد لا يحصى من الوقت ، اضطررت إلى توصيل لوحة مفاتيح وشاشة بـ NAS الخاص بي حتى سئمت من حل ترقية إشكالية.

لقد بحثت عن بديل ووجدت Ansible-NAS (التي اعتقدت أنها تبدو مثيرة للاهتمام) ، وقمت بتثبيت خادم Ubuntu أولاً ثم Ansible-NAS. منذ ذلك الحين وأنا راضٍ للغاية. أقوم الآن بتشغيل المزيد من الخدمات عليه أكثر من أي وقت مضى على FreeNAS.

01 اختر الأجهزة

بادئ ذي بدء ، عليك التفكير في الأجهزة التي تريد تشغيل Ansible NAS عليها. من حيث المبدأ ، يكفي أي معالج 64 بت متوافق مع Intel ويعمل بنظام Ubuntu Server. من الواضح أن مقدار الذاكرة الداخلية وسعة التخزين لديك يعتمدان على ما تريد فعله بالضبط بها وعدد الملفات التي لديك. المعالج مهم بشكل خاص إذا كنت تخطط لتشغيل الكثير من الخدمات الإضافية على ناسك. لا يحتاج معظم الناس حقًا إلى آلة فائقة السرعة لأجهزة NAS الخاصة بهم. لقد كنت أستخدم الخادم البرجي صغير الحجم Dell PowerEdge T110 II مع FreeNAS لسنوات ، ويعمل بسلاسة مع خادم Ubuntu. يقوم David Stephens باختبار Ansible NAS على HP Proliant Microserver N54L.

يفترض Ansible-NAS أنك تستخدم نظام ملفات ZFS لأقراص البيانات الخاصة بك ، وهو أمر موثوق للغاية. هذا ليس ضروريًا ، ولكن في حالتي ، تحتوي أقراص البيانات الخاصة بي بالفعل على ZFS ، لأن FreeNAS تستخدم نظام الملفات هذا أيضًا. لذلك يمكنني بسهولة استيرادها إلى خادم Ubuntu. إذا كنت تعمل مع ZFS ، فيوصى بما لا يقل عن 8 غيغابايت من ذاكرة الوصول العشوائي ، على الرغم من إمكانية ذلك أيضًا بأقل من ذلك.

بالنسبة إلى NAS ، فمن المستحسن بالتأكيد تقديم بعض التكرار لمزيد من الأمان في حالة فشل القرص. أسهل طريقة هي إعداد قرصي بيانات في تكوين معكوس (المعروف أيضًا باسم raid 1): قرصان متساويان الحجم ينسخان بعضهما البعض. مع ZFS هذا سهل الإنشاء. من الأفضل تثبيت نظام التشغيل نفسه على قرص منفصل أصغر حجمًا.

02 قم بتثبيت خادم أوبونتو

Ansible-NAS ليس نظام تشغيل NAS مثل FreeNAS ، ولكن يجب أن تفكر فيه على أنه تكوين NAS لخادم Ubuntu. لذلك تحتاج إلى تثبيت خادم Ubuntu أولاً. يدعم Ansible-NAS إصدار LTS الحالي ، Ubuntu 18.04 LTS. قم بتنزيل الصورة من موقع ويب Ubuntu وقيادتها إلى محرك أقراص USB أو DVD-RW. راجع أيضًا مقالة إصدار سطح مكتب Ubuntu في الصفحة ## للحصول على مزيد من الإرشادات.

يشبه التثبيت تثبيت Ubuntu Desktop ، ولكن بدون واجهة رسومية: بدلاً من ذلك ، تظهر الخطوات في نوافذ نصية متتالية. اختر تخطيط لوحة المفاتيح الخاص بك ثم حدد قم بتثبيت Ubuntu. بعد ذلك ، يتم عادةً إعداد اتصال الشبكة تلقائيًا إذا كنت تستخدم dhcp في شبكتك. في الخطوة التالية ، تختار التخزين الخاص بك. يختار استخدم قرص كامل واختر محرك الأقراص الذي تريد تثبيت Ubuntu عليه. قم بتأكيد التقسيم المقترح (بشكل افتراضي ، يستخدم Ubuntu نظام الملفات ext4 ، وهو أمر جيد لمحرك التمهيد) مع منتهي والتأكيد مرة أخرى باستخدام يكمل. بعد ذلك ، سيتم مسح القرص المختار وسيبدأ التثبيت.

ثم املأ بعض المعلومات ، مثل اسم الخادم واسم المستخدم وكلمة المرور. ثم عليك الانتظار حتى يكتمل التثبيت. نظرًا لأن Ubuntu Server يقوم فقط بتثبيت البرامج المفيدة للخوادم ، فهو أسرع من Ubuntu Desktop. ثم أزل وسائط التثبيت واختر اعادة التشغيل الان. ثم أعد تشغيل NAS وقم بتشغيل خادم Ubuntu. تعرف على كيفية تسجيل الدخول في المربع "الوصول إلى خادم Ubuntu الخاص بك".

الوصول إلى خادم أوبونتو الخاص بك

لا يحتوي خادم Ubuntu على واجهة رسومية ، لذلك سيتعين عليك إدخال جميع أنواع الأوامر. يمكنك القيام بذلك عبر لوحة المفاتيح والشاشة التي قمت بتوصيلها أثناء التثبيت ، ولكن يمكن القيام بذلك أيضًا بدون ، أي عبر ssh (غلاف آمن) من كمبيوتر آخر على الشبكة. إذا كنت تقوم بتشغيل إصدار Windows قبل أبريل 2018 ، فيجب عليك تثبيت برنامج PuTTY. إذا كان لديك إصدار أحدث من Windows 10 ، فيمكنك استخدام عميل ssh المدمج. اذهب أولاً إلى الإعدادات / التطبيقات / العناصر الاختيارية ثم انقر فوق أضف جزء. يختار عميل OpenSSH وأعد تشغيل جهاز الكمبيوتر الخاص بك. ثم يمكنك تسجيل الدخول إلى خادم Ubuntu في موجه أوامر Windows باستخدام الأمر ssh username @ server. مع تأكيد نعم أنك تثق في بصمة الإصبع وأدخل كلمة المرور الخاصة بك. بالمناسبة ، لدى Linux و macOS بالفعل عميل ssh مثبتًا بشكل افتراضي ، حتى تتمكن من البدء على الفور.

03 تجهيز أقراص البيانات

في هذا الفصل الرئيسي ، نفترض أنك تستخدم ZFS لأقراص البيانات الخاصة بك. قم بتثبيت الأدوات اللازمة باستخدام:

sudo apt تثبيت zfsutils

ثم نريد إنشاء نظام ملفات ZFS على قرصين بتكوين معكوس. أولاً ، استخدم الأمر lsblk لمعرفة الأقراص التي يعرفها Ubuntu. من المحتمل أنه يسمى قرص بدء التشغيل الخاص بك sda ومحركتي الأقراص الآخرين sdb و sdc. الآن قم بإنشاء جدول قسم جديد على هذين الأخيرين:

افترقنا sudo / dev / sdb

(مفترق) mklabel gpt

(افترقنا) استقال

افترقنا sudo / dev / sdc

(مفترق) mklabel gpt

(افترقنا) استقال

تعرف الآن على معرّفات محركي البيانات لديك:

ls -l / dev / disk / by-id /

بعد كل شيء ، لا يمكن ضمان بقاء الأسماء كما هي ؛ المعرفات تفعل. المعرف يشبه آتا- SAMSUNG_HD204UI_S2H7J9JB712549. ثم تحتاج إلى معرفة حجم قطاع محركات الأقراص الثابتة لديك. بالنسبة لمحركات الأقراص الثابتة الحديثة ، يبلغ حجمها 4 كيلوبايت ، لكن بعضها يكذب ويظهر 512 بايت إذا طلبت ذلك ، لأن Windows XP لديه مشاكل مع 4 كيلوبايت.

04 قم بإنشاء تجمع ZFS

مع كل هذه المعلومات ، يمكننا الآن إنشاء "تجمع" على محركي الأقراص:

sudo zpool create -o ashift = 12 tank mirror ata-SAMSUNG_HD204UI_S2H7J9JB712549 ata-SAMSUNG_HD204UI_S2H7J9JB712552

النص التحول = 12 يشير إلى حجم القطاع 4 كيلوبايت (2 ^ 12) ؛ خزان هو اسم البركة. من المعتاد اختيار شخصيات من فيلم The Matrix ، مثل الخزان أو الجرار أو الرماد ، ولكن يمكنك أيضًا تسميتها بالتواريخ. فقط لا تجعلها طويلة جدًا لذا من السهل الكتابة.

ثم مع قائمة zpool ، يمكنك عرض جميع تجمعاتك ، مع حالة zpool وحالة جميع تجمعاتك ومع zfs قائمة بجميع أنظمة ملفات ZFS الخاصة بك. بشكل افتراضي ، ينشئ zpool create نظام ملفات يحمل نفس اسم مجموعتك ويقوم بتركيبه تحت قسم الجذر. لذلك سيتم تركيب حوض السباحة المسمى الخزان تحته /خزان.

من المعتاد إنشاء العديد من أنظمة ملفات ZFS ضمن مجموعتك ، لأنه يمكنك تعيين كل نظام ملفات سواء كنت تريد استخدام الضغط ، وما إذا كانت الملفات قابلة للتنفيذ وما إلى ذلك. للقيام بذلك ، تحقق من نصائح تكوين ZFS على موقع Ansible-NAS.

05 تثبيت Ansible NAS

الآن بعد أن أصبحت القاعدة جاهزة ، يمكننا تثبيت Ansible-NAS. نحتاج أولاً إلى تمكين مستودع آخر باستخدام الأمر:

sudo add-apt-repository universe

ثم نقوم بتثبيت Ansible:

sudo apt install ansible

Ansible هو برنامج أتمتة يتيح لك تكوين أنظمة Linux الخاصة بك تلقائيًا. Ansible-NAS هو في الحقيقة مجرد تكوين محدد مسبقًا بلغة Ansible ("كتاب التشغيل") لتحويل خادم Ubuntu إلى NAS. لذا فإن تثبيت Ansible NAS هو مجرد مسألة تنزيل هذا التكوين من GitHub:

git clone //github.com/davestephens/ansible-nas.git

ثم انتقل إلى الدليل الذي يحتوي على Ansible-NAS:

قرص مضغوط ناس

06 تكوين Ansible NAS

Ansible NAS يأتي مع التكوين الافتراضي group_vars / all.yml.dist. انسخ ذلك أولاً حتى تتمكن من تخصيص التكوين الخاص بك:

cp group_vars / all.yml.dist group_vars / all.yml

افتح الآن هذا الملف الأخير باستخدام المحرر nano:

نانو group_vars / al.yml

تم تكوين Ansible-NAS بالكامل في هذا الملف الواحد. القواعد مع # تبدأ ، هي سطور التعليق. هم في جميع أنحاء الملف للتوضيح. هذه هي الطريقة التي يمكنك بها تمكين أي خدمة محددة بواسطة خاطئة مقرف حقيقية للتغيير.

لكن عليك أن تقدم أولاً عام لتعيين بعض الأشياء المهمة ، مثل اسم مضيف خادم Ubuntu ومنطقتك الزمنية واسم المستخدم الذي تريد تشغيل Ansible-NAS تحته. أدخل أيضًا المسار الذي يخزن Docker تحته بيانات الحاوية الخاصة به.

أدناه سامبا هو تكوين مشاركة الملفات الخاصة بك. هنا تقوم بتعيين المسار الذي ستوضع تحته جميع ملفاتك التي تريد مشاركتها. أسفل ذلك ، يحدد Ansible-NAS جميع أنواع المجلدات الفرعية للتنزيلات والأفلام والمسلسلات والسيول والموسيقى والبودكاست وما إلى ذلك. لكل من هذه المشاركات يمكنك تحديد ما إذا كانت متاحة للجمهور وما شابه ذلك.

احفظ التغييرات باستخدام Ctrl + O ثم اخرج من nano باستخدام Ctrl + X.

07 تطبيق التكوين

ثم انسخ ملفًا آخر باستخدام:

جرد cp

وقم بإزالة التجزئة الموجودة أمام السطر الثاني ، بحيث تبدو كالتالي:

المضيف المحلي ansible_connection = محلي

احفظ الملف ثم قم بتثبيت المزيد من التبعيات:

ansible-galaxy install -r المتطلبات

أخيرًا ، قم بتطبيق تكوين Ansible-NAS الخاص بك مع:

ansible-playbook -i جرد nas.yml -b -K

ترقية Ansible NAS

يتم صيانة Ansible-NAS بشكل نشط ويتم إضافة خدمات جديدة باستمرار. ولكن نظرًا لأن Ansible-NAS ليس برنامجًا ولكنه مجموعة من ملفات التكوين ، فإن الترقية تعد أمرًا شاذًا بعض الشيء. للقيام بذلك ، انتقل إلى دليل Ansible-NAS ثم اسحب أحدث التغييرات من GitHub باستخدام الأمر git pull. ثم أرسل جميع أقسام التكوين الجديدة في الملف group_vars / all.yml.dist لنسخها إلى نسختك الخاصة group_vars / all.yml. طريقة سهلة لعرض هذه التغييرات هي كما يلي: في إخراج git pull ، ابحث عن خط مثل 84e0c96..7860ab5 سيد -> أصل / ماجستير. ثم قم بتشغيل الأمر التالي لإظهار الاختلافات:

بوابة الفرق 84e0c96: group_vars / all.yml.dist 7860ab5: group_vars / all.yml.dist

تظهر القواعد الجديدة باللون الأخضر ، بينما ترى القواعد المحذوفة باللون الأحمر. ثم قم بإجراء تلك التغييرات group_vars / all.yml. ثم قم بتطبيق التكوين مرة أخرى باستخدام:

ansible-playbook -i جرد nas.yml -b -K

08 لوحة القيادة لجميع خدماتك

من الآن فصاعدًا ، سيشارك ناسك المجلدات التي تم تكوينها على شبكتك. في Windows ، يمكنك الوصول إليه بسهولة في Windows Explorer. ولكن ماذا يمكنك أن تفعل مع Ansible NAS؟ أول شيء يجب عليك فعله هو إضافة جميع الخدمات الإضافية التي أعددتها في ملف تكوين Ansible-NAS إلى لوحة معلومات Heimdall.

قد يبدو مفهوم Heimdall بسيطًا وعديم الفائدة: إنه خادم ويب بسيط يحتوي على صفحة ويب واحدة يمكنك إضافة أيقونات تطبيقات الويب إليها. لا أكثر. ولكن إذا قمت ، كما في حالة Ansible-NAS ، بتثبيت جميع أنواع الخدمات ، ولكل منها واجهة ويب خاصة بها ، فستفقد النظرة العامة بسرعة إذا لم يكن لديك مكان واحد يمكنك من خلاله الوصول إليها جميعًا. يتفوق Heimdall في هذا ، والذي يعمل افتراضيًا على المنفذ 10080 من NAS الخاص بك.

09 إضافة خدمات إلى لوحة القيادة الخاصة بك

افتح لوحة القيادة في متصفح الويب الخاص بك وانقر على أيقونة مع الخطوط الأفقية الثلاثة في أسفل اليمين. انقر فوق يضيف ثم أدخل اسم وعنوان url للخدمة التي تريد إضافتها. إذا كانت الخدمة مدعومة من Heimdall ، فسيظهر اسم الخدمة أيضًا على نوع التطبيق، حيث يمكنك أيضًا تعيين النوع بنفسك إذا كنت ، على سبيل المثال ، تفضل الاتصال بجهاز التوجيه OPNsense "جهاز التوجيه" في لوحة المعلومات الخاصة بك. يمكنك أيضًا تعيين رمز أو لون خلفية. أخيرًا ، تحقق مما إذا كان في الأعلى مثبت تم تمكين والنقر يحفظ لإضافة الخدمة إلى لوحة التحكم الخاصة بك.

افعل ذلك الآن مع جميع خدمات Ansible-NAS ، التي يمكن العثور على أرقام منافذها في وثائق Ansible-NAS. يمكنك أيضًا إضافة مواقع ويب أخرى ، مثل بريد الويب الخاص بك أو مواقع الويب الأخرى التي تستخدمها كثيرًا.

10 حاويات

يقوم Ansible-NAS بتثبيت جميع الخدمات (باستثناء مدير الملفات) في حاويات Docker. الحاوية هي نوع من الآلة الافتراضية ، لكنها تستخدم نفس النواة مثل نظام التشغيل الأساسي. يضمن عزل كل خدمة في حاوية منفصلة أنها لا تتداخل مع بعضها البعض وتؤدي إلى مشكلات عدم التوافق.

لا داعي للقلق بشأن ذلك للاستخدام العادي ، ولكن إذا كنت ترغب في أداء بعض مهام التكوين الأكثر تقدمًا أو حتى تثبيت خدمات إضافية لا يدعمها Ansible-NAS افتراضيًا ، فمن السهل أن تعمل مع Docker. انظر المربع "إدارة الحاويات مع Portainer".

11 تثبيت خدمات إضافية

يحتوي Ansible-NAS على العديد من الخدمات الإضافية التي يمكنك تثبيتها. بالنسبة للكثيرين يكفي إدخال الملف group_vars / all.yml متغير باسم الخدمة ثم _ ممكن تشغيل حقيقية لتمكين الخدمة. يمكن العثور على خيارات التكوين الإضافية مثل أسماء المستخدمين والأدلة وما إلى ذلك لتلك الخدمة المحددة في الجزء السفلي من ملف التكوين. تأكد من مراجعة الوثائق عبر الإنترنت لـ Ansible-NAS ، لأنها تحتوي على بعض الشرح الإضافي لبعض الخدمات.

في كل مرة بعد تعديل ملف التكوين ، تحتاج إلى تطبيق تكوين Ansible:

ansible-playbook -i جرد nas.yml -b -K

سيؤدي ذلك إلى تثبيت حاوية Docker اللازمة وإعداد التكوين الخاص بك.

12 خدمات مثيرة للاهتمام على ناس الخاص بك

سيكون الذهاب إلى جميع خدمات Ansible-NAS بعيدًا جدًا ، لكننا نذكر بعض الخدمات المثيرة للاهتمام. برج المراقبة مثير للاهتمام لأنه يقوم بتنزيل أحدث إصدار من جميع حاوياتك يوميًا ويعيد تشغيلها بهذا الإصدار الجديد عندما يكون هناك تحديث. يقوم Cloudflare Dynamic DNS Updater بتحديث نظام أسماء النطاقات الديناميكي في Cloudflare. يمكن لـ Traefik تمكين الوصول عن بُعد إلى جميع خدماتك ، بما في ذلك شهادة TLS لكل خدمة عبر Let's Encrypt.

لديك أيضًا جميع أنواع الخدمات لتنزيل الوسائط المتعددة ، مثل Transmission for BitTorrent و NZBGet for Usenet. أيضًا خدمة Time Machine للنسخ الاحتياطي لأجهزة Mac وخادم DLNA وخادم Plex Media Server وحتى Nextcloud لمشاركة ملفاتك مع الآخرين. باختصار ، مع Ansible-NAS ، يمكنك تحقيق المزيد من NAS.

إدارة الحاويات مع Portainer

Portainer هي واجهة ويب سهلة الاستخدام لـ Docker. إنها الخدمة الأخرى الوحيدة إلى جانب Heimdall التي تتيحها Ansible-NAS افتراضيًا ، على وجه التحديد لأن كلتا الخدمتين مريحة للغاية. ستجد Portainer على المنفذ 9000. قم بتسجيل الدخول إلى متصفح الويب الخاص بك باستخدام اسم المستخدم الذي قمت بإنشائه لخادم Ubuntu وكلمة المرور المقابلة. ثم اضغط حاويات لرؤية حاوياتك. يمكن إيقاف كل حاوية وإعادة تشغيلها وإيقافها مؤقتًا وحذفها وما إلى ذلك. لكن كن حذرًا عند حذف حاوية: في المرة التالية التي تقوم فيها بتطبيق تكوين Ansible-NAS ، سيتم إعادة إنشاء الحاوية إذا لم تقم بتعطيلها في الملف group_vars / all.yml. بنقرة واحدة أضف الحاوية يمكنك أيضًا تثبيت خدمات إضافية لا توفرها Ansible-NAS. للقيام بذلك ، اكتب صورة اسم الصورة الموجودة في Docker Hub.

المشاركات الاخيرة

$config[zx-auto] not found$config[zx-overlay] not found