ما هي أفضل طريقة لمزامنة كميات كبيرة من البيانات حول العالم؟

StackOverflow https://stackoverflow.com/questions/233966

سؤال

لدي قدر كبير من البيانات لأحافظ على مزامنتها عبر 4 أو 5 مواقع حول العالم، حوالي نصف تيرابايت في كل موقع.يتغير هذا (إما بالإضافة أو التغيير) بحوالي 1.4 جيجابايت يوميًا، ويمكن أن تتغير البيانات في أي من المواقع الأربعة.

نسبة كبيرة (30%) من البيانات عبارة عن حزم مكررة (ربما تكون حزم JDK مجمعة)، لذلك يجب أن يتضمن الحل طريقة للتعرف على حقيقة وجود مثل هذه الأشياء الموجودة على الجهاز المحلي والاستيلاء عليها بدلاً من ذلك. للتحميل من موقع آخر.

لا يمثل التحكم في الإصدار مشكلة، فهذه ليست قاعدة تعليمات برمجية في حد ذاتها.

أنا مهتم فقط إذا كان هناك أي حلول (ويفضل أن تكون مفتوحة المصدر) تقترب من مثل هذا الشيء؟

لم يعد البرنامج النصي الصغير الخاص بي الذي يستخدم rsync يقطع الخردل بعد الآن، وأود إجراء مزامنة أكثر تعقيدًا وذكاءً.

شكرًا

يحرر :يجب أن يكون هذا على أساس UNIX :)

هل كانت مفيدة؟

المحلول

هل حاولت انسجام ؟

ولقد كانت النتائج جيدة معها. أنها في الأساس رسينك أكثر ذكاء، والذي ربما هو ما تريد. هناك قائمة المقارنة بين ملف أدوات هنا المزامنة.

نصائح أخرى

ويبدو وكأنه عمل للتورنت.

لكل ملف جديد في كل موقع، إنشاء ملف تورنت البذور ووضعها في دير الوصول إليها على شبكة الإنترنت مركزي.

وكل موقع ثم تنزيل (عبر تورنت) كل الملفات. هذا سوف جنرال لك عرض النطاق الترددي تقاسم والتلقائي إعادة استخدام نسخة المحلي.

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

وبعد ذلك قمت بنسخ جميع الملفات البذور من كل المضيفين إلى موقع مركزي ( "تعقب دير") مع خيار "الكتابة إلا إذا أحدث". هذا يحصل لك مجموعة من البذور سيل للجميع أحدث نسخ من كل الملفات.

وبعد ذلك كل مضيف تنزيل جميع الملفات البذور (مرة أخرى، مع "الكتابة الإعداد إذا أحدث") ويبدأ تحميل تورنت على كل منهم. هذا وسوف تحميل / أعد تنزيل كافة الملفات الجديدة / المحدثة.

وRince وتكرار يوميا.

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

وماذا عن شيء على غرار ريد هات ل العالمية نظام الملفات ، بحيث بنية كله تقسيم عبر كل موقع على أجهزة متعددة، بدلا من الحصول على كل شيء تكرارها في كل موقع؟

وأو ربما نظام التخزين الشبكي التجاري مثل من جهة اليمين شبكات (تنويه - لدي أي فكرة عن التكلفة، وعدم استخدامها).

لديك الكثير من الخيارات:

  • يمكنك تجربة الإعداد قاعدة بيانات منسوخة لتخزين البيانات.
  • استخدام مزيج من rsync أو com.lftp والنصوص المخصصة، ولكن هذا لا يناسبك.
  • يستخدم شخص سخيف عمليات إعادة الشراء بأقصى قدر من الضغط والمزامنة بينهما باستخدام بعض البرامج النصية
  • نظرًا لأن كمية البيانات كبيرة إلى حد ما، وربما تكون مهمة، قم بإجراء بعض التطوير المخصص عند تعيين خبير؛)

تحقق من مرونة فائقة .... انها باردة جدا، لم تستخدم في بيئة على نطاق واسع، ولكن على نظام 3-عقدة على ما يبدو للعمل تماما.

ويبدو وكأنه عمل لل Foldershare

هل حاولت التصحيح detect-renamed لرسينك ( http://samba.anu.edu.au/ftp/rsync/dev/patches/detect-renamed.diff )؟ لم أحاول بنفسي، لكنني أتساءل ما إذا كان سيتم الكشف عن الملفات وليس فقط تغيير اسمها لكن تكرار أيضا. إذا كان لن كشف الملفات المكررة، ثم، أعتقد أنه قد يكون من الممكن تعديل التصحيح للقيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top