ZFS ليس نظام ملفات فقط — هو نظام ملفات ومدير أحجام وRAID برمجي في طبقة واحدة. ولهذا يعطيك لقطات فورية وضغطاً شفّافاً وكشفاً لتلف البيانات، وكلّها من نفس الأداة.
وله ثمن: يريد ذاكرة، ويريد الأقراص مباشرةً، ولا يغفر قرارات البنية الخاطئة — لأن تغييرها بعد الإنشاء شبه مستحيل.
كل لقطة في هذه السلسلة من بروكسموكس حقيقي يعمل. نسخة Proxmox VE 9.2 كاملة بأجهزة وحاويات ومخزّنات ومهامّ نسخ فعلية، شغّلناها معزولة لهذا الغرض حتى لا يظهر اسم زبون واحد، ودخلنا لوحتها عبر نفق مشفّر لا عبر الإنترنت. وما تراه في كل صورة هو ما ستراه أنت حرفياً على شاشتك.
مستويات الحماية — القرار الذي لا يُغيَّر
| المستوى | أقلّ عدد أقراص | يتحمّل فقد | المساحة المتاحة | ملاحظة |
|---|---|---|---|---|
| Single Disk | 1 | لا شيء | 100٪ | للتجارب فقط |
| Mirror (RAID1) | 2 | قرص واحد | 50٪ | الأفضل لسيرفر صغير |
| RAIDZ1 | 3 | قرص واحد | ~67٪ | مساحة أكبر · إعادة بناء بطيئة |
| RAIDZ2 | 4 | قرصان | ~50٪ | الأأمن للأقراص الكبيرة |
| RAID10 | 4 | قرص من كل زوج | 50٪ | الأسرع — للأجهزة الافتراضية |
لا تختر RAIDZ لأقراص الأجهزة الافتراضية إن كان الأداء يهمّك. RAIDZ ممتاز للملفات الكبيرة المتتابعة (أرشيف · نسخ)، وضعيف نسبياً في الكتابة العشوائية الصغيرة — وهي بالضبط ما تفعله الأجهزة الافتراضية. للأجهزة: مرآة أو RAID10.
وقرار ثانٍ لا رجعة فيه
لا تستطيع إضافة قرص إلى مجموعة RAIDZ قائمة لتوسيعها. التوسيع يكون بإضافة مجموعة كاملة جديدة إلى المجمّع. فخطّط عدد الأقراص من البداية، أو اختر المرآة التي توسّعها بزوج جديد بسهولة.
الضغط — فعّله دائماً
| الخيار | التوصية |
|---|---|
| lz4 | ✅ الافتراضي الصحيح — سريع جداً ويوفّر 30–50٪ |
| zstd | توفير أعلى ومعالج أكثر — لبيانات باردة |
| off | لا سبب له تقريباً |
والمفاجأة أن الضغط قد يزيد الأداء: بيانات أقلّ تُكتب وتُقرأ من القرص، والمعالج الحديث يضغط أسرع من كتابة الفرق.
إنشاء المجمّع من الواجهة
المسار: النود ← Disks ← ZFS ← Create: ZFS.
مربّع Add Storage في حوار الإنشاء يُنشئ المخزّن في بروكسموكس تلقائياً مع المجمّع. اتركه مفعّلاً — وإلّا فستنشئ المجمّع وتجد أنك لا تستطيع وضع أجهزة عليه حتى تضيفه يدوياً.
⭐ مراقبة الصحّة — الجزء الذي يهمله الجميع
المرآة تحميك من موت قرص. لكن قرصاً مات في مرآتك ولم تعرف يعني أنك بلا حماية وأنت تظنّ نفسك محميّاً — حتى يموت الثاني.
كيف تقرأ هذه الشاشة
| ما تراه | معناه | ماذا تفعل |
|---|---|---|
| ONLINE وأصفار | كل شيء سليم | لا شيء |
| DEGRADED | قرص مفقود أو معطوب | استبدله فوراً |
| FAULTED | قرص فشل تماماً | استبدله الآن |
| CKSUM يزيد | تلف بيانات كُشِف | القرص في طريقه إلى الموت |
| READ/WRITE يزيد | أخطاء إدخال وإخراج | افحص الكيبل ثم القرص |
| No known data errors | لا تلف في البيانات | الجملة التي تريد رؤيتها |
عمود CKSUM هو الإنذار المبكّر. هو يعني أن ZFS قرأ بيانات لا تطابق بصمتها فأصلحها من النسخة الأخرى. رقم يزيد فيه = قرص يموت ببطء، وليس عطلاً عابراً. استبدله قبل أن يفشل تماماً — وهذا ما لا يعطيه لك أي RAID عتادي.
التنقية الدورية (Scrub) — فحص كامل
التنقية تقرأ كل بايت في المجمّع وتتحقّق من بصمته وتصلح ما تجده. وبروكسموكس يجدولها شهرياً تلقائياً.
zpool scrub tank # ابدأ يدوياً
zpool status tank # تابع التقدّم
zpool status -v tank # التفاصيل والأخطاء
ولا تعطّلها. هي ما يجعل ZFS يكتشف التلف الصامت قبل أن يصل إليك. وتشغيلها يبطئ القرص قليلاً — وهو ثمن زهيد.
استبدال قرص فاشل
# 1) اعرف أي قرص
zpool status tank
# 2) بعد تركيب البديل
zpool replace tank /dev/sdb /dev/sdd
# 3) تابع إعادة البناء
zpool status tank
إعادة البناء تستغرق ساعات على الأقراص الكبيرة — وهي أخطر فترة على مجمّعك. لأن الأقراص الباقية تُقرأ بكاملها تحت ضغط، وإن كان أحدها ضعيفاً فهذه اللحظة التي يفشل فيها. ولهذا يُنصَح بـRAIDZ2 أو المرآة الثلاثية مع الأقراص الكبيرة جداً.
الذاكرة — الثمن الحقيقي
ZFS يستعمل الذاكرة كذاكرة مؤقّتة للقراءة (ARC)، وسيأخذ الكثير منها. وهذا ليس تسريباً — يعيدها فور احتياج النظام. لكن على سيرفر بذاكرة ضيّقة قد يضايقك:
# حدّد سقفاً — مثال: 4 غيغا
echo "options zfs zfs_arc_max=4294967296" > /etc/modprobe.d/zfs.conf
update-initramfs -u && reboot
# راقب الاستعمال
arc_summary | head -20
اللقطات في ZFS — فورية ومجانية تقريباً
zfs list -t snapshot # اعرض
zfs snapshot tank/vm-101-disk-0@before # أنشئ
zfs rollback tank/vm-101-disk-0@before # تراجع
zfs destroy tank/vm-101-disk-0@before # احذف
وبروكسموكس يستعملها تلقائياً حين تضغط Take Snapshot — فتحصل على لقطة فورية بلا نسخ بيانات، وهو ما لا يعطيه LVM العادي إطلاقاً.
مخزّن ZFS في بروكسموكس
ما لا تفعله بـZFS
| لا تفعل | لماذا |
|---|---|
| تضعه فوق RAID عتادي | يفقد القدرة على كشف التلف وإصلاحه |
| تملأه فوق 80٪ | الأداء ينهار — والسبب طريقة توزيعه للكتل |
| تخلط أحجام أقراص مختلفة | المجموعة تُقاس بأصغر قرص |
| تعطّل التنقية | تفقد الكشف المبكّر |
| تشغّله بذاكرة غيغابايتين | سيعمل — وسيكون بطيئاً |
| تستعمل RAIDZ لأقراص الأجهزة | كتابة عشوائية ضعيفة |
أخطاء شائعة وحلولها
| العَرَض | السبب | الحل |
|---|---|---|
| القرص لا يظهر في حوار الإنشاء | عليه بيانات أو أقسام | امسحه من Disks ← Wipe Disk |
| المجمّع DEGRADED | قرص مفقود | zpool status ثم استبدل |
| الأداء انهار | امتلاء فوق 80٪ | أفرغ أو وسّع |
| الذاكرة ممتلئة | ARC — طبيعي | حدّد سقفاً إن لزم |
| لا أستطيع إضافة قرص للمجموعة | لا يدعمه RAIDZ | أضف مجموعة كاملة |
| المساحة أقلّ من المتوقّع | الحماية تستهلك | راجع جدول المستويات |
| لا يقلع بعد تغيير أقراص | ترتيب الأقراص | zpool import من وضع الإنقاذ |
أسئلة شائعة
هل ZFS يغنيني عن النسخ الاحتياطية؟
لا إطلاقاً. المرآة تحميك من موت قرص — لا من حذف خاطئ ولا من تشفير ولا من حريق. اللقطات والمرآة ليستا نسخة احتياطية، كما شرحنا في مقالة النسخ والاسترجاع.
هل أستطيع تحويل مجمّع من مرآة إلى RAIDZ؟
لا. تُنشئ مجمّعاً جديداً وتنقل. ولهذا يستحقّ القرار الأول تفكيراً.
ما أفضل مستوى لسيرفر بأربعة أقراص؟
للأجهزة الافتراضية: RAID10 — أسرع وأأمن في إعادة البناء. وللأرشيف والنسخ: RAIDZ2.
هل يعمل على SSD؟
نعم وممتاز. وفعّل autotrim ليعيد الخلايا المحذوفة: zpool set autotrim=on tank.
كم مرّة أفحص الصحّة؟
شهرياً بالعين على هذه الشاشة، والتنقية التلقائية تعمل وحدها. وأضف تنبيهاً بالبريد على DEGRADED — فهو ما لا يجوز أن تعرفه متأخّراً.
الخطوة التالية
في الجزء التالي: نقل قرص جهاز من مخزّن إلى آخر والجهاز يعمل — الأداة التي تفرّغ بها قرصاً ممتلئاً أو تنقل بها الأجهزة إلى تخزين أسرع بلا انقطاع.
سلسلة «بروكسموكس من الداخل» — خمس وعشرون مقالة بلقطات حقيقية من الواجهة.
الأساسيات:
١. جولة في الواجهة ·
٢. أول جهاز افتراضي ·
٣. الحاويات وLXC ·
٤. الـISO والقوالب ·
٥. المستخدمون والصلاحيات
التخزين:
٦. أنواع التخزين ·
٧. إضافة قرص وتوسيعه ·
٨. ZFS من الواجهة ·
٩. نقل قرص بلا إطفاء ·
١٠. حين يمتلئ التخزين