بالنسبة إلى مستودع NAS محلي، أبقِ على القيمة الافتراضية في restic البالغة 16 MiB، ما لم تُظهر القياسات أن عبء ملفات المستودع أو سلوك البحث في قرص HDD يحدّ من معدل النقل. وإذا كان NAS يخزن مستودعًا بحجم عدة تيرابايتات على أقراص دوّارة، فإن حزمًا بحجم 32 MiB أو 64 MiB تُعد قيمًا معقولة لاختبارها قبل التفكير في أحجام أكبر.
لا يساوي حجم الحزمة حجم جزء إزالة التكرار في restic. إذ يقسّم restic بيانات الملفات أولًا إلى كتل محددة بالمحتوى، ثم يجمّع الكتل في ملفات حزم. ويؤدي تغيير حجم الحزمة المستهدف إلى تغيير طريقة تجميع تلك الكتل في المستودع؛ ولا يغيّر كثير الحدود الخاص بأداة تقسيم المستودع أو تجزئات المحتوى.
ابدأ بالقيمة الافتراضية البالغة 16 MiB
تنص إرشادات ضبط restic الحالية على أن حجم الحزمة المستهدف افتراضيًا هو 16 MiB. وتذكر أيضًا أن ملفات الحزم الأكبر قد تقلل عدد ملفات المستودع وتحسن أداء النسخ الاحتياطي لبعض المستودعات المخزنة على أقراص HDD محلية.
restic version
restic -r /mnt/nas/restic-repo snapshots
restic -r /mnt/nas/restic-repo stats --mode raw-data
سجّل إصدار restic وحجم المستودع وعدد اللقطات ونوع التخزين والمدة الحالية للنسخ الاحتياطي قبل ضبط الإعدادات. إذا كان المستودع ينتهي بالفعل ضمن نافذة النسخ الاحتياطي، فقد يضيف حجم الحزمة الأكبر تعقيدًا من دون تحقيق فائدة ملموسة.
افهم ما الذي يغيّره حجم الحزمة فعليًا
يوضح تصميم تنسيق مستودع restic أن محتوى الملفات يُقسّم إلى كتل محددة بالمحتوى، ثم تُجمّع هذه الكتل في ملفات حزم.
الملفات المصدر
|
تقسيم المحتوى إلى أجزاء محددة بالمحتوى
|
الكتل التي أزيل تكرارها
|
تجميع الحزم
|
ملفات بيانات المستودع
يعني استهداف حزمة أكبر عمومًا عددًا أقل من ملفات المستودع الأكبر حجمًا. وقد يساعد ذلك القرص الدوّار على قضاء وقت أقل في عمليات البيانات الوصفية وفتح الملفات. لكنه لا يجعل المحتوى المتطابق للملفات يُزال تكراره بشكل أفضل.
تحقق مما إذا كان NAS مقيدًا فعليًا بحجم الحزمة
قبل ضبط الإعدادات، راقب قرص المستودع أثناء إجراء نسخة احتياطية تزايدية عادية. يكون مستودع محلي على قرص HDD يعاني من عمليات بحث قصيرة ومتعددة وعمليات بيانات وصفية كثيرة مع بقاء معدل النقل منخفضًا مرشحًا أفضل من مستودع على SSD يكتب بالفعل بشكل تسلسلي بسرعة عالية.
iostat -xz 2
ابحث عن استخدام مستمر للقرص، وارتفاع أزمنة الانتظار، وانخفاض معدل النقل مقارنةً بكتابة تسلسلية كبيرة. تحقق أيضًا من استخدام وحدة المعالجة المركزية وسرعة القراءة من المصدر. إذا كان الضغط أو التجزئة أو إدخال/إخراج المصدر أو الشبكة هو عنق الزجاجة، فلن تؤدي زيادة حجم الحزمة إلى حل المشكلة.
قارن أداء 16 و32 و64 ميبيبايت باستخدام مستودعات قابلة للمقارنة
تستخدم المقارنة الأدق مستودعات مؤقتة أُنشئت للاختبار. استخدم مجموعة البيانات المصدر نفسها، ووحدة تخزين NAS نفسها، وإصدار restic نفسه، وعدد اتصالات الواجهة الخلفية نفسه.
restic --pack-size 16 -r /mnt/nas/test-restic-16 init
restic --pack-size 16 -r /mnt/nas/test-restic-16 backup /srv/testdata
restic --pack-size 32 -r /mnt/nas/test-restic-32 init
restic --pack-size 32 -r /mnt/nas/test-restic-32 backup /srv/testdata
restic --pack-size 64 -r /mnt/nas/test-restic-64 init
restic --pack-size 64 -r /mnt/nas/test-restic-64 backup /srv/testdata
قِس الزمن المنقضي، ومعدل نقل البيانات إلى قرص المستودع، واستخدام المساحة المؤقتة، وعدد ملفات البيانات الناتج. كرر عمليات التشغيل متى أمكن حتى لا تحدد تأثيرات ذاكرة التخزين المؤقت للصفحات النتيجة.
احسب حساب المساحة المؤقتة قبل زيادة حجم الحزمة
يوثّق Restic متطلبات المساحة المؤقتة على النحو التقريبي الآتي:
حجم الحزمة × (اتصالات الواجهة الخلفية + 1)
مع خمس اتصالات بالواجهة الخلفية وهدف يبلغ 64 ميبيبايت، تبلغ المساحة المؤقتة الدنيا 384 ميبيبايت. تستخدم الواجهة الخلفية المحلية حاليًا عددًا أقل من الاتصالات افتراضيًا مقارنةً بمعظم الواجهات الخلفية البعيدة، لكن القاعدة نفسها تظل سارية.
df -h "${TMPDIR:-/tmp}"
export TMPDIR=/mnt/fast-temp/restic
mkdir -p "$TMPDIR"
قد تؤدي الحزم المؤقتة الأكبر أيضًا إلى زيادة استخدام الذاكرة، وقد تتسبب في وصول المزيد من عمليات الكتابة المؤقتة إلى وحدة تخزين SSD بدلًا من بقائها في ذاكرة التخزين المؤقت.
حافظ على إعداد حجم الحزمة نفسه في الأوامر التي تكتب إلى المستودع
يذكر Restic أنه ينبغي تحديد إعداد حجم الحزمة في كل أمر يُعدّل المستودع. استخدم متغير بيئة واحدًا للمهمة بأكملها:
export RESTIC_REPOSITORY=/mnt/nas/restic-repo
export RESTIC_PACK_SIZE=64
export RESTIC_PASSWORD_FILE=/root/.config/restic/password
restic backup /srv/data
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6
restic prune
تغيير حجم الحزمة لا يعيد تعريف تقسيم إلغاء التكرار، لكنه قد يترك حزمًا بأحجام مختلفة. ويسهّل الاتساق تفسير أعمال الصيانة المستقبلية ومقارنات الأداء.
لا تتوقع أن تُعادَ تحجيم الحزم الحالية تلقائيًا
يؤثر إعداد جديد لحجم الحزمة في البيانات التي تُنشأ أو تُعاد حزمها. ولا يُعاد كتابة ملفات الحزم الموجودة لمجرد RESTIC_PACK_SIZE التغييرات.
إذا كنت تريد عمدًا أن تعيد عملية التنظيف حزم الملفات الصغيرة الموجودة، فإن إصدار restic الحالي يوفّر --repack-smaller-than. راجع خيارات إعادة الحزم في عملية التنظيف أولًا.
restic prune --dry-run --repack-smaller-than 32M
ابدأ بتشغيل تجريبي. لا تفرض إعادة حزم كاملة لمجرد جعل كل ملف حزمة يبدو متطابقًا.
التحقق من السلامة بعد الضبط
restic check
restic check --read-data-subset=5%
اختر جدولًا للتحقق يناسب حجم المستودع. تتعامل إرشادات استكشاف أخطاء المستودع وإصلاحها في restic مع فحوصات السلامة بوصفها أساسًا لتشخيص تلف المستودع.
لتصميم نسخ احتياطية أوسع، ادمج المستودع المحلي مع نسخة مستقلة أخرى. توضّح استراتيجية النسخ الاحتياطي 3-2-1 في ZimaOS سبب معالجة التكرار المحلي ووجهة منفصلة لأنماط فشل مختلفة.
استخدم قاعدة القرار هذه
- التزم بـ16 ميبيبايت إذا كانت النسخ الاحتياطية تكتمل أصلًا ضمن النافذة المحددة أو كان الاختناق في مكان آخر.
- اختبر 32 ميبيبايت إذا كان مستودع HDD كبير يقضي وقتًا طويلًا في عمليات البيانات الوصفية والملفات الصغيرة.
- اختبر 64 ميبيبايت إذا ساعدك 32 ميبيبايت وظل استخدام المساحة المؤقتة ضمن الحدود المريحة.
- توقّف عن الزيادة عندما تتسطح المكاسب أو ترتفع عمليات الإدخال/الإخراج المؤقتة.
أفضل حجم للحزمة هو أصغر قيمة تقلل بشكل ملحوظ النفقات العامة للمستودع من دون التسبب في اختناق جديد.
الأسئلة الشائعة حول حجم حزم restic
هل يؤدي حجم الحزمة الأكبر إلى تحسين إزالة التكرار في restic؟
لا. يحدث إزالة التكرار على مستوى الكتل الثنائية/الأجزاء قبل تجميع الكتل الثنائية في ملفات الحزم.
هل سيؤدي تغيير حجم الحزمة إلى إعادة كتابة ملفات الحزم القديمة؟
لا. تظل الحزم الموجودة كما هي إلى أن تعيد عمليات التنظيف/إعادة الحزم العادية كتابتها.
ما حجم الحزمة الذي ينبغي أن أجرّبه أولًا على وحدة NAS محلية مزودة بقرص HDD؟
استخدم 16 ميبيبايت كخط أساس، ثم اختبر 32 ميبيبايت و64 ميبيبايت ضمن عبء العمل نفسه.
الدعم والنصائح
المزيد للقراءة

يعمل Home Assistant عبر شبكة Wi‑Fi لكنه يفشل عبر Ethernet أو VPN
اختبر كل مسار شبكي على حدة، وتحقق من حالة الواجهة والتوجيه، وميّز بين الاتصال المباشر بعنوان IP والاكتشاف، ثم أصلح الطبقة المتعطلة فقط.

كيفية إيقاف تشغيل Home Assistant نهائيًا دون ترك بيانات غير محمية
أثبت الاستبدال أو الأرشفة، وألغِ كل مسار ثقة، وطهّر كل جهاز يحمل بيانات، واحتفظ فقط بنسخ الاسترداد المحمية والموثقة.

هل ينبغي استخدام التحديثات التلقائية لـ Home Assistant على خادم منزلي؟
اختر التحديثات اليدوية أو التي تقتصر على الإشعارات أو التحديثات التلقائية المرحلية بناءً على تأثيرها على المنزل، ومخاطر التوافق، ومدة المراقبة، والاستعداد للاسترداد.

