تكنولوجيا

كيفية ترحيل خوادم Linux إلى أجهزة جديدة – CloudSavvy IT

شترستوك / أشاركيو

سواء كنت ترغب في الترقية إلى خادم أكثر قوة ، أو الترحيل إلى منطقة جديدة ، أو إضافة مثيل جديد ، من خلال تنفيذ الاستراتيجيات المناسبة ومعرفة الأوامر الصحيحة ، يمكنك تسهيل ترحيل خوادم Linux. سنناقش كيفية نقل الخادم بسهولة إلى جهاز كمبيوتر جديد.

استراتيجية الهجرة

إن الإستراتيجية الأبسط والأكثر فاعلية هي النشر الأزرق والأخضر – بدء وتشغيل خادم جديد ، ثم قم بتبديل حركة المرور إلى ذلك الخادم عندما يكون الإنتاج جاهزًا ، وحذف الخادم القديم بعد التأكد من عدم وجود مشكلة. مع موازنة الحمل ، يمكن أن تحدث هذه العملية تدريجيًا ، وبالتالي تقليل فرصة حدوث مشكلات التوفر.

يتضمن نشر Blue-eco-friendly نسخ جميع الملفات والحزم والتعليمات البرمجية من الخادم القديم إلى الخادم الجديد. يمكن أن يكون ذلك بسيطًا مثل تثبيت حزم البرامج الضرورية يدويًا (مثل خادم الويب NGINX) ثم نسخ التكوين من الخادم الحالي. يمكنك أيضًا إجراء نسخ احتياطي كامل للقرص ثم إنشاء خادم جديد منه.

بالطبع ، الآن هو أفضل وقت للنظر فيما إذا كان يمكنك استخدام الحاويات أو القياس التلقائي. من خلال نسخ حجم البيانات الأساسية (أو استخدام تخزين البيانات المشتركة (مثل EFS)) ، يمكن إيقاف حاويات Docker وبدء تشغيلها وترحيلها بسهولة. يختلف القياس التلقائي من مزود إلى مزود ، ولكن إذا كنت تضيف نسخة جديدة من الخادم لتلبية الطلب المتزايد ، فقد تكون مناسبة لعملك. يمكنك أيضًا استخدام القياس التلقائي لحاويات Docker على العديد من الأنظمة الأساسية (مثل AWS ECS).

تتطلب كل من إعدادات الحاوية والتحجيم التلقائي منك إكمال معظم العمل المطلوب لنقل الخادم يدويًا ، مثل التثبيت التلقائي لحزم البرامج والرمز الخاص بك ، لذلك إذا كنت تخطط للترحيل مرة أخرى في المستقبل ، فعليك الآن التفكير فيما إذا كان من الأفضل التبديل إلى حاوية أو الإعداد التلقائي نسبة التحجيم.

إذا كنت مهتمًا بالحاويات ، يمكنك قراءة دليل Docker Getting Started لمعرفة المزيد ، أو قراءة دليلنا حول استخدام القياس التلقائي على AWS أو Google Cloud Platform.

ذات صلة: كيفية حزم البنية الأساسية للتطبيق باستخدام Docker

مجموعة أدوات التثبيت

إذا لم تكن متأكدًا مما تم تثبيته على الخادم القديم ، فإن أفضل طريقة للتحقق هي الحصول على قائمة بجميع الخدمات المثبتة. سيعرض هذا معظم الأشياء الرئيسية التي تحتاج إلى تثبيتها:

services --standing-all

سبب تفضيل قائمة الخدمات هو أن قائمة الحزم المثبتة يمكن أن تكون كذلك كثيرا جدا استغرق الأمر وقتًا طويلاً ، وتم تثبيت كل تبعية ثانوية. يحتوي خادم اختبار Ubuntu الخاص بي على أكثر من 72000 حزمة مثبتة ، لذلك مع الأخذ في الاعتبار قائمة جميع هذه الحزم ستظل مثبتة عند تثبيت الخدمات الرئيسية المطلوبة من قبل الخادم الجديد ، فإن قائمتهم ليست مفيدة للغاية.

إذا لزم الأمر ، يمكنك إدراجهم جميعًا باستخدام الأمر التالي:

sudo apt list --mounted

للبحث عن حزمة معينة في قائمة الحزم ، يمكنك استخدام:

sudo apt -qq listing application_title --put in

في كلتا الحالتين ، تحتاج إلى إنشاء قائمة بالحزم التي تحتاج إلى التثبيت ثم تثبيتها على الخادم الجديد.

استخدم rsync لنقل قرص الخادم

يمكنك استخدامها tar،لكن tar تستخدم عادةً لأرشفة الملفات أو الدلائل الفردية ، بدلاً من الأقراص بأكملها. إذا كنت تنقل الكثير من البيانات ، فقد لا يكون لديك مساحة كافية لإجراء النسخ الاحتياطي محليًا (ربما يكون هذا هو سبب الترقية!).

في هذه الحالة ، تحتاج إلى استخدام rsync يقوم الأمر بتحميل البيانات مباشرة إلى الخادم الهدف. rsync سيتم توصيل ومزامنة المجلدين عبر SSH ؛ في هذه الحالة ، نريد دفع الدليل المحلي إلى الخادم البعيد على النحو التالي:

rsync -azAP /etc/nginx [email protected]_host:/and so on/nginx

هذا هو الأمر بأكمله – أثناء النقل ، يجب أن ترى شريط تقدم (نعم -z Mark) ، عند الانتهاء ، سترى الملفات في الدليل الهدف للخادم الجديد. قد تضطر إلى تشغيله عدة مرات لنسخ كل دليل.يمكنك استخدامه عبر الإنترنت rsync يولد منشئ الأوامر أوامر لكل تشغيل.

إذا لزم الأمر ، يمكنك محاولة نسخ نظام الملفات الجذر بالكامل إلى الخادم الجديد ، ولكن دون تضمين بعض ملفات النظام:

sudo rsync -azAP / --exclude="/dev/*","/proc/*","/sys/*","/tmp/*","/operate/*","/mnt/*","/media/*","/shed+located" [email protected]_host:/

إذا كنت تريد فقط إجراء نسخ احتياطي لبعض الأدلة ، فيمكنك استخدام ملف tar أمر لإنشاء أرشيف ملف واحد:

tar -czvf nginxconfig.tar.gz /and so forth/nginx

سيؤدي ذلك إلى إخراج ملف يمكنك استخدامه للنقل إلى الخادم الهدف. scp أو عبر FTP. ثم قم باستخراج الملفات إلى الدليل الهدف:

tar -xzvf nginxconfig.tar.gz -C /and so on/nginx

نقل قاعدة البيانات

إذا كنت بحاجة إلى نقل قاعدة البيانات ، فأنت بحاجة إلى عمل نسخة احتياطية من قاعدة البيانات المصدر وتفريغها. بالنسبة إلى MySQL ، سيكون ذلك:

mysqldump -uUser -pPass -hHost --single-transaction database > backup.bak

بالنسبة إلى MongoDB ، سيكون هذا:

mongodump --host=mongodb.case in point.internet --port=27017

بعد ذلك ، تحتاج إلى استعادة قاعدة البيانات على الخادم الهدف. بالنسبة لـ MySQL ، سيكون ذلك:

mysql -u [user] -p [database_name] < [filename].sql

بالنسبة إلى MongoDB ، سيكون هذا:

mongorestore   

بالنسبة لقواعد البيانات الأخرى ، يجب أن تكون قادرًا على العثور على الأوامر ذات الصلة عبر الإنترنت.

تبديل IP إلى نظام جديد

بالطبع ، تحتاج إلى التحقق من أن كل شيء كما هو متوقع قبل المتابعة ، ولكن بمجرد الانتهاء من ذلك ، تحتاج إلى تحويل حركة المرور إلى الخادم الجديد.

أسهل طريقة هي تغيير سجلات DNS. بمجرد التحديث ، سيتم إرسال العميل والخدمة إلى الخادم الجديد. ومع ذلك ، سيحدث هذا في نفس الوقت ، لذلك إذا كان لديك موازن تحميل ، فمن الأفضل نقل حركة المرور ببطء إلى المثيل الجديد.

إذا كنت تستخدم AWS أو مزودًا مشابهًا له عناوين IP مرنة ، فيمكنك تبديل العناوين للإشارة إلى خوادم جديدة دون الحاجة إلى تحديثات DNS. في علامة التبويب "Elastic IP" بوحدة التحكم EC2 ، انقر فوق "الإجراءات"> "عنوان IP المرن".

قم بتغيير الاقتران على عنوان IP المرن

سيسمح لك هذا بتعديل الارتباط ، والذي سيحول حركة المرور على الفور إلى المثيل الجديد.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى