Backup жана disaster калыбына келтирүү
Backup & Disaster Recovery
1) Аныктамалар жана максаттар
Backup - кийинчерээк калыбына келтирүү үчүн берилиштер/конфигурациялардын макулдашылган көчүрмөсү (кокусунан өчүрүүлөрдөн, мүчүлүштүктөрдөн, крипто-токерлерден, кырсыктардан).
DR (Disaster Recovery) - ири кырсыктан (өрт, аймакты жоготуу, массалык компромисс) кийин жумушчу SLO үчүн инфраструктураны/кызматтарды калыбына келтирүү процесси.
RPO (Recovery Point Objective) - убакыт боюнча берилиштердин максималдуу жол берилген жоготуусу (мисалы, 15 мүнөт).
RTO (Recovery Time Objective) - кызматты калыбына келтирүү үчүн максаттуу убакыт (мисалы, 30 мүнөт).
Негизги принцип: репликация ≠ бэкап. Репликация тез "булгайт" каталар жана шифрлөө бардык көчүрмөлөрү боюнча. Бэкап - обочолонгон, текшерилген, потенциалдуу өзгөрүлбөгөн көчүрмө.
2) Маалыматтарды классификациялоо жана критикалык деңгээлдер
Активдерди класстарга бөлүңүз:- Tier-0 (маанилүү): Транзакциялык БД, төлөмдөр, баланстарды эсепке алуу, сырлар/PKI.
- Tier-1 (оор): кызматтардын, кезектердин, CI/CD артефакттары, контейнерлердин реестрлери.
- Tier-2 (маанилүү): аналитика, отчеттор, экинчилик индекстер, лог-архивдер.
- Tier-3 (көмөкчү): кэштер, убактылуу маалыматтар (калыбына келтирүүгө болот).
Ар бир класс үчүн RPO/RTO, сактоо мөөнөтү, өзгөрүлбөс талаптар жана жайгашкан аныктайт.
3) сактоо стратегиясы: эреже 3-2-1-1-0
3 маалыматтардын көчүрмөсү (прод + 2 резервдик).
2 ар кандай түрү ташуучу/сактоо.
1 offsite көчүрмөсү (башка аймак/булут).
1 immutable/air-gap (WORM/Object Lock/Tape).
0 калыбына келтирүү текшерүү каталар (үзгүлтүксүз тесттер).
4) Backup түрлөрү
Full - толук көчүрмөсү. Жай/кымбат, бирок бардык стратегиялар үчүн негиз.
Incremental - акыркы бэкап менен айырма. Көлөмү боюнча оптималдуу.
Differential - акыркы толук айырмасы. Тезирээк калыбына келтирүү, көбүрөөк орун.
Snapshot - томдун/дисктин (EBS/ZFS/LVM) заматта чыгарылышы. Биз app-consistent snapshot (quiesce) керек.
PITR (Point-in-Time Recovery) - так убакытка/LSN кайтаруу үчүн негизги backup + журналдар (WAL/binlog).
Объекттик/файлдык/образдар - маалыматтардын конкреттүү түрлөрүнө (VM-сүрөттөр, S3-объектилер, DD-дампалар) ылайык.
5) Backaps ырааттуулугу
Crash-consistent: күтүлбөгөн жерден өчүрүлгөндөн кийин - туруктуу/FS журналына ылайыктуу.
App-consistent: тиркеме "тоңдурулган" иш (fsfreeze/алдын ала post scripts) → кепилденген бүтүндүгү.
BD консистенттүүлүгү: API Backup Tool (pgBackRest, XtraBackup), Hot-Backup режимдери, тоңдуруу контролдоо пункттары.
6) Шифрлөө, ачкычтар жана кирүү
Бардык көчүрмөлөр үчүн ат-rest жана in-transit шифрлөө.
KMS/HSM ачкычтары, саясаттын айлануусу (90/180 күн), айлана-чөйрөнүн өзүнчө ачкычтары.
Милдеттерди бөлүштүрүү: ким түзөт/алып салат ≠ ким аларды чечмелеп/окуй алат.
Чечмелөө ачкычтарын максаттуу көчүрмөлөр менен бирдей ишеним доменинде сактабаңыз.
7) өзгөрүлбөс көчүрмөлөрү жана ransomware коргоо
Object Lock/WORM (Compliance/Governance) менен retenshn жана Legal Hold.
Air-gap: обочолонгон/оффлайн сактоо (тасма, оффлайн булут/эсеп).
Алып салуу саясаты "кечиктирилген активдештирүү менен", MFA-Delete, backup-backup үчүн өзүнчө эсеп, коомдук кирүүгө тыюу салуу.
монтаждоо алдында malware/компромисс көрсөткүчтөрүн текшерүү.
8) жыштык, расписание жана retenshn
GFS (Grandfather-Father-Son): күндүзгү инкременталдык, жумалык full/diff, узак сактоо менен айлык full.
RPO инкременталдык жана WAL/binlog архивдөө жыштыгын талап кылат (мисалы, ар бир 5-15 мүнөт).
Сактоо: критикалык - ≥ 35-90 күн + ай сайын 12-36 ай (юридикалык талаптар).
Сезондук чокулар - өзүнчө контролдук пункттар (акциялардын/чыгаруулардын алдында).
9) DR моделдер жана жагдайлар
Active-Active: эки аймак тең трафикти тейлейт. минималдуу RTO, маалыматтарды кулатуу катуу чыр-чатак саясатын талап кылат.
Active-Passive (ысык/жылуу): ысык - жайылган жана синхрондоштурулган (RTO мүнөт), жылуу - жарым-жартылай даяр (RTO саат).
Cold: көчүрмөлөрдү жана Terraform/Ansible/сүрөттөрдү сактоо, суроо-талап боюнча жогорулатуу (RTO күнү +).
DRaaS: башка зонада VM/тармактар/даректерди камсыз кылуу.
10) Feylover оркестр жана калыбына келтирүү артыкчылыктары
баштоо артыкчылыгы: тармак/VPN/DNS → сырлар/KMS → базалар/кластерлер → кезек/кэш → тиркемелер → периметр/CDN → аналитика.
Automation: скрипттер/Runbook иш-аракеттер, Terraform/Ansible/Helm/DR-чөйрө үчүн ArgoCD профилдери.
Маалыматтар: DB PITR → reindex/replica → warm-кэш → схемалар шайкештиги желектери менен кызматтарды ишке киргизүү.
DNS/GSLB: TTL алдын ала кыскартуу, валидация менен которуу сценарийлери.
11) Калыбына келтирүү тесттер (backup verification)
тартиби боюнча калыбына тесттер: тандоо N% backaps, "Sandbox" жайгаштыруу, автоматтык текшерүү схемалар/инварианттар.
Толук DR-drill (оюн-day): аймакты өчүрүү/AZ, RTO/RPO түз трафикти текшерүү (же көлөкө трафик).
Бүтүндүк тесттер: хэш-каталогдор, контролдук суммалар, бардык катмарларды окуу аракети (full + chain).
Doc отчет: убакыт, кадамдар, аномалиялар, максаттардан ажырым өлчөмү, оңдоо.
12) Негизги технологиялар үчүн практика
Маалымат базалары
PostgreSQL: base backup + WAL архиви (PITR), pgBackRest/Barman куралдары; репликация уячалары, control 'lsn'.
MySQL/MariaDB: Percona XtraBackup/Enterprise Backup, binlog архивдөө.
MongoDB: логикалык көчүрмөсү үчүн 'mongodump' + чоң топтомдор үчүн snapshot; PITR үчүн Oplog.
Redis: RDB/AOF критикалык үчүн (Redis кэш гана эмес болсо), бирок көп учурда - логикалык баштапкы калыбына келтирүү + кырсык snapshot.
Kafka/Pulsar: арткы мета-маалыматтар (ZK/Kraft/BookKeeper), snapshots дисктер, күзгү топик/логдор.
Kubernetes
etcd snapshot + Velero үчүн ресурстар/томдор (CSI snapshots).
Secret Backup/PKI өзүнчө (Vault snapshot).
Сүрөттөрдүн өзүнчө реестри: артефакттарды сактоо полиси (immutable tags).
VM жана файл системалары
ZFS: 'zfs snapshot' + 'zfs send | zstd | send-recv' increments, 'scrub' текшерүү.
LVM/EBS snapshots менен алдын ала/пост скрипттерди (app-consistent).
Объект сактагычтар: + Object Lock версиялары.
13) Каталогдоштуруу жана backup версияларын көзөмөлдөө
Каталог (мета-маалыматтарды каталогдоштуруу): эмне, качан, эмне, хэш, KMS ачкычы, ээси, сактоо мөөнөтү.
Метки/теги: `env=prod|stage`, `system=db|k8s|vm`, `tier=0|1|2`, `retention=35d|1y`.
"Алтын" пункттары (Алтын): көчүрүү/DDL/масштабдуу релиздер алдында.
14) Байкоо жана метрика
Тапшырмалардын ийгилиги:% ийгиликтүү/ийгиликсиз, себептер.
Backup/калыбына келтирүү убактысы, терезенин туурасы.
RPO-иш жүзүндө: Журнал архивинин лаг (WAL/binlog) p95.
Бүтүндүк: далилденген чынжырлардын үлүшү, хэштерди салыштыруу каталары.
Баасы: класстары боюнча сактоо көлөмү, дедупликация/кысуу коэффициенти.
DR-даярдыгы: жыштыгы жана машыгуу натыйжасы (pass/fail).
15) Кирүү саясаты жана комплаенс
Бэкап сактоо үчүн өзүнчө эсептер/долбоорлор; NaC принциби боюнча кирүү (биз прод-аккаунттардан алып салууга/шифрлөөгө жол бербейбиз).
Кирүү Логи/өзгөрүүлөр (audit trail), массалык өчүрүүлөр/өзгөрүүлөр retenshna боюнча алерталар.
Стандарттарга шайкештиги: GDPR (алып салуу укугу vs архивдер), PCI DSS (шифрлөө, ачкычтар, сегменттөө), жергиликтүү жөнгө салуучулар.
16) Анти-үлгүлөрү
"Реплика бар - бул бэкаптын кереги жок дегенди билдирет".
Жок immutable/air-gap: бир ката/зыянкечтери баарын өчүрөт.
Ошол эле эсеп/региондо Backaps, прод.
Эч качан калыбына текшерүү (backap "текшерүү алдында өлгөн").
Жок каталогдоштуруу жана контролдоо версия → кырсык учурунда башаламандык.
Бардык чөйрөлөр үчүн жалпы шифрлөө ачкычтары.
DD үчүн app-consistent режими жок Snapshot.
Арткы терезе чокулары менен кесилишет (p99 жана SLO таасир этет).
17) киргизүү чек-тизмеси (0-60 күн)
0-10 күн
Системаларды/маалыматтарды инвентаризациялоо, критикалык класстар.
RPO/RTO максаттарын класстар боюнча коюу.
Tier-0/1 үчүн full + incremental камтыйт, WAL/binlog Archive.
Бэкаптарды таратуу: өзүнчө аймак/эсеп + KMS шифрлөөнү күйгүзүү.
11-30 күн
Маанилүү көчүрмөлөр үчүн immutable (Object Lock/WORM).
каталогдоштуруу киргизүү, теги, отчеттуулук; Алерталар жана журналдардын артта калышы.
Биринчи DR-drill: обочолонгон чөйрөдө backup өзүнчө кызматын калыбына келтирүү.
31-60 күн
Runbook автоматташтыруу: Terraform/Ansible/Helm DR профилдери.
Үзгүлтүксүз калыбына тесттер (жума/ай) + чейрек толук DR Script.
оптималдаштыруу наркы: де-дупликация/кысуу/сактоо жашоо циклдери.
18) Жетилүү метрикасы
Калыбына келтирүү тесттер: ≥ үчүн Tier-0 1/жума (тандап), ≥ 1/ай - толук сценарий.
Immutable coverage для Tier-0/1 = 100%.
RPO-иш жүзүндөгү p95 максаттуу ≤ (мисалы, ≤ 15 мин).
максаттуу ≤ DR-машыгууларда RTO-иш жүзүндө (мисалы, ≤ 30 мин).
Каталог-комплиттүүлүк = 100% (ар бир бэкап сүрөттөлгөн жана текшерилген).
Incident-to-restore: калыбына келтирүү баштоо үчүн аныктоо убакыт.
19) Мисалдар (сниппеттер)
PostgreSQL - PITR саясаты (идея):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 - инкременталдык цикл:
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 (манифесттердин идеялары):
yaml apiVersion: velero. io/v1 kind: Backup metadata: { name: prod-daily }
spec:
includedNamespaces: ["prod-"]
ttl: 720h storageLocation: s3-immutable
S3 Object Lock (Жашоо айлануу саясатынын мисалы):
json
{
"Rules": [{
"ID": "prod-immutable",
"Status": "Enabled",
"NoncurrentVersionExpiration": { "NoncurrentDays": 365 }
}]
}
20) Байланыш жана операциялык ролдор
Incident Commander, Comms Lead, Ops Lead, DB Lead, Security.
Стейкхолдерлер/жөнгө салуучулар/колдонуучулар үчүн билдирүү үлгүлөрү.
иш-аракеттер менен Post-mortem: Биз автоматташтырууну жакшыртуу үчүн мүнөт жоготкон жерде.
21) Корутунду
Ишенимдүү backup контур жана DR "көчүрмөсүн жасоо" эмес, жана цикл: классификация → RPO/RTO максаттары → көп баскычтуу жана immutable көчүрмөлөрү → автоматташтырылган runbook 'жана → үзгүлтүксүз калыбына келтирүү жана машыгуулар. 3-2-1-1-0 карманып, репликацияны backaps, шифрлөө жана ачкычтарды изоляциялоо, документтештирүү жана текшерүү. Ошондо ал тургай, "Black Swan" алдын ала токтоп жана минималдуу маалыматтарды жоготуу менен башкарылуучу жараянын айланат.