في مقال NAS جاهز أم تبنيه بنفسك وصلنا إلى أن الجهاز الذي تبنيه بنفسك يعطيك حرية الأقراص والذاكرة، وبقي سؤال واحد كبير: ما نظام التشغيل الذي تضعه عليه؟ والمشكلة أن الأسماء المتداولة في المنتديات لا تقارن الشيء نفسه، فبعضها نظام كامل مبني حول 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، فلن نعيدها هنا.
الخيارات الخمسة في صورة واحدة
الصورة التالية تضع الخيارات الخمسة جنباً إلى جنب، من طبقة الأقراص في الأسفل إلى طريقة الإدارة في الأعلى، والرخصة تحت كل واحد:

TrueNAS Community Edition
إذا قرأت دليلاً قديماً فسوف تجد اسمين: TrueNAS CORE المبني على FreeBSD، وTrueNAS SCALE المبني على Linux. وفي أبريل 2025 أعلنت الشركة في إعلان الإصدار 25.04 (Fangtooth) أنه مسار الترقية الموحد لمستخدمي SCALE 24.10 وCORE 13.x، وأن CORE وSCALE سوف يتوحدان في إصدار مجتمعي Community Edition وإصدار للشركات Enterprise، وتقول صفحة حالة البرامج اليوم إن CORE لم يعد تحت التطوير النشط. والصفحة نفسها توصي المستخدم العادي في 9 أكتوبر 2026 بالإصدار 25.10.7 (Goldeye) الصادر في 2 سبتمبر 2026، أما الإصدار التالي فأعلنت الشركة في مدونتها أن اسمه أصبح 27 بدلاً من 26، وأن نسخة RC.1 منه صدرت في 6 أكتوبر 2026 على نواة Linux 6.18 وOpenZFS 2.4، والإصدار النهائي متوقع في بداية ديسمبر 2026.
وTrueNAS مبني حول ZFS بالكامل، فلا يوجد فيه نظام ملفات آخر للبيانات، والتطبيقات فيه منذ الإصدار 24.10 (Electric Eel) تعمل على Docker بدل Kubernetes، ويمكنك أن تضيف تطبيقك بملف Compose، بحسب ملاحظات الإصدار 24.10 التي تذكر أيضاً إمكانية توسيع مجموعة RAIDZ بقرص واحد، وهي ميزة OpenZFS 2.3 المسماة RAIDZ Expansion. والحد الأدنى في دليل العتاد معالج 64 بت بنواتين، و8 جيجابايت ذاكرة، وقرص إقلاع SSD بحجم 16 جيجابايت، والدليل لا يشجع على الإقلاع من قرص دوار أو ذاكرة USB. والكود منشور على GitHub، فالواجهة truenas/webui برخصة GPL-3.0، والخدمة الوسيطة truenas/middleware برخصة LGPL-3.0.
نقاط القوة: ZFS بكل ميزاته من الواجهة مباشرة، من ال Snapshots المجدولة إلى النسخ المتماثل Replication إلى جهاز آخر، وفحص دوري وتنبيهات جاهزة، ومجتمع كبير وتوثيق مفصل.
نقاط الضعف: نظام مغلق على طريقته، فالشركة تحذر في ملاحظات الإصدار من أن تعديل النظام بـ apt أو غيره قد يجعله لا يعمل، وZFS يريد أقراصاً متساوية تخطط لها من البداية، والذاكرة التي يحتاجها أكبر من البدائل.
OpenMediaVault
OpenMediaVault واختصاراً OMV واجهة إدارة لـ NAS فوق Debian، وبحسب صفحة الإصدارات فالإصدار المستقر الحالي هو 8.0 (Synchrony) على Debian 13 منذ ديسمبر 2025، بينما انتهى دعم الإصدار 7 في يونيو 2026. ورخصته GPL-3 بحسب مستودعه، وصفحة المتطلبات تذكر 1 جيجابايت ذاكرة كحد أدنى و8 جيجابايت أو أكثر كتوصية، وقرصاً للنظام منفصلاً عن أقراص البيانات، وتنصح بأقراص CMR بدل SMR مع RAID وSnapRAID وmergerfs.
وقوته في الإضافات، فمستودع omv-extras يضيف إلى الواجهة إضافات مثل ZFS وmergerfs وSnapRAID وcompose لتشغيل التطبيقات.
نقاط القوة: خفيف ويعمل على عتاد قديم أو صغير، وتحته Debian عادي تعرفه وتصل إليه بـ ssh، ويقبل أقراصاً بأحجام مختلفة مع mergerfs وSnapRAID.
نقاط الضعف: أغلب الميزات المتقدمة إضافات من مجتمع omv-extras وليست من المشروع الأساسي، والواجهة أقل صقلاً من TrueNAS وUnraid.
Unraid
Unraid نظام تجاري، وصفحة الأسعار كما قرأناها في 9 أكتوبر 2026 تعرض ثلاث رخص دائمة Perpetual: Starter بـ 49 دولاراً لستة أقراص مع سنة تحديثات، وUnleashed بـ 109 دولارات لعدد غير محدود من الأقراص مع سنة تحديثات، وLifetime بـ 249 دولاراً مع تحديثات مدى الحياة، وتجربة مجانية 30 يوماً. ويقلع النظام تقليدياً من ذاكرة USB، والرخصة مرتبطة بالمعرف الفريد GUID لتلك الذاكرة بحسب التوثيق، ومنذ الإصدار 7.3 يمكن أن يقلع من قرص داخلي مدعوم.
وفكرته الأساسية هي المصفوفة Array: أقراص مستقلة، كل منها بنظام ملفات خاص مثل XFS يقرأ وحده، وقرص أو قرصان للتماثل Parity، وتقول صفحة أنظمة الملفات إن XFS لا يحمل تكراراً بنفسه ويعتمد على تماثل Unraid، وتذكر بجانبه مجمعات ZFS بـ RAIDZ أو المرايا لمن يريدها. والفرق عن التجربة التي سوف نبنيها أن تماثل Unraid يحدث مع كل كتابة، أما SnapRAID فعندما تطلب أنت.
نقاط القوة: تخلط أقراصاً بأحجام مختلفة وتضيف قرصاً متى شئت، وكل قرص يقرأ وحده إذا ضاع اثنان، وواجهة سهلة ومتجر تطبيقات Docker كبير من المجتمع.
نقاط الضعف: مدفوع برخصة تجارية مرتبطة بذاكرة USB، والكتابة في المصفوفة تحدث التماثل مع كل كتابة، وأقراص XFS في المصفوفة لا تحمل تكراراً بنفسها كما تقول صفحة أنظمة الملفات، فالحماية كلها من قرص التماثل.
Rockstor
بحسب توثيقه فإن Rockstor جهاز NAS مبني على Linux وBtrfs، ومثبته مبني على openSUSE، وتطبيقاته تسمى Rock-ons وتعمل على Docker، ورخصة كوده GPL-3.0، وآخر إصدار على GitHub هو 5.5.5-0 في يوليو 2026.
نقاط القوة: Btrfs بمجموع التحقق والـ Snapshots من الواجهة، ويقبل أقراصاً بأحجام مختلفة في raid1.
نقاط الضعف: مجتمع أصغر بكثير، وBtrfs نفسه يقول في توثيقه إن RAID5 وRAID6 فيه لا تستخدم في الإنتاج وإنما للتقييم والتجربة فقط، فأنت عملياً بين raid1 وraid10.
Debian وحده
الخيار الخامس ألا تضع واجهة أصلاً: Debian 13، وZFS من مستودع contrib بحسب دليل OpenZFS، أو Btrfs، أو mergerfs مع SnapRAID، ثم Samba وNFS وDocker Compose بملفات إعداد تكتبها بنفسك. وهذا ما سوف نفعله في التجربة.
نقاط القوة: تحكم كامل، ولا يوجد شيء مخفي، وكل إعداد في ملف تحفظه في Git وتنسخه احتياطياً.
نقاط الضعف: أنت الواجهة، فالتنبيهات والفحص الدوري والتحديثات والمراقبة كلها مسؤوليتك، ولا يناسب أحداً في البيت غيرك.
ثلاث طرق لحماية الأقراص
الفرق الحقيقي بين الأنظمة الخمسة ليس في الواجهة، وإنما في طريقة حماية البيانات تحتها:
- ZFS: مصفوفة ونظام ملفات في طبقة واحدة، وتماثل لحظي مع كل كتابة، ومجموع تحقق لكل كتلة، ولكن الأقراص في كل vdev يجب أن تكون متساوية تقريباً، والملف موزع على عدة أقراص فلا يقرأ قرص وحده.
- Btrfs: مجموع تحقق ومرايا raid1 تقبل أقراصاً بأحجام مختلفة، ويصلح الكتلة التالفة عند القراءة كما رأينا في تجربة النسخة التالفة، مع التحفظ على RAID5/6.
- mergerfs مع SnapRAID: كل ملف كامل على قرص واحد، وmergerfs تعرض الأقراص كمجلد واحد، وSnapRAID يحسب التماثل عندما تشغله أنت. ويقول توثيق mergerfs إنه بخلاف RAID لا توجد عملية إعادة بناء إذا تعطل قرص، فأنت تخسر الملفات التي كانت على ذلك القرص فقط، ولذلك يأتي SnapRAID ليعيدها.
وقد يتساءل البعض: إذا كان SnapRAID يحسب التماثل في الليل فقط، فلماذا يستخدمه أحد؟ والإجابة في دليل SnapRAID نفسه، فهو مصمم لمكتبات الوسائط الكبيرة التي لا تتغير كثيراً، ويسمح لك أن تستخدم أقراصاً فيها ملفات دون أن تهيئها، ويتحمل حتى ستة أقراص معطلة بحسب عدد أقراص التماثل، وإذا تعطلت أقراص أكثر من ذلك فأنت تخسر ما عليها فقط والباقي يبقى مقروءاً. وفي المقابل يقول الدليل بوضوح إن العيب الأساسي أنه إذا تعطل قرص ولم تشغل 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 والحزم
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'والمخرج سوف يكون كما يلي:
snapraid:
Candidate: 12.4-1
mergerfs:
Candidate: 2.40.2-5
samba:
Candidate: 2:4.22.11+dfsg-0+deb13u1ولاحظ أن إصدارات Debian أقدم من آخر إصدار عند المطورين، فآخر إصدار من mergerfs على GitHub هو 2.42.0، ومن SnapRAID هو 14.10، وهذا طبيعي في توزيعة مستقرة، والإصدار الذي في حزم Debian هو الذي تحصل عليه تحديثاته الأمنية مع النظام.
بعد ذلك كتبنا الخطوات كلها في ملف واحد snapraid-lab.sh وشغلناه داخل ال Container، وسوف نعرض كل خطوة مع مخرجها. وفي أول الملف دالة صغيرة اسمها q تحذف سطور التقدم والتحميل الكثيرة التي يطبعها SnapRAID، حتى يبقى المهم:
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'; }أربعة أقراص: ثلاثة للبيانات وواحد للتماثل
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/parity1d1 /dev/loop2
d2 /dev/loop3
d3 /dev/loop4
p1 /dev/loop5ولاحظ أن قرص التماثل أكبر من أقراص البيانات، والسبب أن دليل SnapRAID يقول إن ملف التماثل قد يكبر حتى حجم أكبر قرص بيانات، لذلك اختر للتماثل أكبر أقراصك، ولا تضع عليه ملفاتك. وأجهزة Loop مشتركة بين كل Containers الجهاز، لذلك حفظنا أسماءها في loops.txt لنفصلها بأسمائها في النهاية.
جمع الأقراص في مجلد واحد بـ mergerfs
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)والمخرج سوف يكون كما يلي:
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ضروري هنا، والسبب أن قيمته الافتراضية بحسب صفحة الخيارات هي 4 جيجابايت، أي أن القرص الذي فيه أقل من 4 جيجابايت فارغة لا يقبل ملفات جديدة. وفي أول محاولة لنا دون هذا الخيار وأقراصنا بحجم 182 ميجابايت كان الخطأ كما يلي:
mkdir: cannot create directory '/srv/pool/photos': No space left on deviceحساب التماثل بـ snapraid sync
ملف الإعداد يحدد مكان التماثل، ونسخاً من ملف المحتوى content الذي يحفظ قائمة الملفات ومجموع التحقق لكل منها، والأقراص الثلاثة:
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والمخرج سوف يكون كما يلي، بعد حذف سطور شريط التقدم:
Syncing...
Everything OK
-rw------- 1 root root 99614720 Oct 9 08:40 /srv/parity1/snapraid.parityولاحظ أن ملف التماثل 99,614,720 بايت، وهو قريب من حجم القرص الأكثر امتلاءً d2 الذي عليه قرابة 97 ميجابايت من الملفات، وليس مجموع الأقراص الثلاثة. والصورة التالية تبين ما بنيناه حتى الآن:

استعادة صورة حذفت بالخطأ
نحفظ أولاً Hash كل ملف لنقارن به لاحقاً، ثم نحذف صورة ونضيف صورة جديدة، ونسأل SnapRAID ما الذي تغير:
(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 | qadd 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:
snapraid fix -m 2>&1 | q
(cd /srv/pool && sha256sum -c /root/before.sha256 | grep img-05)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 كله بتهيئته من جديد، كأنه تعطل واستبدلناه بقرص فارغ:
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)"Syncing...
Everything OK
files in the pool after losing d2: 8 of 12ثمانية ملفات من اثني عشر ما زالت موجودة لأنها على d1 وd3، وهذا ما يقصده توثيق mergerfs: لا توجد إعادة بناء، وأنت تخسر ما كان على القرص المعطل فقط. والآن نطلب من SnapRAID أن يعيد بناء محتوى d2 وحده بالخيار -d d2:
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")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 الذي حفظناه قبل الضياع. والصورة التالية تلخص الحالتين:

مشاركة ال Pool بـ Samba
آخر خطوة أن يرى البيت هذا المجلد، فنضيف مستخدماً ومشاركة في Samba، ونخفي ملف content عن المستخدمين بالخيار veto files:
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'والمخرج سوف يكون كما يلي:
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 والشبكة:
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 من التوثيق الرسمي
لم نشغل النظامين في هذه التجربة، لذلك نلخص هنا الخطوات كما يرتبها توثيق كل منهما، ونترك التفاصيل للصفحات نفسها:
- TrueNAS: نزل ملف ISO من صفحة التنزيل، وثبته على قرص الإقلاع كما في دليل التثبيت، ثم ادخل إلى الواجهة من المتصفح وأنشئ ال Pool بمعالج Pool Creation Wizard، ثم أنشئ Dataset ومشاركة SMB، وجدول Snapshots وScrub.
- OpenMediaVault: ثبته من ملف ISO كما في دليل التثبيت على قرص النظام وحده، ثم من الواجهة أنشئ نظام الملفات على أقراص البيانات كما في صفحة أنظمة الملفات، ثم أضف مجلداً مشتركاً وخدمة SMB، وإذا أردت mergerfs وSnapRAID أو ZFS فثبت omv-extras وإضافاتها.
أي نظام تختار؟
- 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 فقط.
دليلالفرق بين NAS وSAN، ومتى يكفيك قرص متصل مباشرةكيف تصل الأجهزة إلى الأقراص عبر الشبكة بالملفات أو بالكتل، ولماذا قد يسلمك RAID ملفاً تالفاً دون أي خطأ.
دليلNAS جاهز أم تبنيه بنفسك؟ ما الذي تكسبه وما تخسرهكيف تقرر بين جهاز NAS جاهز وجهاز تبنيه بنفسك، بأرقام الشركات وأسعارها الرسمية وما تعلمناه من هجمات الفدية.
دليلالنسخ الاحتياطي بقاعدة 3-2-1 واختبار الاستعادةكيف تحدد كم بيانات تقبل أن تخسر، وتبني نسخاً لا يستطيع المخترق حذفها، وتتأكد أنك تستطيع استعادتها فعلاً.
دليلشبكة خاصة مع WireGuard وواجهة wg-easyكيف تنشئ شبكة VPN خاصة مع WireGuard وواجهة wg-easy، فلا يصل إلى لوحات الإدارة على سيرفرك إلا أجهزة فريقك.
دليلعتاد الهوم لاب: Mini PC أم NAS أم سيرفر مستعمل؟كيف تختار جهاز الهوم لاب بأرقام الشركة المصنعة وليس بالسعر وحده، وكم يكلفك من الكهرباء في السنة بالتعرفة السعودية.سجل التحديثات
- أكتوبر 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.