Flynn: نظام احتياطي

تم إنشاؤها على ١٣ مارس ٢٠١٥  ·  4تعليقات  ·  مصدر: flynn/flynn

لدينا حاليًا أمر نسخ احتياطي أساسي يسحب نسخة احتياطية منطقية من postgres db باستخدام flynn CLI ، ولكن يجب أن يكون لدينا نظام أكثر قوة.

بعض الأشياء التي يجب التفكير فيها:

  • تسمح سجلات WAL باستعادة نقطة في الوقت ، وهو أمر رائع (انظر: WAL-E ).
  • لا يتوفر متجر blobstore مثل S3 في جميع البيئات ، وسيكون دعم بعض أنظمة NFS / CIFS / FTP / SCP وما إلى ذلك مفيدًا.
  • جدولة النسخ الاحتياطية.
  • التشفير ضروري لتخزين البيانات على أنظمة خارجية.
  • يجب أن يكون النظام عامًا بما يكفي للتعامل مع أجهزة البيانات الأخرى.
kinenhancement

التعليق الأكثر فائدة

أقوم بتطوير حل لهذا والذي من شأنه فقط تشفير نتائج $ flynn cluster backup ورميها إلى s3. إذا كانت المواصفات لاحقًا تبدو جيدة ، فسوف أقوم بإنشاء العلاقات العامة لاحقًا في flynn. هذا لا ينفذ كل شيء ولكنه سيكون بداية.

تطبيق

تسمى عملية النسخ الاحتياطي backy وستقوم بتنفيذ نفس النمط envs مثل blobstore :

$ flynn -a backy env
BACKEND_S3MAIN=backend=s3 region=eu-west-1 bucket=flynn-backup access_key_id=XXXXXX secret_access_key=YYYYYYYYY
DEFAULT_BACKEND=s3main
BACKUP_SCHEDULE='* */8 * * *'
BACKUP_ENCRYPTION=type=symmetric symmetric=ZZZZZZZZZZZ

سيستخدم BACKUP_SCHEDULE تنسيق الوقت cron.
BACKUP_ENCRYPTION هو واحد من none, symmetric, public-key . ويجب أن تتضمن معلمة symmetric أو private_key
BACKUP_ADMINS هي قائمة مفاتيح gpg العامة الإضافية التي يمكنها فتح النسخة الاحتياطية عند استخدام الخيار public-key .

أوصي باستخدام نفس الأذونات الموجودة في https://flynn.io/docs/production#amazon -s3 ولكن بدون إذن "s3:DeleteObject" . بهذه الطريقة يمكن للعملية قراءة النسخ الاحتياطية وكتابتها فقط دون حذفها. يساعد هذا في حالة اختراق المجموعة ، لذلك لن يتم اختراق النسخ الاحتياطية.

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

فقط s3 ينفذ هذا الإذن الملحق فقط لذلك لا أوصي بـ Google أو Azure في الوقت الحالي ولكن سيتم تنفيذهما أيضًا.

سأستخدم gpg من https://github.com/maxwellhealth/go-gpg للتشفير. سيكون المفتاح المتماثل (كلمة المرور) هو الخيار الافتراضي ولكن يمكن أيضًا استخدام قائمة مفاتيح gpg العامة لمسؤول النظام.

آمل استخدام وظائف التخزين من blobstore:

import (
       ...
    "github.com/flynn/flynn/blobstore/backend"
)

ال 4 كومينتر

: +1: أرغب في رؤية ميزة النسخ الاحتياطية المجدولة :)

هل يمكنني استخدام Amazon S3 كمخزن احتياطي؟ سيكون هذا بالضبط ما أود استخدامه هنا. :)

أقوم بتطوير حل لهذا والذي من شأنه فقط تشفير نتائج $ flynn cluster backup ورميها إلى s3. إذا كانت المواصفات لاحقًا تبدو جيدة ، فسوف أقوم بإنشاء العلاقات العامة لاحقًا في flynn. هذا لا ينفذ كل شيء ولكنه سيكون بداية.

تطبيق

تسمى عملية النسخ الاحتياطي backy وستقوم بتنفيذ نفس النمط envs مثل blobstore :

$ flynn -a backy env
BACKEND_S3MAIN=backend=s3 region=eu-west-1 bucket=flynn-backup access_key_id=XXXXXX secret_access_key=YYYYYYYYY
DEFAULT_BACKEND=s3main
BACKUP_SCHEDULE='* */8 * * *'
BACKUP_ENCRYPTION=type=symmetric symmetric=ZZZZZZZZZZZ

سيستخدم BACKUP_SCHEDULE تنسيق الوقت cron.
BACKUP_ENCRYPTION هو واحد من none, symmetric, public-key . ويجب أن تتضمن معلمة symmetric أو private_key
BACKUP_ADMINS هي قائمة مفاتيح gpg العامة الإضافية التي يمكنها فتح النسخة الاحتياطية عند استخدام الخيار public-key .

أوصي باستخدام نفس الأذونات الموجودة في https://flynn.io/docs/production#amazon -s3 ولكن بدون إذن "s3:DeleteObject" . بهذه الطريقة يمكن للعملية قراءة النسخ الاحتياطية وكتابتها فقط دون حذفها. يساعد هذا في حالة اختراق المجموعة ، لذلك لن يتم اختراق النسخ الاحتياطية.

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

فقط s3 ينفذ هذا الإذن الملحق فقط لذلك لا أوصي بـ Google أو Azure في الوقت الحالي ولكن سيتم تنفيذهما أيضًا.

سأستخدم gpg من https://github.com/maxwellhealth/go-gpg للتشفير. سيكون المفتاح المتماثل (كلمة المرور) هو الخيار الافتراضي ولكن يمكن أيضًا استخدام قائمة مفاتيح gpg العامة لمسؤول النظام.

آمل استخدام وظائف التخزين من blobstore:

import (
       ...
    "github.com/flynn/flynn/blobstore/backend"
)

لا تتم صيانة Flynn وسيتم إغلاق بنيتنا التحتية في 1 يونيو 2021. راجع README للحصول على التفاصيل.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

airways picture airways  ·  4تعليقات

stela5 picture stela5  ·  5تعليقات

michaelyork picture michaelyork  ·  5تعليقات

IsNull picture IsNull  ·  5تعليقات

hadifarnoud picture hadifarnoud  ·  3تعليقات