استراتژی های پشتیبان گیری و تکرار
خلاصه ای کوتاه
یک استراتژی داده قابل اعتماد بر سه ستون استوار است: پشتیبان گیری، تکرار، بازیابی. این کپی RTO (زمان بازیابی) را کاهش می دهد، پشتیبان گیری RPO (از دست دادن داده ها) را تضمین می کند و در برابر خطاهای منطقی/ransomware محافظت می کند. اصول اساسی: 3-2-1-1-0 (3 نسخه، 2 نوع رسانه، 1 - خارج از سایت، 1 - غیر قابل تغییر، 0 خطا در چک)، آزمون DR به طور منظم و تغییرناپذیری مجموعه بحرانی.
شرایط و اهداف
RPO - چه مقدار اطلاعات را می توان از دست داد (به عنوان مثال، ≤ 5 دقیقه).
RTO - چقدر زمان برای بازیابی مجاز است (به عنوان مثال، ≤ 15 دقیقه).
PITR (بازیابی نقطه در زمان) - بازیابی «لحظه ای X» با پخش مجدد ورود.
SLO داده یک قرارداد سطح خدمات برای RPO/RTO و موفقیت وظایف پشتیبان است.
تحمل خطا و مدل های تکرار
گزینه های توپولوژی
فعال منفعل (گرم/گرم/سرد): ساده تر، fylovers قابل پیش بینی است.
فعال فعال: در دسترس بودن بالا، اما حل تعارض و سازگاری مشکل تر است.
چند منطقه/منطقه/ابر: تعادل تاخیر و هزینه خروج.
همزمان در مقابل ناهمزمان
همزمان: RPO≈0، بالاتر از تاخیر، محدودیت فاصله.
Asynchron: نزدیک به RTO صفر در RPO کم (دقیقه)، در برابر مناطق/ابرها مقاومت می کند.
Hybrid: همزمان در یک منطقه، ناهمزمان به یک منطقه از راه دور.
نسخه پشتیبان تهیه ≠
Replica خطاها/حذف ها را پس از منبع حمل می کند. پشتیبان گیری - کپی خارج از مسیر با نسخه، چک و انزوا.
سیاست 3-2-1-1-0 و تغییر ناپذیری
3 نسخه (تولید + پشتیبان گیری محلی + خارج از سایت).
2 نوع رسانه (بلوک/NAS/شی/نوار).
1 خارج از سایت (دیگر سایت/ابر/نوار).
1 کپی غیر قابل تغییر (WORM: Object Lock، عکس های فوری/نوار غیر قابل تغییر).
0 خطا (ها): بررسی یکپارچگی منظم (چک کردن/تأیید/بازگرداندن آزمون).
- فعال کردن نسخه بندی و Object Lock (Compliance/Governance) برای اشیاء با پشتیبان گیری بحرانی.
- برای NAS/بلوک - عکس های فوری غیر قابل تغییر با حفظ و ممنوعیت حذف تا مهلت.
انواع پشتیبان گیری و برنامه
کامل - کپی کامل
Incremental - فقط تغییرات از نسخه پشتیبان قبلی.
دیفرانسیل - تغییرات از آخرین کامل است.
برای همیشه افزایشی با GFS-طرح (پدر-پدر-پسر): افزایش روزانه, هفتگی و ماهانه «مصنوعی کامل».
- Prod DB: روزانه کامل (یا مصنوعی کامل)، افزایش/سیاهههای مربوط هر 5-15 دقیقه (PITR).
- سرورهای فایل: هفتگی کامل، روزانه افزایشی، آرشیو ماهانه.
- شیء: چرخه زندگی + نسخه ها ؛ سرد - به آرشیو کلاس ذخیره سازی/نوار.
برنامه ها و پایگاه های داده: روش های PITR
PostgreSQL
فعال کردن آرشیو WAL و پشتیبان گیری پایه ؛ PITR از طریق 'restore _ command'.
ابزار: 'pgBackRest'، 'wal-g' (object)، 'pg _ basebackup' برای تکمیل.
حجم تقسیم: داده ها و WAL ؛ نوشتن WAL در NVMe سریع با PLP.
ورود به سیستم باینری برای PITR, کامل از طریق 'Percona XtraBackup' (پشتیبان گیری داغ).
تکرار GTID ؛ برای DR - ناهمزمان به منطقه/ابر.
MongoDB
Oplog برای PITR ؛ عکس های فوری در سطح storaj + 'mongodump' برای نسخه های منطقی.
تست قوام ماکت قبل از پشتیبان گیری.
Redis/حافظه های پنهان
یک پشتیبان در نظر گرفته نشده است: RDB/AOF + offsite را نگه دارید ؛ بازیابی به عنوان گرم کش و یا از یک منبع از حقیقت است.
Kubernetes و ظروف
خوشه etcd - یک هدف مهم جداگانه (عکس های فوری مکرر، خارج از سایت).
Velero: نسخه پشتیبان تهیه/منابع + عکس های فوری CSI/PV ؛ ذخیره سازی در یک سطل S3-compatible (با Object Lock).
دانلود Stateful: عکس های فوری برنامه سازگار (قلاب قبل/پست), در غیر این صورت - سقوط سازگار.
نسخه از مصنوعات شی (مدل/رسانه ها) - در سطح سطل.
مجازی سازی و سرورهای فایل
VM عکس های فوری: استفاده از CBT (تغییر بلوک ردیابی)، فروشگاه خارج از محل، به صورت دوره ای انجام quiesce مهمان آگاه (VSS برای ویندوز).
سرورهای فایل (NAS): عکس های فوری + ماکت و آزمون بازیابی کاتالوگ به طور منظم (نمونه برداری فایل).
امنیت پشتیبان گیری
رمزگذاری در حالت استراحت (LUKS/ZFS/cloud KMS/Vault) و در هنگام انتقال (TLS/mTLS).
مدیریت کلید: نقش های فردی، کنترل دوگانه، چرخش، ذخیره سازی آفلاین کلید های اصلی.
جداسازی: حساب های نرم افزاری پشتیبان بدون حق حذف نسخه های غیر قابل تغییر ؛ شبکه های فردی/VLAN ها
مقاومت در برابر ransomware: غیر قابل تغییر، شکاف هوا (نوار/حساب جدا شده/آزمایشگاه).
حسابرسی: ورود به سیستم عملیات سیستم پشتیبان، اطلاعیه ها در مورد حذف/کاهش احتباس.
برنامه ریزی پنجره و پهنای باند
پنجره پشتیبان در مقابل بار: کاهش I/O/شبکه، deduplication، فشرده سازی.
شبکه: افزایش هر N دقیقه، کانال های فردی/VPN، ماکت در شب و یا به طور دائم با QoS.
تغییر بلوک ردیابی/CDC برای کاهش ترافیک.
پایگاه های بزرگ: جریان موازی/جریان، چند کاناله چند بخشی به شی.
نظارت، متریک و SLO
معیارهای فناوری:- موفقیت وظایف پشتیبان/تکرار (٪)، مدت زمان، سرعت، تاخیر ورود به سیستم (WAL/binlog/oplog).
- فضای ذخیره سازی پشتیبان، ضریب تقسیم، هزینه های دیگر.
- زمان و موفقیت بازیابی آزمون.
- موفقیت پشتیبان گیری 99 ≥. 9 %/30 روز
- RPO ≥ 99٪ از زمان ملاقات کرد (log lag ≤ هدف).
- RTO (بازیابی تست) ≤ 15 دقیقه برای کیف پول، ≤ 1 ساعت برای گزارش.
- ماهانه DR-مته: 100٪ از حالات معمول تکمیل شده است.
- پشتیبان گیری ناموفق/ناموفق، PITR> تاخیر آستانه، افت deduplication، کمبود فضا، تغییر در سیاست حفظ، عدم بازیابی آزمون تازه.
دریل DR و چک بازیابی
جدول بالا: هماهنگی نقش، مخاطبین، ارتباطات.
فنی: بازیابی ماسهبازی، اندازه گیری RTO، مقایسه چک/داده ها.
سیاه و سفید شروع: کامل آهن خالص/بازیابی خوشه تمیز.
کاتالوگ داده ها: مراحل بازیابی از پیش توصیف شده (runbooks) برای هر کلاس سیستم.
اتوماسیون: دوره ای «قناری» بازگرداندن و تایید چک سام.
قالب های عملی
1) PostgreSQL (pgBackRest + آرشیو WAL به شی)
ini
[global]
repo1-type=s3 repo1-path=/pgbackups repo1-s3-endpoint=minio. local:9000 repo1-s3-bucket=pg-wal repo1-s3-key=ACCESSKEY repo1-s3-key-secret=SECRET repo1-retention-full=8 start-fast=y compress-type=zst
2) وال جی (مثال ENV)
bash export WALG_S3_PREFIX=s3://pg-wal/prod export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export WALG_COMPRESSION_METHOD=zstd
3) Velero (K8s - شی + غیر قابل تغییر از سطل)
yaml apiVersion: velero. io/v1 kind: BackupStorageLocation metadata: { name: default, namespace: velero }
spec:
provider: aws objectStorage:
bucket: k8s-backups config:
s3Url: https://minio. example s3ForcePathStyle: "true"
publicUrl: https://minio. example
4) سیاست قفل شی (مثال 'mc')
bash mc version enable my/backups mc retention set --default COMPLIANCE 365d my/backups
5) نمونه ای از برنامه GFS (مفهوم)
روزانه: افزایش هر 15 دقیقه (مجلات)، روزانه مصنوعی کامل.
هفتگی: یک «کامل» (مصنوعی)، فروشگاه به مدت 8 هفته
ماهانه: کامل، فروشگاه 12-24 ماه (آرشیو/نوار).
چک لیست پیاده سازی
- کلاس های داده تعریف شده، صاحبان، RPO/RTO/SLO.
- تکرار (همگام سازی/async) و توپولوژی (AZ/منطقه/ابر) مدل انتخاب شده است.
- پشتیبان گیری پیکربندی: کامل/افزایشی/PITR, برنامه, دایرکتوری ها.
- شامل غیر قابل تغییر (WORM/Object Lock/immutable snapshots) و خارج از سایت/شکاف هوا.
- رمزگذاری و KMS/Vault، نقش های جداگانه و چرخش های کلیدی.
- نظارت: موفقیت کار، تاخیر ورود به سیستم، محل، بازگرداندن آزمون ؛ هشدار ها
- بازیابی Runbooks و feilover ؛ تماس، افزایش، قالب های ارتباطی.
- ماهانه DR دریل + گزارش، تنظیم برنامه.
- بودجه و FinOps: هزینه ذخیره سازی/خروج، آرشیو/پاره شدن پروژه.
خطاهای رایج
«یک ماکت وجود دارد - هیچ نسخه پشتیبان لازم نیست»: حذف منطقی و ransomware برای ماکت ترک خواهد شد.
هیچ تست بازیابی وجود ندارد - پشتیبان گیری «به لحاظ نظری» وجود دارد.
عدم تغییرناپذیری و خارج از سایت تنها یک نقطه خطر است.
همان حساب/کلید برای فروش و پشتیبان گیری - سازش = از دست دادن همه چیز.
پنجره پشتیبان گیری بیش از حد طولانی → درگیری با قله; بدون خفه کردن و QoS.
PITR بدون کنترل ورود به سیستم تاخیر.
نادیده گرفتن عکس های فوری برنامه سازگار - حجم قابل بازیابی کثیف.
iGaming/fintech خاص
کیف پول/هسته پرداخت: RPO ≤ 1-5 دقیقه، RTO ≤ 15 دقیقه ؛ سیاهههای مربوط (WAL/binlog) به یک شی با WORM ؛ همزمان در منطقه + منطقه ناهمزمان.
گزارش/تنظیم مقررات: مخازن غیر قابل تغییر، نگهداری طولانی (سالها)، یکپارچگی قابل اثبات، رویه های روشن برای صدور داده ها به تنظیم کننده ها.
سیاهههای مربوط/رویدادهای خام/ضد تقلب: ذخیره سازی طولانی مدت ارزان (شی) + چرخه عمر ؛ شاخص ها و فروشگاه ها - به طور جداگانه.
قله (مسابقات/مسابقات): پنجره های پشتیبان خارج قله, throttling; برنامه های DR برای دوره رویداد ؛ قناري قبل از انبار بازسازي ميشه.
مجموع
حفاظت از داده ها یک رشته معماری است: 3-2-1-1-0، نسخه بندی و غیر قابل تغییر، RPO/RTO به عنوان SLO، تمرینات منظم DR و تست بازیابی «در نقطه». ترکیب تکرار برای uptime و failovers سریع با پشتیبان گیری برای خطاهای منطقی و سازش. خودکار، اندازه گیری، سند - و شما همیشه یک مسیر کار به عقب، حتی در بدترین روز است.