ترحيل بيانات VPS بأمان باستخدام rsync
استخدم rsync لنسخ بيانات نظام الملفات العادية مرحليًا من VPS مصدر إلى وجهة عبر SSH، ثم أوقف الكتابة لفترة قصيرة، ونفّذ مزامنة نهائية، وتحقق من التطبيق، وحوّل حركة البيانات مع إبقاء مسار للرجوع. ليست rsync أداة عامة للترحيل الحي؛ فقواعد البيانات والحاويات وملفات الإقلاع والأجهزة والأسرار والطوابير النشطة تحتاج إلى معالجة تدرك طبيعة التطبيق.
حقائق أساسية
- النقل
- Rsync عبر SSH موثّق
- الإجراء الأول
- حصر البيانات وإجراء تشغيل تجريبي
- الاتساق
- إيقاف عمليات الكتابة أو تهدئتها في الجولة النهائية
- خيار الأمان الافتراضي
- لا تستخدم `--delete` في الترحيل الأول
احصر العناصر قبل النسخ
ضع قائمة بملفات التطبيق والملكية وقوائم ACL والسمات الممتدة وقواعد البيانات والأسرار والمهام المجدولة والخدمات وقواعد الجدار الناري وDNS والشهادات والتخزين الخارجي. تأكد من كفاية سعة الوجهة وتوافق المستخدمين وأنظمة الملفات وحزم نظام التشغيل وإصدارات التطبيقات. لا تخفض TTL الخاص بـDNS قبل الانتقال إلا إذا كان ذلك يلائم خطتك؛ فقد تبقى السجلات المخبأة مدةً أطول من المتوقع.
أنشئ نسخة احتياطية مستقلة من المصدر وتحقق منها. أبقِ المصدر بلا تغيير ومتاحًا طوال النقل الأولي. وحدّد فحوص النجاح وقرار الرجوع قبل الإعلان عن نافذة الصيانة.
- لا تنسخ أنظمة الملفات الافتراضية مثل
/procأو/sysأو/devأو/runبوصفها بيانات عادية. - استخدم أدوات قاعدة البيانات الأصلية للنسخ الاحتياطي أو النسخ المتماثل أو التصدير عند الاقتضاء.
- لا تضع أبدًا المفاتيح الخاصة في سجل الأوامر أو الملاحظات المشتركة.
انسخ بيانات التطبيق مرحليًا بتشغيل تجريبي
لدليل مثل /srv/app/، اختبر العملية من المصدر باستخدام sudo rsync -aHAX --numeric-ids --info=progress2 --dry-run -e "ssh -i /root/.ssh/migration_key" /srv/app/ admin@DESTINATION:/srv/app/. استبدل المستخدم ومسار المفتاح والوجهة ومسارات البيانات. وتعني الشرطة المائلة الأخيرة نسخ محتويات دليل المصدر بدل إنشاء مستوى دليل إضافي.
راجع كل مسار وخطأ. وتأكد من أن الحساب البعيد يستطيع الكتابة إلى الوجهة بأمان؛ فالدخول بحساب الجذر غير ضروري وغالبًا ما يكون معطلًا. عندما تكون نتيجة التشغيل التجريبي صحيحة، كرر الأمر من دون --dry-run. ولا تضف --delete لمجرد جعل الدليلين متطابقين؛ فقد يحذف مصدر أو وجهة غير صحيحين بيانات مهمة.
- نفّذ الأمر داخل جلسة طرفية مستمرة لعمليات النقل الكبيرة.
- قيّد عرض النطاق إذا كان النسخ قد يؤثر في حركة الإنتاج.
- سجّل خيارات الأمر وإصدارات الأدوات ضمن سجل الترحيل.
هدّئ عمليات الكتابة ونفّذ الجولة النهائية
ضع التطبيق في حالة صيانة أو قراءة فقط موثقة. أوقف خدمات الكتابة المعنية وفق إجراءها المدعوم، ثم خذ النسخة الاحتياطية النهائية لقاعدة البيانات أو أكمل النسخ المتماثل. نفّذ أمر rsync نفسه مرة أخرى كي لا تُنقل إلا بيانات الملفات المتغيرة. وأبقِ حالة الصيانة حتى يكتمل التحقق.
شغّل الخدمات على الوجهة بالإعداد المقصود، وقيّد الوصول العام في البداية إن أمكن، ثم أجرِ فحوص الصحة والدخول والكتابة والطوابير والشهادات والسجلات والتبعيات. لا تحدّث DNS أو التوجيه إلا بعد نجاح تلك الاختبارات. وتجنب تغيير إصدار التطبيق وموقع الاستضافة في النافذة نفسها إلا إذا قُبل الخطر المشترك صراحةً.
- سجّل وقت الإيقاف النهائي للكتابة ونتيجة المزامنة.
- تحقق من ملكية الملفات وضوابط الوصول الإلزامية.
- راقب نقطتي النهاية القديمة والجديدة أثناء انتقال DNS.
تحقق وراقب وأبقِ إمكان الرجوع
لمقارنة أعمق بين الملفات، نفّذ أمر rsync الأصلي مع --checksum --dry-run في نافذة مناسبة؛ إذ تقرأ حسابات المجموع الاختباري مجموعتي البيانات وقد تكون مكلفة. فضّل فحوص السلامة على مستوى التطبيق لقواعد البيانات ومخازن الكائنات. وراقب الأخطاء وزمن الاستجابة واستخدام الموارد والمهام الخلفية والاستدعاءات الخارجية بعد الانتقال.
أبقِ المصدر سليمًا، لكن امنع الكتابة المنقسمة بين الطرفين حتى تنتهي نافذة الرجوع. ثم اتبع خطة الاحتفاظ والحذف الآمن. ولا يكتمل الترحيل إلا عندما تشير النسخ الاحتياطية والمراقبة والوثائق وإجراءات الاسترداد إلى الوجهة.
المصادر
الأسئلة الشائعة
هل يستطيع rsync نسخ قاعدة بيانات عاملة بأمان؟
قد تكون نسخة الملفات من قاعدة بيانات حية غير متسقة. استخدم عملية التصدير أو النسخ الاحتياطي أو تنسيق اللقطة أو النسخ المتماثل التي تدعمها قاعدة البيانات.
هل ينبغي استخدام `--delete`؟
ليس في الترحيل الأول. وإذا لزم لاحقًا، فشغّل أولًا باستخدام --delete --dry-run، وتحقق من المسارين، واحتفظ بنسخة احتياطية قابلة للاسترداد.
لماذا تغيرت الأذونات؟
قد يفتقر مستخدم الوجهة إلى الصلاحيات، أو تختلف المعرّفات الرقمية، أو لا يدعم نظام ملفات الوجهة قوائم ACL أو السمات نفسها. افحص التوافق قبل الانتقال.