الرئيسية
» كيف
»
انقل بيانات Nextcloud إلى محرك أقراص خارجي دون التأثير على مساحة التخزين
انقل بيانات Nextcloud إلى محرك أقراص خارجي دون التأثير على مساحة التخزين
لتثبيت نظام لينكس تقليدي، قم بتوصيل القرص الخارجي بشكل دائم، وانسخ مجلد البيانات بالكامل أثناء عدم اتصال Nextcloud بالإنترنت، ثم أنشئ رابطًا رمزيًا للمسار الأصلي إلى الموقع الجديد. لا تقم بالتغيير مباشرةً datadirectory: config.phpيتتبع Nextcloud التخزين المحلي باستخدام المسار المطلق، لذا قد يؤدي تغيير المسار مباشرةً إلى فقدان الملفات والمجلدات المشتركة.
يفترض هذا المثال تثبيت حزمة أو أرشيف. تختلف مسارات التثبيت في Docker و Snap والأجهزة؛ لذا قم بتكييف عملية الربط مع هذا النشر بدلاً من نسخ مسارات المضيف هذه بشكل أعمى.
ما هو مؤكد، وما يعتمد على خادمك
نقطة
ماذا تفعل
تم التحقق: يستخدم Nextcloud المسار المطلق لتحديد وحدة التخزين المحلية. قد يؤدي نقل الملفات أو المشاركات بشكل غير مدروس إلى فقدانها.
حافظ على استقرار المسار المُكوّن باستخدام رابط رمزي؛ واحتفظ بجميع المحتويات، بما في ذلك .ncdata.
يعتمد ذلك على الإعداد: يختلف مسار البيانات، ومستخدم HTTP، ونظام الملفات، وأسماء الخدمات.
تحقق من إعداداتك الفعالة وتأكد من أن القرص يحتفظ بملكية وأذونات نظام لينكس المطلوبة.
يعتمد على القرص: لا يمكن افتراض تثبيت القرص بشكل موثوق وتوفير الطاقة اللازمة للتشغيل.
قم بتثبيته باستخدام UUID، واختبر التثبيت بعد إعادة التشغيل، وامنع Nextcloud من البدء عندما يكون قرص البيانات غير موجود.
يُضيف خيار ربط وحدة التخزين الخارجية في تطبيق الملفات موقعًا ثانويًا، ولا ينقل دليل البيانات الرئيسي. استخدمه لإنشاء مجلد إضافي أو مشاركة، وانقل دليل البيانات عندما يتعين على الخادم الاحتفاظ بملفاته وبياناته الوصفية على القرص.
1. قم بعمل نسخة احتياطية من Nextcloud وحدد مسار المصدر
قم بعمل نسخة احتياطية من قاعدة البيانات، config/ومجلد البيانات، والتطبيقات المخصصة، والقوالب. تأكد من إمكانية استعادة النسخة الاحتياطية لقاعدة البيانات؛ فنسخ الملفات فقط لا يُعد استعادة كاملة.
ابحث عن مسار البيانات في config/config.phpأو باستخدام occ config:system:get datadirectory، ثم حدد مستخدم HTTP. تستخدم الأمثلة www-dataو /var/www/nextcloud/data؛ استبدل القيم الفعلية بقيمك. لا تقم بتهيئة محرك أقراص يحتوي على ملفات تحتاجها.
توضيح: يعرض عرض أداة القرص تفاصيل محرك الأقراص الخارجي ونظام الملفات للتأكد قبل تثبيته لـ Nextcloud.
2. قم بتركيب محرك الأقراص على مسار ثابت
قم بتشغيل الأمر lsblk -fولاحظ مُعرّف نظام الملفات الخاص بالقسم. قد /dev/sdb1تتغير الأسماء، لذا استخدم مُعرّف نظام الملفات في إعدادات التثبيت.
بالنسبة لخادم لينكس الذي يستخدم نظام الملفات ext4، قم بإنشاء نقطة تحميل وأضف سطرًا كهذا إلى /etc/fstab، مع استبدال UUID النموذجي بالمعرف الفعلي:
استخدم النوع الموجود بالفعل على القسم؛ هذا السطر لا يقوم بتهيئته. تأكد من أن نظام الملفات يحتفظ بالملكية والأذونات التي يحتاجها Nextcloud.
قم بتثبيته والتحقق منه قبل وضع أي بيانات عليه:
sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk
تأكد من أن المخرجات تُحدد القسم الخارجي. في حال استخدامك لـ systemd nofail، قم أيضًا بتقييد خدمات الويب/PHP على نقطة التحميل؛ وإلا فقد يؤدي فقدان القرص إلى ترك دليل نقطة تحميل فارغ يستقبل عمليات الكتابة. يمكن استخدام systemd كإضافة RequiresMountsFor=/srv/nextcloud-disk. أبقِ القرص متصلاً أثناء تشغيل Nextcloud.
توضيح: يمثل إدخال UUID في جدول نظام الملفات تكوين تحميل دائم بدلاً من اختصار اسم الجهاز.
3. ضع Nextcloud في وضع الصيانة وانسخ البيانات
يمنع وضع الصيانة تسجيل الدخول، لكنه لا يوقف جميع المهام المجدولة. أوقف مؤقتًا خدمة Nextcloud cron أو مؤقت systemd الخاص بها، وأوقف عملاء المزامنة، وأوقف خدمات الويب/PHP قبل النسخ حتى لا تُغيّر أي طلبات الملفات أثناء النقل.
تقوم الشرطة المائلة الأخيرة بنسخ محتويات المجلد. احتفظ بالنسخة القديمة؛ تحقق rsyncمن وجود أخطاء وتأكد .ncdataمن وجودها في المستوى الأعلى للمجلد الجديد.
توضيح: تمثل طريقة عرض النسخ الطرفية نقل دليل البيانات بالكامل أثناء إيقاف Nextcloud.
4. احتفظ بالمسار القديم باستخدام رابط رمزي
يوصي دليل استكشاف الأخطاء وإصلاحها الخاص بـ Nextcloud بربط المسار الأصلي بالمجلد الجديد. بعد التحقق من النسخة، أعد تسمية المجلد القديم للرجوع إليه، ثم أنشئ الرابط.
تأكد من أن المسار يُشير إلى /srv/nextcloud-disk/data. يجب على مستخدم الويب اجتياز الدلائل الأصلية وقراءة .ncdataوكتابة البيانات إلى الهدف:
sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data
في حال فشل التحقق، صحّح ملكية المجلد أو صلاحيات المستخدم الرئيسي؛ ولا تجعل المجلد قابلاً للكتابة من قِبل جميع المستخدمين. بعض خوادم الويب تتطلب السماح بالروابط الرمزية. إذا لم يكن ذلك ممكنًا، فلا تُجرِ أي تعديلات oc_storagesيدوية: يُشير Nextcloud إلى أن هذه الطريقة غير مدعومة ويُحذّر من أنها قد تُؤدّي إلى تلف قاعدة البيانات.
توضيح: يُظهر عرض الطرفية مسار البيانات الأصلي المرتبط بدليل محرك الأقراص الخارجي.
5. أعد التشغيل وتحقق قبل إزالة نسخة الاستعادة
شغّل تطبيق الويب/PHP وأعد تفعيل المجدول. تأكد من عملية الربط والربط الرمزي، ثم أوقف وضع الصيانة.
سجّل الدخول، وافتح الملفات والمجلدات المشتركة الموجودة، ثم حمّل/نزّل ملفًا صغيرًا. راجع سجلات Nextcloud وخادم الويب، ثم أعد تشغيل الجهاز في نافذة الصيانة للتأكد من تثبيت القرص قبل بدء تشغيل Nextcloud.
احتفظ data.pre-moveبنسخة احتياطية من قاعدة البيانات حتى إعادة التشغيل ونجاح المزامنة العادية. في حال فشل النقل، فعّل وضع الصيانة، وأوقف التطبيق، واستعد حالة الدليل والخدمة الأصلية. files:scanلا يمكن إصلاح مشكلة التثبيت الخاطئ.
التحقق
تأكد من تثبيت القرص عند بدء التشغيل، وأن المسار الأصلي يُشير إليه، وأن مستخدم الويب قادر على القراءة والكتابة، وأن الملفات الموجودة بالإضافة إلى ملف تحميل صغير تعمل بشكل صحيح. إذا أبلغ Nextcloud عن ملفات مفقودة بعد إعادة التشغيل، فأوقف التطبيق وتحقق من تثبيت القرص قبل السماح بالكتابة.