> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# أي نظام تشغيل تضعه على NAS تبنيه بنفسك؟
- URL: https://arabroot.io/articles/اي-نظام-تشغيل-تضعه-على-nas-تبنيه-بنفسك/
- Published: 2026-10-09T22:30:00.000Z
- Updated: 2026-10-09T12:58:28.000Z
- Description: كيف تختار نظام تشغيل لجهاز NAS تبنيه بنفسك، مع تجربة تستعيد فيها ملفاً محذوفاً وقرصاً كاملاً من التماثل.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, الشبكات والبنية التحتية, هوم لاب, التشغيل والنسخ الاحتياطي, الاستضافة الذاتية

في مقال [NAS جاهز أم تبنيه بنفسك](https://arabroot.io/articles/nas-%D8%AC%D8%A7%D9%87%D8%B2-%D8%A7%D9%85-%D8%AA%D8%A8%D9%86%D9%8A%D9%87-%D8%A8%D9%86%D9%81%D8%B3%D9%83/) وصلنا إلى أن الجهاز الذي تبنيه بنفسك يعطيك حرية الأقراص والذاكرة، وبقي سؤال واحد كبير: ما نظام التشغيل الذي تضعه عليه؟ والمشكلة أن الأسماء المتداولة في المنتديات لا تقارن الشيء نفسه، فبعضها نظام كامل مبني حول ZFS، وبعضها واجهة فوق Debian، وبعضها نظام تجاري يدفع ثمنه، وهناك من يقول لك لا تحتاج أياً منها وDebian وحده يكفي. لذلك سوف نقارنها طبقة بطبقة، ثم نبني في تجربة عملية الفكرة التي يقوم عليها Unraid وإضافات OpenMediaVault، أي أقراص مستقلة يجمعها mergerfs ويحميها SnapRAID، ونستعيد بها ملفاً محذوفاً وقرصاً كاملاً.

وسوف نناقش في هذا المقال ما يلي:

- الخيارات الخمسة: TrueNAS Community Edition وOpenMediaVault وUnraid وRockstor وDebian وحده، وما تغير في أسماء TrueNAS.
- الفرق بين طرق حماية الأقراص: ZFS وBtrfs وmergerfs مع SnapRAID.
- جدول مقارنة: نظام الملفات والتطبيقات والواجهة والعتاد والرخصة.
- تجربة عملية: mergerfs وSnapRAID وSamba على أقراص Loop داخل Container، مع استعادة ملف محذوف وقرص ممسوح.
- خطوات تثبيت TrueNAS وOpenMediaVault من توثيقهما الرسمي.

والمفاهيم نفسها، أي ال Pool وال vdev وال Checksums وال Scrub وحساب RAID، شرحناها في [الفرق بين NAS وSAN](https://arabroot.io/articles/%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-nas-%D9%88-san-%D9%88%D9%85%D8%AA%D9%89-%D9%8A%D9%83%D9%81%D9%8A%D9%83-das/)، فلن نعيدها هنا.

## الخيارات الخمسة في صورة واحدة

الصورة التالية تضع الخيارات الخمسة جنباً إلى جنب، من طبقة الأقراص في الأسفل إلى طريقة الإدارة في الأعلى، والرخصة تحت كل واحد:

![خمسة أعمدة من اليمين: TrueNAS CE بواجهة ويب وتطبيقات Docker وأجهزة افتراضية على نظام Linux مغلق وZFS فقط، مجاني برخصة GPL وLGPL ويحتاج 8 جيجابايت ذاكرة و16 جيجابايت SSD للإقلاع، ثم OpenMediaVault 8 بواجهة ويب وإضافات وإضافة compose على Debian 13 مع ext4 وBtrfs وmd RAID وإضافات ZFS وmergerfs وSnapRAID، مجاني برخصة GPLv3 وأقل ذاكرة 1 جيجابايت، ثم Unraid بواجهة ويب وتطبيقات Docker يقلع من ذاكرة USB ومصفوفة أقراص XFS مع Parity ومجمعات ZFS، مدفوع من 49 إلى 249 دولاراً برخصة تجارية وتجربة 30 يوماً، ثم Rockstor على openSUSE Leap مع Btrfs فقط وتطبيقات Rock-ons، مجاني برخصة GPL-3.0، ثم Debian وحده تديره بـ ssh وملفات الإعداد وDocker Compose وأي نظام ملفات](https://arabroot.io/content/images/2026/10/nas-software-01-landscape.webp)

الخيارات الخمسة طبقة بعد طبقة: الأقراص، والنظام، والتطبيقات، والإدارة، والرخصة

### TrueNAS Community Edition

إذا قرأت دليلاً قديماً فسوف تجد اسمين: TrueNAS CORE المبني على FreeBSD، وTrueNAS SCALE المبني على Linux. وفي أبريل 2025 أعلنت الشركة في [إعلان الإصدار 25.04 (Fangtooth)](https://www.truenas.com/blog/truenas-fangtooth-25-04-release/?ref=arabroot.io) أنه مسار الترقية الموحد لمستخدمي SCALE 24.10 وCORE 13.x، وأن CORE وSCALE سوف يتوحدان في إصدار مجتمعي Community Edition وإصدار للشركات Enterprise، وتقول [صفحة حالة البرامج](https://www.truenas.com/docs/softwarestatus/?ref=arabroot.io) اليوم إن CORE لم يعد تحت التطوير النشط. والصفحة نفسها توصي المستخدم العادي في 9 أكتوبر 2026 بالإصدار 25.10.7 (Goldeye) الصادر في 2 سبتمبر 2026، أما الإصدار التالي فأعلنت الشركة في [مدونتها](https://www.truenas.com/blog/truenas-27-is-here/?ref=arabroot.io) أن اسمه أصبح 27 بدلاً من 26، وأن نسخة RC.1 منه صدرت في 6 أكتوبر 2026 على نواة Linux 6.18 وOpenZFS 2.4، والإصدار النهائي متوقع في بداية ديسمبر 2026.

وTrueNAS مبني حول ZFS بالكامل، فلا يوجد فيه نظام ملفات آخر للبيانات، والتطبيقات فيه منذ الإصدار 24.10 (Electric Eel) تعمل على Docker بدل Kubernetes، ويمكنك أن تضيف تطبيقك بملف Compose، بحسب [ملاحظات الإصدار 24.10](https://www.truenas.com/docs/scale/24.10/gettingstarted/scalereleasenotes/?ref=arabroot.io) التي تذكر أيضاً إمكانية توسيع مجموعة RAIDZ بقرص واحد، وهي ميزة [OpenZFS 2.3](https://github.com/openzfs/zfs/releases/tag/zfs-2.3.0?ref=arabroot.io) المسماة RAIDZ Expansion. والحد الأدنى في [دليل العتاد](https://www.truenas.com/docs/scale/25.10/gettingstarted/scalehardwareguide/?ref=arabroot.io) معالج 64 بت بنواتين، و8 جيجابايت ذاكرة، وقرص إقلاع SSD بحجم 16 جيجابايت، والدليل لا يشجع على الإقلاع من قرص دوار أو ذاكرة USB. والكود منشور على GitHub، فالواجهة [truenas/webui](https://github.com/truenas/webui?ref=arabroot.io) برخصة GPL-3.0، والخدمة الوسيطة [truenas/middleware](https://github.com/truenas/middleware?ref=arabroot.io) برخصة LGPL-3.0.

**نقاط القوة:** ZFS بكل ميزاته من الواجهة مباشرة، من ال Snapshots المجدولة إلى النسخ المتماثل Replication إلى جهاز آخر، وفحص دوري وتنبيهات جاهزة، ومجتمع كبير وتوثيق مفصل.

**نقاط الضعف:** نظام مغلق على طريقته، فالشركة تحذر في ملاحظات الإصدار من أن تعديل النظام بـ apt أو غيره قد يجعله لا يعمل، وZFS يريد أقراصاً متساوية تخطط لها من البداية، والذاكرة التي يحتاجها أكبر من البدائل.

### OpenMediaVault

OpenMediaVault واختصاراً OMV واجهة إدارة لـ NAS فوق Debian، وبحسب [صفحة الإصدارات](https://docs.openmediavault.org/en/latest/releases.html?ref=arabroot.io) فالإصدار المستقر الحالي هو 8.0 (Synchrony) على Debian 13 منذ ديسمبر 2025، بينما انتهى دعم الإصدار 7 في يونيو 2026\. ورخصته GPL-3 بحسب [مستودعه](https://github.com/openmediavault/openmediavault?ref=arabroot.io)، و[صفحة المتطلبات](https://docs.openmediavault.org/en/latest/prerequisites.html?ref=arabroot.io) تذكر 1 جيجابايت ذاكرة كحد أدنى و8 جيجابايت أو أكثر كتوصية، وقرصاً للنظام منفصلاً عن أقراص البيانات، وتنصح بأقراص CMR بدل SMR مع RAID وSnapRAID وmergerfs.

وقوته في الإضافات، فمستودع [omv-extras](https://wiki.omv-extras.org/?ref=arabroot.io) يضيف إلى الواجهة إضافات مثل [ZFS](https://wiki.omv-extras.org/doku.php?id=omv8:omv8%5Fplugins:zfs&ref=arabroot.io) و[mergerfs](https://wiki.omv-extras.org/doku.php?id=omv8:omv8%5Fplugins:mergerfs&ref=arabroot.io) و[SnapRAID](https://wiki.omv-extras.org/doku.php?id=omv8:omv8%5Fplugins:snapraid&ref=arabroot.io) و[compose](https://wiki.omv-extras.org/doku.php?id=omv8:omv8%5Fplugins:docker%5Fcompose&ref=arabroot.io) لتشغيل التطبيقات.

**نقاط القوة:** خفيف ويعمل على عتاد قديم أو صغير، وتحته Debian عادي تعرفه وتصل إليه بـ ssh، ويقبل أقراصاً بأحجام مختلفة مع mergerfs وSnapRAID.

**نقاط الضعف:** أغلب الميزات المتقدمة إضافات من مجتمع omv-extras وليست من المشروع الأساسي، والواجهة أقل صقلاً من TrueNAS وUnraid.

### Unraid

Unraid نظام تجاري، و[صفحة الأسعار](https://unraid.net/pricing?ref=arabroot.io) كما قرأناها في 9 أكتوبر 2026 تعرض ثلاث رخص دائمة Perpetual: Starter بـ 49 دولاراً لستة أقراص مع سنة تحديثات، وUnleashed بـ 109 دولارات لعدد غير محدود من الأقراص مع سنة تحديثات، وLifetime بـ 249 دولاراً مع تحديثات مدى الحياة، وتجربة مجانية 30 يوماً. ويقلع النظام تقليدياً من ذاكرة USB، والرخصة مرتبطة بالمعرف الفريد GUID لتلك الذاكرة بحسب [التوثيق](https://docs.unraid.net/unraid-os/getting-started/set-up-unraid/create-your-bootable-media/?ref=arabroot.io)، ومنذ الإصدار 7.3 يمكن أن يقلع من قرص داخلي مدعوم.

وفكرته الأساسية هي المصفوفة Array: أقراص مستقلة، كل منها بنظام ملفات خاص مثل XFS يقرأ وحده، وقرص أو قرصان للتماثل Parity، وتقول [صفحة أنظمة الملفات](https://docs.unraid.net/unraid-os/using-unraid-to/manage-storage/file-systems/?ref=arabroot.io) إن XFS لا يحمل تكراراً بنفسه ويعتمد على تماثل Unraid، وتذكر بجانبه مجمعات ZFS بـ RAIDZ أو المرايا لمن يريدها. والفرق عن التجربة التي سوف نبنيها أن تماثل Unraid يحدث مع كل كتابة، أما SnapRAID فعندما تطلب أنت.

**نقاط القوة:** تخلط أقراصاً بأحجام مختلفة وتضيف قرصاً متى شئت، وكل قرص يقرأ وحده إذا ضاع اثنان، وواجهة سهلة ومتجر تطبيقات Docker كبير من المجتمع.

**نقاط الضعف:** مدفوع برخصة تجارية مرتبطة بذاكرة USB، والكتابة في المصفوفة تحدث التماثل مع كل كتابة، وأقراص XFS في المصفوفة لا تحمل تكراراً بنفسها كما تقول صفحة أنظمة الملفات، فالحماية كلها من قرص التماثل.

### Rockstor

بحسب [توثيقه](https://rockstor.com/docs/?ref=arabroot.io) فإن Rockstor جهاز NAS مبني على Linux وBtrfs، ومثبته مبني على openSUSE، وتطبيقاته تسمى Rock-ons وتعمل على Docker، ورخصة [كوده](https://github.com/rockstor/rockstor-core?ref=arabroot.io) GPL-3.0، وآخر إصدار على GitHub هو 5.5.5-0 في يوليو 2026.

**نقاط القوة:** Btrfs بمجموع التحقق والـ Snapshots من الواجهة، ويقبل أقراصاً بأحجام مختلفة في raid1.

**نقاط الضعف:** مجتمع أصغر بكثير، وBtrfs نفسه يقول في [توثيقه](https://btrfs.readthedocs.io/en/latest/btrfs-man5.html?ref=arabroot.io#raid56-status-and-recommended-practices) إن RAID5 وRAID6 فيه لا تستخدم في الإنتاج وإنما للتقييم والتجربة فقط، فأنت عملياً بين raid1 وraid10.

### Debian وحده

الخيار الخامس ألا تضع واجهة أصلاً: Debian 13، وZFS من مستودع contrib بحسب [دليل OpenZFS](https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html?ref=arabroot.io)، أو Btrfs، أو mergerfs مع SnapRAID، ثم Samba وNFS وDocker Compose بملفات إعداد تكتبها بنفسك. وهذا ما سوف نفعله في التجربة.

**نقاط القوة:** تحكم كامل، ولا يوجد شيء مخفي، وكل إعداد في ملف تحفظه في Git وتنسخه احتياطياً.

**نقاط الضعف:** أنت الواجهة، فالتنبيهات والفحص الدوري والتحديثات والمراقبة كلها مسؤوليتك، ولا يناسب أحداً في البيت غيرك.

## ثلاث طرق لحماية الأقراص

الفرق الحقيقي بين الأنظمة الخمسة ليس في الواجهة، وإنما في طريقة حماية البيانات تحتها:

- **ZFS:** مصفوفة ونظام ملفات في طبقة واحدة، وتماثل لحظي مع كل كتابة، ومجموع تحقق لكل كتلة، ولكن الأقراص في كل vdev يجب أن تكون متساوية تقريباً، والملف موزع على عدة أقراص فلا يقرأ قرص وحده.
- **Btrfs:** مجموع تحقق ومرايا raid1 تقبل أقراصاً بأحجام مختلفة، ويصلح الكتلة التالفة عند القراءة كما رأينا في تجربة [النسخة التالفة](https://arabroot.io/articles/%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-nas-%D9%88-san-%D9%88%D9%85%D8%AA%D9%89-%D9%8A%D9%83%D9%81%D9%8A%D9%83-das/#lab-checksums)، مع التحفظ على RAID5/6.
- **mergerfs مع SnapRAID:** كل ملف كامل على قرص واحد، وmergerfs تعرض الأقراص كمجلد واحد، وSnapRAID يحسب التماثل عندما تشغله أنت. ويقول [توثيق mergerfs](https://trapexit.github.io/mergerfs/latest/?ref=arabroot.io) إنه بخلاف RAID لا توجد عملية إعادة بناء إذا تعطل قرص، فأنت تخسر الملفات التي كانت على ذلك القرص فقط، ولذلك يأتي SnapRAID ليعيدها.

وقد يتساءل البعض: إذا كان SnapRAID يحسب التماثل في الليل فقط، فلماذا يستخدمه أحد؟ والإجابة في [دليل SnapRAID](https://www.snapraid.it/manual?ref=arabroot.io) نفسه، فهو مصمم لمكتبات الوسائط الكبيرة التي لا تتغير كثيراً، ويسمح لك أن تستخدم أقراصاً فيها ملفات دون أن تهيئها، ويتحمل حتى ستة أقراص معطلة بحسب عدد أقراص التماثل، وإذا تعطلت أقراص أكثر من ذلك فأنت تخسر ما عليها فقط والباقي يبقى مقروءاً. وفي المقابل يقول الدليل بوضوح إن العيب الأساسي أنه إذا تعطل قرص ولم تشغل sync مؤخراً فقد لا تستطيع أن تستعيد كل شيء، وتحديداً قد تفقد بحجم الملفات التي تغيرت أو حذفت منذ آخر sync، حتى لو لم تكن تلك الملفات على القرص المعطل، لذلك هو أنسب للبيانات التي نادراً ما تتغير.

## المقارنة في جدول واحد

| البند               | TrueNAS CE                  | OpenMediaVault                                  | Unraid                                    | Rockstor            | Debian وحده    |
| ------------------- | --------------------------- | ----------------------------------------------- | ----------------------------------------- | ------------------- | -------------- |
| حماية الأقراص       | ZFS فقط                     | md RAID وBtrfs، وإضافات ZFS وmergerfs وSnapRAID | مصفوفة XFS مع Parity، ومجمعات ZFS         | Btrfs فقط           | أي شيء تثبته   |
| أقراص بأحجام مختلفة | لا يناسبها                  | نعم مع mergerfs وSnapRAID                       | نعم                                       | نعم في raid1        | بحسب ما تختار  |
| التطبيقات           | Docker وأجهزة افتراضية      | إضافة compose                                   | Docker وأجهزة افتراضية                    | Rock-ons على Docker | Docker Compose |
| الواجهة             | واجهة ويب كاملة             | واجهة ويب وإضافات                               | واجهة ويب                                 | واجهة ويب           | سطر الأوامر    |
| العتاد الأدنى       | 8 جيجابايت و16 جيجابايت SSD | 1 جيجابايت وقرص نظام منفصل                      | ذاكرة USB بمعرف فريد أو قرص داخلي منذ 7.3 | بحسب openSUSE       | بحسب ما تشغله  |
| الرخصة والسعر       | مجاني، GPL وLGPL            | مجاني، GPL-3                                    | تجاري، من 49 إلى 249 دولاراً              | مجاني، GPL-3.0      | مجاني          |

## تجربة عملية: mergerfs وSnapRAID على أقراص Loop

تشغيل TrueNAS أو OpenMediaVault يحتاج جهازاً افتراضياً كاملاً بأقراص، وهذا أثقل من أن نضعه في Container، لذلك بنينا في التجربة الطبقة التي يقوم عليها Unraid وإضافات OMV، أي أقراص ext4 مستقلة تجمعها mergerfs ويحميها SnapRAID ويشاركها Samba، على Debian 13 داخل Container واحد بصلاحيات كاملة، والأقراص ملفات مربوطة كأجهزة Loop داخل هذا ال Container فقط. ولم نشغل TrueNAS ولا OMV نفسيهما، لذلك لا توجد في المقال صور من واجهتيهما، وخطواتهما في القسم التالي من توثيقهما الرسمي.

### تجهيز ال Container والحزم

```bash
docker network create lab-nas-net
docker run -d --name lab-nas-snapraid --privileged --network lab-nas-net debian:13.4-slim sleep infinity
docker exec lab-nas-snapraid sh -c 'apt-get update -qq && apt-cache policy snapraid mergerfs samba | grep -E "^[a-z]|Candidate"'
docker exec lab-nas-snapraid sh -c 'DEBIAN_FRONTEND=noninteractive apt-get install -y -qq snapraid mergerfs samba fuse3 util-linux e2fsprogs >/dev/null 2>&1'
```

والمخرج سوف يكون كما يلي:

```text
snapraid:
  Candidate: 12.4-1
mergerfs:
  Candidate: 2.40.2-5
samba:
  Candidate: 2:4.22.11+dfsg-0+deb13u1
```

ولاحظ أن إصدارات Debian أقدم من آخر إصدار عند المطورين، فآخر إصدار من [mergerfs](https://github.com/trapexit/mergerfs?ref=arabroot.io) على GitHub هو 2.42.0، ومن SnapRAID هو 14.10، وهذا طبيعي في توزيعة مستقرة، والإصدار الذي في [حزم Debian](https://packages.debian.org/trixie/snapraid?ref=arabroot.io) هو الذي تحصل عليه تحديثاته الأمنية مع النظام.

بعد ذلك كتبنا الخطوات كلها في ملف واحد `snapraid-lab.sh` وشغلناه داخل ال Container، وسوف نعرض كل خطوة مع مخرجها. وفي أول الملف دالة صغيرة اسمها `q` تحذف سطور التقدم والتحميل الكثيرة التي يطبعها SnapRAID، حتى يبقى المهم:

```bash
q() { grep -vE '^(Self test|Loading|Scanning|Scanned|WARNING! (UUID|Content)|Using|Initializing|Resizing|Selecting|Searching|Saving|Verif|Attempting|No content|Comparing|$)|% completed|^ +[a-z]+ +[0-9]+% \||\|___|wait time'; }
```

### أربعة أقراص: ثلاثة للبيانات وواحد للتماثل

```bash
mkdir -p /lab && cd /lab
for n in d1 d2 d3; do truncate -s 200M $n.img; done
truncate -s 260M p1.img
for n in d1 d2 d3 p1; do echo "$n $(losetup -f --show $n.img)"; done | tee loops.txt
dev() { grep "^$1 " /lab/loops.txt | cut -d' ' -f2; }
mkdir -p /srv/disk1 /srv/disk2 /srv/disk3 /srv/parity1 /srv/pool /var/snapraid
for i in 1 2 3; do mkfs.ext4 -q $(dev d$i) && mount $(dev d$i) /srv/disk$i; done
mkfs.ext4 -q $(dev p1) && mount $(dev p1) /srv/parity1
```

```text
d1 /dev/loop2
d2 /dev/loop3
d3 /dev/loop4
p1 /dev/loop5
```

ولاحظ أن قرص التماثل أكبر من أقراص البيانات، والسبب أن [دليل SnapRAID](https://www.snapraid.it/manual?ref=arabroot.io) يقول إن ملف التماثل قد يكبر حتى حجم أكبر قرص بيانات، لذلك اختر للتماثل أكبر أقراصك، ولا تضع عليه ملفاتك. وأجهزة Loop مشتركة بين كل Containers الجهاز، لذلك حفظنا أسماءها في `loops.txt` لنفصلها بأسمائها في النهاية.

### جمع الأقراص في مجلد واحد بـ mergerfs

```bash
mergerfs -o cache.files=off,category.create=mfs,minfreespace=20M,fsname=pool /srv/disk1:/srv/disk2:/srv/disk3 /srv/pool
df -h /srv/disk1 /srv/disk2 /srv/disk3 /srv/pool
mkdir -p /srv/pool/photos/2024 /srv/pool/photos/2025 /srv/pool/videos
for i in 1 2 3 4 5 6; do head -c $((8 + i))M /dev/urandom > /srv/pool/photos/2024/img-0$i.jpg; done
for i in 1 2 3 4; do head -c 12M /dev/urandom > /srv/pool/photos/2025/img-0$i.jpg; done
head -c 60M /dev/urandom > /srv/pool/videos/wedding.mp4
(cd /srv && find disk1 disk2 disk3 -type f -printf '%-30p %5k KiB\n' | sort)
```

والمخرج سوف يكون كما يلي:

```text
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop2      182M   64K  168M   1% /srv/disk1
/dev/loop3      182M   64K  168M   1% /srv/disk2
/dev/loop4      182M   64K  168M   1% /srv/disk3
pool            546M  192K  504M   1% /srv/pool
disk1/photos/2024/img-03.jpg   11264 KiB
disk1/photos/2024/img-06.jpg   14336 KiB
disk1/photos/2025/img-03.jpg   12288 KiB
disk2/photos/2024/img-02.jpg   10240 KiB
disk2/photos/2024/img-05.jpg   13312 KiB
disk2/photos/2025/img-02.jpg   12288 KiB
disk2/videos/wedding.mp4       61441 KiB
disk3/photos/2024/img-01.jpg    9216 KiB
disk3/photos/2024/img-04.jpg   12288 KiB
disk3/photos/2025/img-01.jpg   12288 KiB
disk3/photos/2025/img-04.jpg   12288 KiB
```

في المخرج أعلاه لاحظ التالي:

- ال Pool بحجم 546 ميجابايت، أي مجموع الأقراص الثلاثة، ونحن نكتب في `/srv/pool` فقط.
- كل ملف كامل على قرص واحد، والسياسة `category.create=mfs` تضع الملف الجديد على القرص الذي فيه أكبر مساحة فارغة، لذلك توزعت الملفات على الأقراص الثلاثة.
- الخيار `minfreespace=20M` ضروري هنا، والسبب أن قيمته الافتراضية بحسب [صفحة الخيارات](https://trapexit.github.io/mergerfs/latest/config/options/?ref=arabroot.io) هي 4 جيجابايت، أي أن القرص الذي فيه أقل من 4 جيجابايت فارغة لا يقبل ملفات جديدة. وفي أول محاولة لنا دون هذا الخيار وأقراصنا بحجم 182 ميجابايت كان الخطأ كما يلي:

```text
mkdir: cannot create directory '/srv/pool/photos': No space left on device
```

### حساب التماثل بـ snapraid sync

ملف الإعداد يحدد مكان التماثل، ونسخاً من ملف المحتوى content الذي يحفظ قائمة الملفات ومجموع التحقق لكل منها، والأقراص الثلاثة:

```bash
cat > /etc/snapraid.conf <<'CONF'
parity /srv/parity1/snapraid.parity
content /var/snapraid/snapraid.content
content /srv/disk1/.snapraid.content
content /srv/disk2/.snapraid.content
data d1 /srv/disk1/
data d2 /srv/disk2/
data d3 /srv/disk3/
exclude /lost+found/
CONF
snapraid sync 2>&1 | q
ls -l /srv/parity1/snapraid.parity
```

والمخرج سوف يكون كما يلي، بعد حذف سطور شريط التقدم:

```text
Syncing...
Everything OK
-rw------- 1 root root 99614720 Oct  9 08:40 /srv/parity1/snapraid.parity
```

ولاحظ أن ملف التماثل 99,614,720 بايت، وهو قريب من حجم القرص الأكثر امتلاءً d2 الذي عليه قرابة 97 ميجابايت من الملفات، وليس مجموع الأقراص الثلاثة. والصورة التالية تبين ما بنيناه حتى الآن:

![الحاسوب والهاتف والتلفاز يفتحون مجلد mergerfs واحداً في /srv/pool تشاركه Samba باسم family بحجم 546 ميجابايت، وتحته ثلاثة أقراص بيانات ext4 يقرأ كل منها وحده، على d1 ثلاث صور وعلى d2 ثلاث صور وفيديو الزفاف وعلى d3 أربع صور، وفي اليسار قرص التماثل parity1 وعليه الملف snapraid.parity بحجم 99,614,720 بايت ينمو حتى حجم أكبر قرص، وسهم أزرق من الأقراص إلى التماثل باسم snapraid sync يعمل فقط عندما تشغله](https://arabroot.io/content/images/2026/10/nas-software-02-mergerfs-snapraid.webp)

mergerfs تعرض الأقراص كمجلد واحد، وSnapRAID يحسب التماثل على القرص الرابع عندما تطلب

### استعادة صورة حذفت بالخطأ

نحفظ أولاً Hash كل ملف لنقارن به لاحقاً، ثم نحذف صورة ونضيف صورة جديدة، ونسأل SnapRAID ما الذي تغير:

```bash
(cd /srv/pool && find . -type f ! -name '.*' -exec sha256sum {} + | sort -k2 > /root/before.sha256)
rm /srv/pool/photos/2024/img-05.jpg
head -c 5M /dev/urandom > /srv/pool/photos/2025/img-05.jpg
snapraid diff 2>&1 | q
```

```text
add photos/2025/img-05.jpg
remove photos/2024/img-05.jpg
      10 equal
       1 added
       1 removed
       0 updated
       0 moved
       0 copied
       0 restored
There are differences!
```

والآن نطلب منه أن يعيد الملفات المفقودة فقط بالخيار `-m`، ثم نقارن ال Hash:

```bash
snapraid fix -m 2>&1 | q
(cd /srv/pool && sha256sum -c /root/before.sha256 | grep img-05)
```

```text
Fixing...
1%, 0 MB          recovered photos/2024/img-05.jpg
      52 errors
      52 recovered errors
       0 unrecoverable errors
Everything OK
./photos/2024/img-05.jpg: OK
```

الصورة عادت بالبايتات نفسها، و«الأخطاء» الاثنان والخمسون هي كتل الملف الناقصة التي أعاد حسابها من التماثل. ولاحظ أن الملف عاد بصلاحيات `-rw-------`، لذلك راجع المالك والصلاحيات بعد الاستعادة قبل أن تقول للعائلة إن الصورة رجعت. أما الصورة الجديدة `img-05.jpg` في مجلد 2025 فلم تكن محمية بعد، لأنها أضيفت بعد آخر sync.

### ضياع قرص كامل

الآن نحدث التماثل ليشمل الملف الجديد، ثم نمسح القرص d2 كله بتهيئته من جديد، كأنه تعطل واستبدلناه بقرص فارغ:

```bash
snapraid sync 2>&1 | q
(cd /srv/pool && find . -type f ! -name '.*' -exec sha256sum {} + | sort -k2 > /root/before.sha256)
umount /srv/pool; umount /srv/disk2
mkfs.ext4 -q -F $(dev d2) && mount $(dev d2) /srv/disk2
mergerfs -o cache.files=off,category.create=mfs,minfreespace=20M,fsname=pool /srv/disk1:/srv/disk2:/srv/disk3 /srv/pool
echo "files in the pool after losing d2: $(find /srv/pool -type f ! -name '.*' | wc -l) of $(wc -l < /root/before.sha256)"
```

```text
Syncing...
Everything OK
files in the pool after losing d2: 8 of 12
```

ثمانية ملفات من اثني عشر ما زالت موجودة لأنها على d1 وd3، وهذا ما يقصده توثيق mergerfs: لا توجد إعادة بناء، وأنت تخسر ما كان على القرص المعطل فقط. والآن نطلب من SnapRAID أن يعيد بناء محتوى d2 وحده بالخيار `-d d2`:

```bash
snapraid -d d2 -l /root/fix.log fix 2>&1 | q
(cd /srv/pool && sha256sum -c --quiet /root/before.sha256 && echo "all $(wc -l < /root/before.sha256) files match")
```

```text
Fixing...
0%, 0 MB          recovered photos/2024/img-02.jpg
recovered photos/2024/img-05.jpg
57%, 91 MB          recovered videos/wedding.mp4
recovered photos/2025/img-02.jpg
     380 errors
     380 recovered errors
       0 unrecoverable errors
Everything OK
all 12 files match
```

الملفات الأربعة التي كانت على d2 عادت، ومنها فيديو الزفاف بحجم 60 ميجابايت، وكل الملفات الاثني عشر تطابق ال Hash الذي حفظناه قبل الضياع. والصورة التالية تلخص الحالتين:

![صفان من أربع خطوات: في الأول حذف صورة بالخطأ، حيث يغطي sync أحد عشر ملفاً، ثم يحذف img-05.jpg ويظهر diff ملفاً مضافاً وآخر محذوفاً، ثم يعيد fix -m الملف باثنين وخمسين خطأً مصلحاً، ثم يطابق ال Hash، وفي الثاني ضياع القرص d2، حيث يغطي sync اثني عشر ملفاً، ثم يهيأ d2 فيظهر في ال Pool ثمانية ملفات من اثني عشر، ثم يعيد fix للقرص d2 أربعة ملفات بـ 380 خطأً مصلحاً، ثم تطابق الملفات الاثنا عشر كلها](https://arabroot.io/content/images/2026/10/nas-software-03-recovery.webp)

استعادة ملف محذوف بـ fix -m، واستعادة قرص كامل بـ fix -d

### مشاركة ال Pool بـ Samba

آخر خطوة أن يرى البيت هذا المجلد، فنضيف مستخدماً ومشاركة في Samba، ونخفي ملف content عن المستخدمين بالخيار `veto files`:

```bash
docker exec -i lab-nas-snapraid bash <<'EOF'
useradd -M -s /usr/sbin/nologin sara
printf 'Lab-Pass-2026\nLab-Pass-2026\n' | smbpasswd -a -s sara
chown -R sara /srv/pool/photos /srv/pool/videos
cat > /etc/samba/smb.conf <<'CONF'
[global]
   server role = standalone server
   server min protocol = SMB3
   map to guest = never
[family]
   path = /srv/pool
   valid users = sara
   read only = no
   veto files = /.snapraid.content/lost+found/
CONF
smbd -D
EOF
docker run -d --name lab-nas-client --network lab-nas-net alpine:3.20 sleep infinity
docker exec lab-nas-client apk add --no-cache samba-client
docker exec lab-nas-client smbclient //lab-nas-snapraid/family -U sara%Lab-Pass-2026 -c 'ls; cd photos/2024; ls'
```

والمخرج سوف يكون كما يلي:

```text
Added user sara.
  .                                   D        0  Fri Oct  9 08:40:53 2026
  ..                                  D        0  Fri Oct  9 08:40:53 2026
  photos                              D        0  Fri Oct  9 08:40:26 2026
  videos                              D        0  Fri Oct  9 08:40:58 2026

		558897 blocks of size 1024. 329305 blocks available
  .                                   D        0  Fri Oct  9 08:40:28 2026
  ..                                  D        0  Fri Oct  9 08:40:26 2026
  img-03.jpg                          N 11534336  Fri Oct  9 08:40:27 2026
  img-06.jpg                          N 14680064  Fri Oct  9 08:40:29 2026
  img-05.jpg                          N 13631488  Fri Oct  9 08:40:28 2026
  img-02.jpg                          N 10485760  Fri Oct  9 08:40:26 2026
  img-04.jpg                          N 12582912  Fri Oct  9 08:40:27 2026
  img-01.jpg                          N  9437184  Fri Oct  9 08:40:25 2026
```

الكلاينت يرى مجلداً واحداً فيه كل الصور، ولا يعرف أن img-03 على قرص وimg-02 على قرص آخر، ولا يرى ملف content. وفي جهاز حقيقي أضف إلى ذلك مهمة مجدولة Cron Job تشغل `snapraid sync` كل ليلة ثم `snapraid scrub` بانتظام، لأن الحماية كما رأينا تشمل فقط ما كان موجوداً عند آخر sync.

### التنظيف

نوقف Samba ونفصل الربط وأجهزة Loop التي أنشأناها بأسمائها من `loops.txt`، ونحذف ملفات الأقراص، ثم ال Containers والشبكة:

```bash
docker exec lab-nas-snapraid bash -c 'pkill smbd; umount /srv/pool; for i in 1 2 3; do umount /srv/disk$i; done; umount /srv/parity1; for d in $(cut -d" " -f2 /lab/loops.txt); do losetup -d $d; done; rm -rf /lab'
docker rm -f lab-nas-snapraid lab-nas-client
docker network rm lab-nas-net
```

## تثبيت TrueNAS وOpenMediaVault من التوثيق الرسمي

لم نشغل النظامين في هذه التجربة، لذلك نلخص هنا الخطوات كما يرتبها توثيق كل منهما، ونترك التفاصيل للصفحات نفسها:

1. **TrueNAS:** نزل ملف ISO من صفحة [التنزيل](https://www.truenas.com/download/?ref=arabroot.io)، وثبته على قرص الإقلاع كما في [دليل التثبيت](https://www.truenas.com/docs/scale/25.10/gettingstarted/install/installingscale/?ref=arabroot.io)، ثم ادخل إلى الواجهة من المتصفح وأنشئ ال Pool بمعالج [Pool Creation Wizard](https://www.truenas.com/docs/scale/25.10/scaletutorials/storage/createpoolwizard/?ref=arabroot.io)، ثم أنشئ Dataset ومشاركة [SMB](https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/smb/?ref=arabroot.io)، وجدول Snapshots وScrub.
2. **OpenMediaVault:** ثبته من ملف ISO كما في [دليل التثبيت](https://docs.openmediavault.org/en/latest/installation/via%5Fiso.html?ref=arabroot.io) على قرص النظام وحده، ثم من الواجهة أنشئ نظام الملفات على أقراص البيانات كما في [صفحة أنظمة الملفات](https://docs.openmediavault.org/en/latest/administration/storage/filesystems.html?ref=arabroot.io)، ثم أضف مجلداً مشتركاً وخدمة SMB، وإذا أردت mergerfs وSnapRAID أو ZFS فثبت omv-extras وإضافاتها.

📌

أي نظام اخترت، لا تفتح واجهته على الإنترنت، وادخل إليه عبر VPN كما شرحنا في [قسم الأمان](https://arabroot.io/articles/nas-%D8%AC%D8%A7%D9%87%D8%B2-%D8%A7%D9%85-%D8%AA%D8%A8%D9%86%D9%8A%D9%87-%D8%A8%D9%86%D9%81%D8%B3%D9%83/#security)، واحتفظ بنسخة خارج الجهاز كما في [قاعدة 3-2-1](https://arabroot.io/articles/%D8%A7%D9%84%D9%86%D8%B3%D8%AE-%D8%A7%D9%84%D8%A7%D8%AD%D8%AA%D9%8A%D8%A7%D8%B7%D9%8A-%D8%A8%D9%82%D8%A7%D8%B9%D8%AF%D8%A9-3-2-1-%D9%88%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1-%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%B9%D8%A7%D8%AF%D8%A9/)، فالتماثل وال Snapshots يحميانك من عطل قرص وخطأ في الحذف، ولا يحميانك من حريق أو برنامج فدية.

## أي نظام تختار؟

- **TrueNAS Community Edition:** إذا كانت البيانات مهمة وتريد ZFS بمجموع التحقق والـ Snapshots والنسخ المتماثل من الواجهة، وعندك أقراص متساوية و8 جيجابايت ذاكرة أو أكثر.
- **OpenMediaVault:** إذا كان العتاد صغيراً أو قديماً، أو تريد Debian عادياً تحت واجهة بسيطة، أو تريد mergerfs وSnapRAID لأقراص مختلفة الأحجام.
- **Unraid:** إذا كانت مكتبة وسائط كبيرة تكبر قرصاً قرصاً بأحجام مختلفة، وتريد أسهل واجهة وتقبل أن تدفع.
- **Rockstor:** إذا كنت تريد Btrfs تحديداً بواجهة جاهزة، وتقبل مجتمعاً صغيراً.
- **Debian وحده:** إذا كنت تدير السيرفرات يومياً وتريد أن يكون كل إعداد في ملف تعرفه.

## أخطاء شائعة

- **اعتبار SnapRAID حماية لحظية:** يحمي ما كان موجوداً عند آخر sync، فجدوله كل ليلة.
- **نسيان minfreespace في mergerfs:** القيمة الافتراضية 4 جيجابايت، فإذا امتلأت الأقراص حتى هذا الحد رفض ال Pool الملفات الجديدة.
- **قرص تماثل أصغر من أكبر قرص بيانات:** ملف التماثل قد يكبر حتى حجم أكبر قرص بيانات.
- **تعديل TrueNAS بـ apt:** الشركة تحذر من أن ذلك قد يجعل النظام لا يعمل، فاستخدم التطبيقات أو جهازاً افتراضياً.
- **Btrfs RAID5/6 لبيانات مهمة:** توثيق Btrfs نفسه يقول إنها للتجربة فقط.
- **الاعتماد على دليل قديم عن TrueNAS CORE:** CORE لم يعد تحت التطوير النشط، والمسار الحالي هو Community Edition.

## الخلاصة

- TrueNAS CE هو الاسم الحالي بعد توحيد SCALE وCORE، والموصى به اليوم 25.10.7، والإصدار 27 في مرحلة RC.1 منذ 6 أكتوبر 2026، وهو ZFS فقط.
- OpenMediaVault 8 على Debian 13 خفيف ومجاني، وإضافات omv-extras تضيف ZFS وmergerfs وSnapRAID.
- Unraid تجاري من 49 إلى 249 دولاراً، ومصفوفته تخلط الأقراص المختلفة بتماثل لحظي.
- Rockstor مبني على Btrfs وopenSUSE، وBtrfs RAID5/6 ليس للإنتاج.
- في التجربة عرضت mergerfs ثلاثة أقراص كمجلد واحد، واستعاد SnapRAID صورة محذوفة بـ 52 كتلة، وقرصاً كاملاً فيه أربعة ملفات بـ 380 كتلة، وطابقت الملفات الاثنا عشر ال Hash الأصلي.
- الحماية في SnapRAID تشمل ما كان موجوداً عند آخر sync فقط.

[![](https://arabroot.io/content/images/2026/10/nas-das-san-cover-cover.webp)دليلالفرق بين NAS وSAN، ومتى يكفيك قرص متصل مباشرةكيف تصل الأجهزة إلى الأقراص عبر الشبكة بالملفات أو بالكتل، ولماذا قد يسلمك RAID ملفاً تالفاً دون أي خطأ.](https://arabroot.io/articles/%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-nas-%D9%88-san-%D9%88%D9%85%D8%AA%D9%89-%D9%8A%D9%83%D9%81%D9%8A%D9%83-das/)[![](https://arabroot.io/content/images/2026/10/nas-build-cover-cover.webp)دليلNAS جاهز أم تبنيه بنفسك؟ ما الذي تكسبه وما تخسرهكيف تقرر بين جهاز NAS جاهز وجهاز تبنيه بنفسك، بأرقام الشركات وأسعارها الرسمية وما تعلمناه من هجمات الفدية.](https://arabroot.io/articles/nas-%D8%AC%D8%A7%D9%87%D8%B2-%D8%A7%D9%85-%D8%AA%D8%A8%D9%86%D9%8A%D9%87-%D8%A8%D9%86%D9%81%D8%B3%D9%83/)[![](https://arabroot.io/content/images/2026/10/backup-321-cover-cover.webp)دليلالنسخ الاحتياطي بقاعدة 3-2-1 واختبار الاستعادةكيف تحدد كم بيانات تقبل أن تخسر، وتبني نسخاً لا يستطيع المخترق حذفها، وتتأكد أنك تستطيع استعادتها فعلاً.](https://arabroot.io/articles/%D8%A7%D9%84%D9%86%D8%B3%D8%AE-%D8%A7%D9%84%D8%A7%D8%AD%D8%AA%D9%8A%D8%A7%D8%B7%D9%8A-%D8%A8%D9%82%D8%A7%D8%B9%D8%AF%D8%A9-3-2-1-%D9%88%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1-%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%B9%D8%A7%D8%AF%D8%A9/)[![](https://arabroot.io/content/images/2026/10/wireguard-cover-cover.webp)دليلشبكة خاصة مع WireGuard وواجهة wg-easyكيف تنشئ شبكة VPN خاصة مع WireGuard وواجهة wg-easy، فلا يصل إلى لوحات الإدارة على سيرفرك إلا أجهزة فريقك.](https://arabroot.io/articles/%D8%B4%D8%A8%D9%83%D8%A9-%D8%AE%D8%A7%D8%B5%D8%A9-%D9%85%D8%B9-wireguard-%D9%88-wg-easy/)[![](https://arabroot.io/content/images/2026/10/homelab-hardware-cover-cover.webp)دليلعتاد الهوم لاب: Mini PC أم NAS أم سيرفر مستعمل؟كيف تختار جهاز الهوم لاب بأرقام الشركة المصنعة وليس بالسعر وحده، وكم يكلفك من الكهرباء في السنة بالتعرفة السعودية.](https://arabroot.io/articles/%D8%B9%D8%AA%D8%A7%D8%AF-%D8%A7%D9%84%D9%87%D9%88%D9%85-%D9%84%D8%A7%D8%A8-mini-pc-%D8%A7%D9%85-nas-%D8%A7%D9%85-%D8%B3%D9%8A%D8%B1%D9%81%D8%B1-%D9%85%D8%B3%D8%AA%D8%B9%D9%85%D9%84/)

## سجل التحديثات

- أكتوبر 2026: كتابة المقال، والتجربة على Debian 13.4 في Container مع SnapRAID 12.4 وmergerfs 2.40.2 وSamba 4.22.11 من حزم Debian، والمعلومات من صفحات TrueNAS وOpenMediaVault وUnraid وRockstor وmergerfs وSnapRAID وBtrfs كما قرأناها في 9 أكتوبر 2026.