GH GambleHub

Bekaplar va disaster recovery

Backaplar va Disaster Recovery

1) Ta’riflar va maqsadlar

Bekap - keyinchalik tiklash uchun ma’lumotlar/konfiguratsiyalarning kelishilgan nusxasi (tasodifiy o’chirib tashlashlardan, xatolardan, kriptolokerlardan, halokatlardan).
DR (Disaster Recovery) - yirik avariyadan (yong’in, mintaqani yo’qotish, ommaviy buzilish) so’ng infratuzilma/xizmatlarni SLO ishchilarigacha tiklash jarayoni.
RPO (Recovery Point Objective) - ma’lumotlarning ruxsat etilgan maksimal vaqt yo’qotishi (masalan, 15 daqiqa).
RTO (Recovery Time Objective) - servisni qayta tiklashning maqsadli vaqti (masalan, 30 daqiqa).

Asosiy tamoyil: replikatsiya ≠ bekap. Replikatsiya xatolarni va barcha nusxalarni shifrlashni tezda «yuvadi». Bekap - izolyatsiya qilingan, tekshirilgan, potensial o’zgarmas nusxa.

2) Ma’lumotlarni tasniflash va tanqidiylik darajalari

Aktivlarni sinflarga ajrating:
  • Tier-0 (hayotiy muhim): tranzaksion DB, to’lovlar, balanslarni hisobga olish, sirlar/PKI.
  • Tier-1 (tanqidiy): xizmatlar konfigurasi, navbatlar, CI/CD artefaktlari, konteynerlar reyestrlari.
  • Tier-2 (muhim): tahlillar, hisobotlar, ikkilamchi indekslar, log-arxivlar.
  • Tier-3 (yordamchi): keshlar, vaqtinchalik maʼlumotlar (qayta tiklash orqali tiklash mumkin).

Har bir sinf uchun RPO/RTO, saqlash muddati, oʻzgaruvchanlik va joylashish talablarini belgilang.

3) Saqlash strategiyasi: 3-2-1-1-0 qoidasi

3 ta ma’lumotlar nusxasi (prd + 2 zaxira).
2 xil turdagi tashuvchilar/omborxonalar.
1 nusxa offsite (boshqa mintaqa/bulut).
1 immutable/air-gap (WORM/Object Lock/Tape).
Tiklashni tekshirishda 0 ta xato (muntazam testlar).

4) Bekap turlari

Full - toʻliq nusxa. Sekin/qimmat, lekin barcha strategiyalar uchun asos.
Incremental - har qanday oxirgi orqa fon bilan farq. Hajmi boʻyicha maqbuldir.
Differential - oxirgi full bilan farq. Tezroq tiklash, ko’proq joy.
Snapshot - jild/disk (EBS/ZFS/LVM). App-consistent snapshot (quiesce) kerak.
PITR (Point-in-Time Recovery) - aniq vaqtga/LSNga qaytish uchun bazaviy backap + jurnallar (WAL/binlog).
Obyekt/fayl/tasvir - ma’lumotlarning aniq turlari (VM-tasvirlar, S3-obyektlar, DB-damplar) uchun.

5) Bekaplarning muvofiqligi

Crash-consistent: to’satdan o’chirilgandan keyin bo’lgani kabi - stateless/jurnallashtiriladigan FS uchun mos keladi.
App-consistent: ilova operatsiyalarni «muzlatadi» (fsfreeze/pre-post scripts) → kafolatlangan yaxlitlik.
BD-konsistentlik: API orqa asbob (pgBackRest, XtraBackup), hot-backup rejimlari, nazorat nuqtalarini muzlatish.

6) Shifrlash, kalitlar va kirish

Barcha nusxalar uchun at-rest va in-transit shifrlash.
KMS/HSM kalitlari, siyosat bo’yicha rotatsiya (90/180 kun), atrofdagi alohida kalitlar.
Vazifalar bo’linishi: kim yaratadi/olib tashlaydi ≠ kim ularni ochib bera oladi/o’qiy oladi.
Shifrlash kalitlarini maqsadli nusxalar bilan bir xil ishonchli domenda saqlamang.

7) O’zgarmas nusxalar va ransomware dan himoya qilish

Object Lock/WORM (Compliance/Governance) retenshn va Legal Hold bilan.
Air-gap: izolyatsiyalangan/oflayn saqlash (lenta, oflayn bulut/akkaunt).
«Kechiktirilgan faollashtirish bilan» olib tashlash siyosati, MFA-Delete, backup-baketlar uchun alohida akkaunt, ommaviy kirishni taqiqlash.
Oʻrnatishdan oldin malware/indikatorlarni tekshirish.

8) Chastota, jadval va retenshn

GFS (Grandfather-Father-Son): kunduzgi inkrementallar, haftalik full/diff, uzoq saqlanadigan oylik full.
RPO inkrementallar va WAL/binlog arxivlashning chastotasini belgilaydi (masalan, har 5-15 daqiqada).
Saqlash: tanqidiy - 35-90 kundan ≥ + har oyda 12-36 oyga (yuridik talablar).
Mavsumiy cho’qqilar - alohida nazorat nuqtalari (aksiyalar/relizlar oldidan).

9) DR-modellar va ssenariylar

Active-Active: ikkala hudud ham trafikka xizmat qiladi. Minimal RTO, ma’lumotlarni buzish qat’iy nizolar siyosatini talab qiladi.
Active-Passive (issiq/issiq): issiq - kengaytirilgan va sinxronlashtirilgan (RTO daqiqalar), issiq - qisman tayyor (RTO soatlar).
Cold: nusxalarni va Terraform/Ansible/tasvirlarni saqlaymiz, so’rov bo’yicha ko’taramiz (RTO + sutka).
DRaaS: boshqa zonadagi VM/tarmoqlar/manzillarni provayder orkestrlash.

10) Feyloverni orkestrlash va tiklashning ustuvor yo’nalishlari

Ishga tushirish ustuvorligi: tarmoq/VPN/DNS → sirlar/KMS → bazalar/klasterlar → navbatlar/kesh → ilovalar → perimetr/CDN → analitika.
Avtomatlashtirish: skriptlar/Runbook harakatlari, Terraform/Ansible/Helm/ArgoCD DR muhit profillari.
Maʼlumotlar: DB PITR → reindex/replica → warm-kesh → sxemalarning mos kelishi bayroqlari bilan xizmatlarni ishga tushirish.
DNS/GSLB: oldindan TTL pasayishi, validatsiya bilan almashtirish stsenariylari.

11) Tiklash testlari (backup verification)

Jadval bo’yicha restore-testlar: N% bekaplarni tanlash, «qum qutisi» da joylashtirish, sxemalar/invariantlarni avtomatik tekshirish.
To’liq DR-drill (game-day): mintaqani/AZ o’chirish, jonli trafikda (yoki soyada) RTO/RPOni tekshirish.
Yaxlitlik testlari: xesh-kataloglar, nazorat summalari, barcha qatlamlarni oʻqishga urinish (full + chain).
Doc-hisobot: vaqt, qadamlar, anomaliyalar, maqsadlardan ajralish miqdori, tuzatishlar.

12) Asosiy texnologiyalar uchun amaliyot

Maʼlumotlar bazasi

PostgreSQL: base backup + WAL arxivi (PITR), pgBackRest/Barman asboblari; replikatsiya slotlari, nazorat’lsn’.
MySQL/MariaDB: Percona XtraBackup/Enterprise Backup, binlog arxivlash.
MongoDB: mantiqiy nusxa uchun’mongodump’+ katta toʻplamlar uchun snapshot; PITR uchun Oplog.
Redis: Kritik uchun RDB/AOF (agar Redis nafaqat kesh bo’lsa), lekin ko’pincha - avariyalar uchun manba + snapshot mantiqiy qayta qurish.
Kafka/Pulsar: meta maʼlumotlar (ZK/Kraft/BookKeeper), disklar snapshotlari, topik/log oynalari.

Kubernetes

resurslar/jildlar uchun etcd snapshot + Velero (CSI snapshots).
Secrets backup/PKI alohida (Vault snapshot).
Tasvirlarning alohida reyestri: artefaktlarni saqlash polislari (immutable tags).

VM va fayl tizimlari

ZFS:’zfs snapshot’+’zfs send | zstd | send-recv’inkrementlar bilan, tekshirish’scrub’.
LVM/EBS snapshotlar pre/post skriptlari bilan (app-consistent).
Obyekt ombori: + Object Lock versiyasi.

13) Bekaplar versiyalarini kataloglashtirish va nazorat qilish

Katalog (meta maʼlumotlar katalogi): nima, qachon, qachon, nima qilingan, xeshlar, KMS kaliti, egasi, saqlash muddati.
Метки/теги: `env=prod|stage`, `system=db|k8s|vm`, `tier=0|1|2`, `retention=35d|1y`.
«Oltin» nazorat nuqtalari (Gold): migratsiyalardan oldin/DDL/masshtabli relizlar.

14) Kuzatish va metrika

Topshiriqlarning muvaffaqiyati:% muvaffaqiyatli/muvaffaqiyatsiz, sabablari.
Bekap/tiklash vaqti, oynaning kengligi.
RPO-haqiqiy: jurnal arxivlari lagi (WAL/binlog) p95.
Yaxlitlik: tekshirilgan zanjirlar ulushi, xeshlarni solishtirishda xatolar.
Qiymati: sinflar bo’yicha saqlash hajmi, deduplikatsiya/siqilish koeffitsiyenti.
DR-tayyorlik: mashqlarning chastotasi va natijasi (pass/fail).

15) Foydalanish siyosati va komplayens

Bekap-omborlar uchun alohida hisob yozuvlari/loyihalar; NaC printsipi bo’yicha kirish (prod-hisoblardan olib tashlashga/shifrlashga yo’l qo’ymaymiz).
Kirish/o’zgartirish daftarlari (audit trail), ommaviy o’chirish/o’zgartirish alertlari retenshna.
Normalarga muvofiqlik: GDPR (olib tashlash huquqi vs arxivlar), PCI DSS (shifrlash, kalitlar, segmentatsiya), lokal regulyatorlar.

16) Anti-patternlar

«Replika bor, demak, orqaga qaytish kerak emas».
Hech qanday immutable/air-gap: bitta xato/zararli vosita hamma narsani o’chirib tashlaydi.
Prod bilan bir xil hisobdagi/mintaqadagi bekaplar.
Hech qachon tiklanishni tekshirmang («tekshirishdan oldin o’lgan»).
Baxtsiz hodisa haqida maʼlumot yoʻq.
Hamma muhit uchun umumiy shifrlash kalitlari.
DB uchun app-consistent rejimisiz snapshotlar.
Bekap oynasi choʻqqilar bilan kesishadi (p99 va SLOga taʼsir qiladi).

17) Joriy etish chek-varaqasi (0-60 kun)

0-10 kun

Tizimlar/ma’lumotlarni xatlovdan o’tkazish, tanqidiylik klasslari.
Sinflar boʻyicha RPO/RTO maqsadlarini belgilash.
Tier-0/1 uchun full + incremental, WAL/binlog arxivini yoqish.
Manba: Alohida region/akkaunt + KMS shifrlashni yoqish.

11-30 kun

Tanqidiy nusxalar uchun immutable (Object Lock/WORM) ni moslash.
Kataloglashtirish, teglar, hisobotlarni joriy etish; muvaffaqiyatsizlikka uchragan alertlar va jurnallar orqasi.
Birinchi DR-drill: izolyatsiya qilingan muhitda bekapdan alohida xizmatni tiklash.

31-60 kun

Runbook: Terraform/Ansible/Helm DR profillarini avtomatlashtirish.
Muntazam restore-testlar (hafta/oy) + choraklik full DR stsenariysi.
Qiymatni optimallashtirish: depuplikatsiya/siqish/saqlash hayotiy sikllari.

18) Etuklik metrikasi

Restore-testlar: ≥ uchun 1/hafta Tier-0 (tanlab), 1/oy ≥ - to’liq stsenariy.
Immutable coverage для Tier-0/1 = 100%.
RPO-haqiqiy p95 maqsadli ≤ (masalan, ≤ 15 min).
Maqsadli ≤ DR-mashqlarida RTO-haqiqiy (masalan, 30 daqiqadan ≤).
Katalog-komplitligi = 100% (har bir bekap tavsiflangan va tekshirilgan).
Incident-to-restore: aniqlashdan tiklashni boshlashgacha boʻlgan vaqt.

19) Misollar (snippetlar)

PostgreSQL - PITR siyosati (g’oya):
bash base backup once a day pgbackrest --stanza = prod --type = full backup archive WAL every 5 minutes pgbackrest --stanza = prod archive-push restore to time pgbackrest --stanza = prod restore --type = time --target =" 2025-11-03 14:00:00 + 02"
MySQL - inkremental sikl:
bash xtrabackup --backup --target-dir=/backup/full-2025-11-01 xtrabackup --backup --incremental-basedir=/backup/full-2025-11-01 --target-dir=/backup/inc-2025-11-02 xtrabackup --prepare --apply-log-only --target-dir=/backup/full-2025-11-01 xtrabackup --prepare --target-dir=/backup/full-2025-11-01 --incremental-dir=/backup/inc-2025-11-02
Kubernetes - Velero (manifestlar g’oyalari):
yaml apiVersion: velero. io/v1 kind: Backup metadata: { name: prod-daily }
spec:
includedNamespaces: ["prod-"]
ttl: 720h storageLocation: s3-immutable
S3 Object Lock (hayot sikli siyosatining namunasi):
json
{
"Rules": [{
"ID": "prod-immutable",
"Status": "Enabled",
"NoncurrentVersionExpiration": { "NoncurrentDays": 365 }
}]
}

20) Kommunikatsiyalar va operatsion rollar

Incident Commander, Comms Lead, Ops Lead, DB Lead, Security.
Steykxolderlar/regulyatorlar/foydalanuvchilar uchun xabarlar namunalari.
Amallar bilan Post-mortem: daqiqalarni yoʻqotish, avtomatlashtirishni yaxshilash.

21) Xulosa

Arxaplar va DR ning ishonchli konturi «nusxa ko’chirish» emas, balki tsikl: tasniflash → RPO/RTO maqsadlari → ko’p darajali va immutable nusxalar → avtomatlashtirilgan runbook’va → muntazam tiklash va mashqlar. 3-2-1-1-0 ga rioya qiling, replikatsiyani bekaplardan ajrating, kalitlarni shifrlang va izolyatsiya qiling, hujjatlashtiring va tekshiring. O’shanda hatto «qora oqqush» ham boshqariladigan jarayonga aylanadi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.