الوسم : sync

16يناير

المزامنة التلقائية للملفات بين الخوادم باستخدام Unison

ضمن تجربة قمت بها لإنشاء خادم ويب موزع بين جهازين أو أكثر، كانت واحدة من أهم الخطوات للوصول للهدف هو أن تكون محتويات مسار /var/www/html متزامنة بين الخوادم. يعود السبب في ذلك إلى أن الموقع يقدم خدمات كرفع الملفات واستعراضها، بالتالي فوجود نسخة متطابقة على جميع الخوادم خطوة أساسية للحصول على النتيجة. بالطبع هناك طرق بديلة لهذه المعضلة كاستخدام NFS أو رفع هذه الملفات على خدمة خارجية مثل Amazon S3، لكن هذه الحلول لم تكن متاحة في البيئة التي عملت عليها.

مشروع Unison لطيف جدًا ويفي بجميع الشروط التي أبحث عنها. من أهم هذه الشروط هو أنه في حال حدوث تغيير على ملف في أي من الخادمين، فإن التغيير يتم بثه إلى الخادم الآخر “Bi-Directional” وليس محددًا من مصدر واحد. عبر يونيسون تستطيع تحديد أي من الخادمين هو من يقوم بعملية الفحص والتأكيد على وجود ملفات بحاجة للمزامنة. إذا كانت لديك عشرة خوادم على سبيل المثال، فتستطيع وضع سيرفر واحد كخادم أساسي، وتسعة خوادم ثانوية ترتبط معه وتقوم بعملية المزامنة (وهو ماسنقوم به في هذه التدوينة). طريقة أخرى تستطيع القيام بها هو أن يقوم الخادم رقم عشرة بالمزامنة من الخادم التاسع، والتاسع من الثامن، وهكذا حتى يكون الخادم الثاني مرتبط مع الخادم الأول الأساسي. تسمية “أساسي” في هذه التدوينة لا تعني سوى أن الخادم الأساسي لا يقوم بنفسه بالاتصال بالخوادم الأخرى للمزامنة والمقارنة، بل ينتظر الاتصال من الخوادم الأخرى للمزامنة، وتستطيع القيام بالمزامنة دون تنصيب يونيسون عليه أصلًا. بالمناسبة، يحتوى مشروع يونيسون على مميزات أخرى منها دعمه لأنظمة ويندوز أو أي مختلف نكهات *nix، وبإمكانك الاطلاع على المزيد من هنا.

إعداد يونيسون

الخطوات التالية ستشرح كيفية إعداد يونيسون بين خادمين لمزامنة ملفات أباتشي على مسار /var/www/html. سنقوم بتسمية الخادمين بالخادم الأساسي والثانوي.

أكمل القراءة »

كُتِبَتْ بِحُب ♥