تحياتنا لعشاق ZimaBoard! اليوم، يسعدنا أن نقدم لكم درسًا شاملاً من عضو مجتمعنا المخلص، Tyrehl. لا يقتصر Tyrehl على إرشادكم بخبرة خلال عملية تثبيت ZFS على ZimaBoard، بل يقدم أيضًا نظرة شاملة على ZimaBoard نفسه.
من رؤى المجتمع إلى تعليمات التثبيت التفصيلية، مقال Tyrehl هو مصدرك الشامل لإطلاق الإمكانات الكاملة لكل من ZFS وZimaBoard. نقدم شكرنا العميق لـ Tyrehl على هذه المساهمة الغنية، التي تجسر الفجوة بين تفاعل المجتمع والمعرفة التقنية. لنبدأ هذه الرحلة معًا ونرتقي بتجربتك مع ZimaBoard. استمتع بالاكتشاف!
مقدمة
أجهزة الكمبيوتر ذات اللوحة الواحدة (SBCs) شائعة جدًا في سيناريوهات المختبرات المنزلية، وفي السنوات الأخيرة حققت تقدمًا في البيئات المهنية والصناعية أيضًا. اليوم هناك نظام بيئي كبير يركز على الحوسبة الطرفية والأنظمة صغيرة الحجم.
من السهل الحصول على قدرة حاسوبية جيدة، مع وجود SBCs مختلفة تقدم 4 أنوية وذاكرة رام وفيرة لتطبيقات متعددة. حيث عادة ما يقصرون هو في جانب التخزين. بطاقات SD والتخزين الفلاش بشكل عام بطيئة وعرضة للفشل في سيناريوهات الكتابة المكثفة. الأقراص المتصلة عبر USB لا توفر نفس مستوى الموثوقية، واختيار موصل USB إلى SATA جيد ليس بالأمر البسيط أيضًا.
لدى ZimaBoard ورقة رابحة. منفذي SATA، واثنين من Ethernet بسرعة 100/1000، وخيارات تمديد PCIe المختلفة، تجعل النظام مرنًا جدًا.
أين حدود ما يمكن أن يحققه SBC بشكل واقعي، ولماذا يكون التخزين دائمًا مصدر إزعاج؟ أين هو الوسط الذهبي بين جهاز مدمج لا يتقن أي مهمة بشكل خاص، ووحش من الكابلات مع 6 أقراص SATA يتطلب مزود طاقة ATX خارجي؟
يهدف هذا المقال إلى استكشاف نقاط القوة في ZimaBoard، وكيف يمكن استغلالها لوضعها في الاستخدام الجيد. دون أن ينتهي الأمر بإعداد يبدو سخيفًا وغير عملي.
الدافع
كما ذُكر سابقًا، من السهل نشر واستخدام الكثير من القدرة الحاسوبية. الذاكرة رخيصة أيضًا، لذا يصبح التخزين بسرعة هو العامل المحدد. أي شخص تعامل مع البنية التحتية ربما يكون على دراية بذلك. فقط ألقِ نظرة على خيارات تخزين الشبكة في k8s، والمنصات المختلفة التي تدعي تقديم واجهات برمجة تطبيقات متوافقة مع S3 إلى مجموعتك، ومدى إزعاجها في النشر والتشغيل الصحيح.
يعد ZimaBoard، بفضل قدراته الممتازة على الإدخال والإخراج، مرشحًا رائعًا لجهاز NAS صغير الحجم أو خادم عام مع تخزين محلي مقاوم. وهنا يكمن التحدي – كيف نوفر تخزينًا مقاومًا للأخطاء في حزمة صغيرة الحجم، على منصة "تعمل ببساطة"، وتكون عملية مملة.
على الجانب المادي، سنقتصر على تشغيل قرصين فقط بحجم 2.5 بوصة باستخدام موصلات الطاقة وSATA في الجزء الخلفي من ZimaBoard. هذا يجعل الحل مضغوطًا جدًا دون الحاجة إلى مزود طاقة خارجي وبطاقات تمديد.
الأقل هو الأكثر
نشر كمية كبيرة من التخزين أمر جيد، لكن وجود تخزين مقاوم للأخطاء أفضل. لذلك نحتاج إلى نظام ملفات أكثر تقدمًا يقدم تكرار التخزين.
يقدم ZFS قدرات RAID برمجية تتفوق على معظم وحدات تحكم RAID المادية. إنه نظام ملفات ممتاز حقًا مع العديد من الميزات الملحوظة الأخرى مثل اللقطات التدريجية، والمزامنة بين الأنظمة البعيدة ومجمعات التخزين، والتشفير.
التركيز اليوم هو فقط على تشغيل الأقراص بشكل مكرر. عادةً ما يُستخدم ZFS لإدارة مصفوفة RAIDZ. ولكن بما أننا اقتصرنا على قرصين فقط، فهذا يترك خيارًا واحدًا ذا صلة – تجمع المرآة ZFS. هذا سيقلل فعليًا من سعة التخزين إلى النصف، لكنه في نفس الوقت سيوفر لنا تكرارًا أفضل، والقدرة على تحمل فشل قرص واحد. ليس مثاليًا، لكنه سيكون كافيًا.
الأجهزة
الأقراص
بشكل عام، توصي مجتمع ZimaBoard المستخدمين بالالتزام بالأقراص بحجم 2.5 بوصة. ميزتها الرئيسية أنها لا تحتاج إلى سكة 12 فولت لتعمل. هناك تقارير عن اختبارات ناجحة مع أقراص 3.5 بوصة، لذا قد تختلف النتائج. في حالتي، اخترت قرصين SSD بسعة 1 تيرابايت. يمكنك اختيار أقراص HDD أيضًا إذا كنت بحاجة إلى سعة أكبر.
الموصلات والإكسسوارات المطبوعة بتقنية 3D
يوصى بشدة باستخدام Y-Splitter الرسمي لتوصيل وتشغيل القرصين. هناك حلول بديلة، مثل استخدام محولات طاقة USB إلى SATA. هذا يبدو غير أنيق، لكنه سيعمل. للحفاظ على كل شيء معًا، يعمل حامل HDD مزدوج مطبوع بتقنية 3D بشكل ممتاز. النتيجة النهائية هي حزمة محمولة ومنخفضة الارتفاع جدًا.


تم تضمين الروابط في نهاية المقال. وجدت أن هذه النسخة مضغوطة وعملية جدًا بسبب صغر حجمها. كما توجد أيضًا صفائح مطبوعة بتقنية 3D لتركيبها على الرفوف، إذا كان لديك مساحة لذلك.
تثبيت ZFS
يأتي ZimaBoard مع Debian بشكل افتراضي. هذه أيضًا توصية شخصية مني لتوزيعة مستقرة لا تعيقك أو تفاجئك. بالنسبة للتوزيعات الأخرى، استشر الوثائق والتعليمات الخاصة بتثبيت ZFS.
قبل البدء، تذكر تحديث النظام إلى أحدث إصدار LTS إذا كان بإمكانك ذلك. قم بعمل نسخة احتياطية من بياناتك لتسهيل إعادة التهيئة والبدء من جديد. ووثق كل خطوة، حتى يكون حل المشكلات أسهل. اطلع على سكريبت الأمر لطريقة مريحة للقيام بذلك.
التعليمات التفصيلية وحالات الاستخدام المتقدمة موثقة في https://wiki.debian.org/ZFS هذا هو المصدر الأساسي الموصى به لإعداد ZFS.
المتطلبات المسبقة
تأكد من إمكانية الوصول إلى مستودعات HTTPS:
1 apt install -y lsb-release apt-transport-https
أضف مستودع Backports لإصدارك عن طريق تحرير /etc/apt/sources.list أو إضافة ملف مصادر جديد تحت ‘/etc/apt/sources.list.d/’:
1 #تحديد الاسم الرمزي أو استبداله يدويًا أدناه:
2 codename=$(lsb_release -cs)
3 #إضافة مستودع backports إلى قائمة المصادر:
4 echo “deb http://deb.debian.org/debian $codename-backports main contrib non-free”|sudo tee /etc/apt/sources.list.d/debian_backports.list && sudo apt update
حزم ZFS
أخيرًا، وفقًا لوثائق ديبيان، قم بتثبيت أحدث رؤوس Linux والحزم ذات الصلة بـ ZFS:
1 sudo apt install linux-headers-amd64;sudo apt install -t $codename-backports zfsutils-linux zfs-dkms
“أوه لا – حدث خطأ ما”
عادةً ما يمكن تتبع فشل تثبيت ZFS إلى نواة قديمة أو غير صحيحة، أو رؤوس مفقودة. من الأفضل إزالة جميع الحزم المتعلقة بـ ZFS، والتحقق من الرؤوس المثبتة، وإعادة قراءة وثائق التثبيت.
1 sudo dpkg -l | egrep ‘linux-image|linux-headers’
إنشاء تجمع ونظام ملفات
قائمة الأقراص حسب المعرفات:
1 ls -l /dev/disk/by-id/
2 ls -l /dev/disk/by-id/
3 lrwxrwxrwx 1 root root 9 Dec 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333D1 -> ../../sdb
lrwxrwxrwx 1 root root 9 Dec 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333DB -> ../../sda
4 lrwxrwxrwx 1
وإنشاء تجمع عن طريق تحديد معرفات الأجهزة الثابتة، مثل:
1 zpool create $mirror_pool_name mirror ata-KINGSTON_SA400S37960G_50026B73818333D1 ata-KINGSTON_SA400S37960G_50026B73818333DB
إنشاء نظام ملفات مشفر:
1 zfs create \
2 -o encryption=on \ # احذف إذا لم يكن ضروريًا
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name
سيناريوهات الاستخدام الواقعية والأداء
لا تواجه ZimaBoard أي مشاكل في تشغيل ZFS، ولديها أداء ممتاز مع تأثير التشفير الوحيد على استخدام وحدة المعالجة المركزية بشكل ملحوظ. التحويل وإعادة البث (مثل Jellyfin) ليست مشكلة أيضًا. من الجدير بالذكر أن قراءة أو كتابة ملفات كبيرة جدًا إلى نظام ملفات مشفر ستثقل وحدة المعالجة المركزية بشكل كبير. قد يؤثر هذا على أحمال العمل الأخرى التي تعمل على النظام.
SMB/NFS
أثناء الاختبار العام، استغرق كتابة ملف واحد بحجم 12GB إلى تجمع ZFS المرآة حوالي 5 دقائق، حيث كان إدخال/إخراج القرص هو عنق الزجاجة. القراءة من تجمع ZFS كانت أسرع بكثير، حيث استغرقت أقل من نصف الوقت. فعليًا، تم استغلال اتصال الشبكة بسرعة 1Gbps بالكامل. كلا الاختبارين تم إجراؤهما إلى/من نظام ملفات غير مشفر:

الاختبار التالي يعرض التأثير الكبير للتشفير على وحدة المعالجة المركزية. تم قراءة نفس ملف 12GB من نظام ملفات ZFS غير المشفر، وكتابته إلى نظام مشفر. الأداء لا يزال ممتازًا، لكن استخدام وحدة المعالجة المركزية ارتفع وبقي مرتفعًا طوال العملية.

الموارد والمراجع
- تثبيت ZFS على Debian: https://wiki.debian.org/ZFS#Installation
- https://www.printables.com/model/224057-zimaboard-dual-hdd-stand
- كابل SATA Y: https://shop.zimaboard.com/products/sata-y-cable-for-zimaboard-2-5-inch-hdd-3-5-inch-hdd-raid-free-nas-unraid
الخلاصة
هل لديك أسئلة أو تبحث عن مزيد من التوضيح حول أي جانب من جوانب الدرس؟ Tyrehl هنا لمساعدتك! انضم إلى مجتمعنا على Discord للتواصل مع Tyrehl مباشرة والمشاركة في مناقشات مفيدة. فضولك لا يجب أن يتوقف عند الدرس – Tyrehl مستعد لمساعدتك في رحلتك مع ZFS. انضم إلى خادمنا على Discord: [ zimaboard.com/discord]

