أكسب عمولة إذا سجلت أو اشتريت من روابط الأفلييت في هذي الصفحة، بدون أي تكلفة إضافية عليك.

هوم لاب · أداة · بقلم محمد المهنا

حاسبة توسعة RAIDZ

الـ vdev الحالي
التوسعة

OpenZFS 2.3 يخليك تضيف قرص لـ RAIDZ vdev، لكن السعة اللي تحصلها مباشرة أقل من اللي توعدك فيه الحسبة الساذجة. البيانات الموجودة تحتفظ بنسبة البيانات إلى الـ parity القديمة لين تنكتب من جديد. هالحاسبة تعرض الأرقام الثلاثة: اللي عندك اليوم، واللي تحصله مباشرة بعد التوسعة، واللي تسترده بإعادة كتابة بياناتك القديمة.

ليه التوسعة تعطيك أقل من (n ناقص الـ parity) ضرب الحجم

توسعة RAIDZ تعيد توزيع الـ blocks الموجودة على الـ vdev الأعرض، لكنها ما تعيد عمل الـ stripe لها. الـ block اللي انكتب على RAIDZ1 بعرض 4 أقراص استخدم 3 قطاعات بيانات مقابل قطاع parity واحد، وبعد التوسعة لعرض 5 لسا على نفس النسبة؛ الكتابات الجديدة بس هي اللي تستخدم النسبة الأفضل 4 مقابل 1. فيوم ما تخلص التوسعة، الـ pool يعرض مساحة فاضية أقل من vdev جديد بعرض 5، والفرق هو بالضبط بياناتك القديمة الشايلة حمل الـ parity القديم.

الفرق يتقفل كل ما انكتبت البيانات القديمة من جديد. zfs send لـ dataset جديد ورجوع، أو سكربت إعادة موازنة، أو مجرد إعادة كتابة الملفات مع الوقت، كلها تعيد عمل الـ stripe للـ blocks على العرض الجديد. رقم "المسترد بإعادة الكتابة" فوق هو اللي يشتريه لك هالشغل. وإذا كان الـ pool شبه فاضي وقت التوسعة، ما فيه شي يذكر تسترده وتوصل للسعة الجديدة الكاملة مباشرة.

أنا أشغل SHR-1 على Synology، مو ZFS، فقصة التوسعة بأحجام مختلطة عندي مختلفة (الـ SHR يعيد التشكيل تلقائيا). لـ RAIDZ الأرقام هنا تتبع حساب تخصيص OpenZFS، نفس نموذج الحشو والـ slop حق حاسبة RAID الرئيسية (بالإنجليزي)، ونفس المراجع اللي يقارنه المجتمع معها: شرح RAIDZ (بالإنجليزي) يغطي الهندسة الأساسية.

أسئلة توسعة RAIDZ

هل توسعة RAIDZ تعيد كتابة بياناتي؟

لا. تعيد توزيع الـ blocks الموجودة على مجموعة الأقراص الجديدة الأعرض عشان يظل الـ vdev متوازن، لكن كل block يحتفظ بنسبة البيانات إلى الـ parity اللي انكتب فيها. بس البيانات اللي تنكتب أو يعاد كتابتها بعد التوسعة تستخدم نسبة العرض الجديد.

كيف أسترد المساحة الناقصة بعد التوسعة؟

أعد كتابة البيانات القديمة. zfs send/recv لـ dataset جديد، أو سكربت إعادة موازنة ينسخ الملفات في مكانها، أو الدوران الطبيعي مع الوقت، كلها تنفع. رقم "المسترد بإعادة الكتابة" في الحاسبة هو الجايزة على هالشغل.

أقدر أضيف أكثر من قرص بنفس الوقت؟

OpenZFS يوسع قرص واحد لكل عملية، لكن تقدر تشغل التوسعات ورا بعض. دخل مجموع الأقراص اللي ناوي تضيفها والحاسبة تعرض لك الوضع النهائي.

أقدر أغير مستوى parity الـ RAIDZ وأنا أوسع؟

لا. التوسعة توسع الـ vdev على نفس مستوى الـ parity. RAIDZ1 يظل RAIDZ1. الانتقال لـ RAIDZ2 لسا معناه إعادة بناء الـ pool والاسترجاع من النسخة الاحتياطية.