Backup жана репликация стратегиялары
Кыскача резюме
Ишенимдүү маалымат стратегиясы үч таянычта турат: бэкап, репликация, калыбына келтирүү. Replica RTO азайтат (калыбына келтирүү убактысы), backup RPO кепилдик (маалыматтарды жоготуу) жана логикалык каталар/коддоо коргойт. Негизги принциптер: 3-2-1-1-0 (3 көчүрмөсү, 2 медиа түрү, 1 - оффсайт, 1 - өзгөрүлбөс, 0 текшерүү каталары), үзгүлтүксүз DR тесттери жана критикалык комплекттердин иммунитети.
Терминдер жана максаттар
RPO - канча маалыматтарды жоготууга жол берилет (мисалы, ≤ 5 мүнөт).
RTO - калыбына келтирүү үчүн канча убакыт (мисалы, ≤ 15 мүнөт).
PITR (Point-in-Time Recovery) - журналдардын репликасы менен "X учурда" калыбына келтирүү.
SLO берилиштер - RPO/RTO жана backup милдеттеринин ийгилиги үчүн тейлөө деңгээлиндеги келишим.
Бузулууга туруктуулук жана репликация моделдери
Топологиялардын варианттары
Active-Passive (ысык/жылуу/муздак): жөнөкөй, алдын ала Failovers.
Active-Active: жогорку жеткиликтүүлүк, бирок татаал чыр-чатак жана туруктуулук.
Multi-Zone/Аймак/Cloud: кечигүү балансы жана egress наркы.
Synchron vs асинхрон
Synchron: RPO ≈ 0, latency жогору, аралыкты чектөө.
Asinhron: нөлгө жакын RTO кичинекей RPO (мүнөт), аймактарды/булуттарды туруштук берет.
Гибрид: зонада синхрон, асинхрон - алыскы аймакка.
Replication ≠ backup
Реплика булактан кийин каталарды/өчүрүүлөрдү алып барат. Backup - чыгаруу, текшерүү жана изоляциялоо менен off-path көчүрмөсү.
Саясат 3-2-1-1-0 жана иммутабилдүүлүк
3 көчүрмөсү (прод + жергиликтүү камдык + оффсайт).
2 түрү алып жүрүүчүлөр (блок/NAS/объект/тасма).
1 Offsite (башка аянтча/булут/тасма).
1 өзгөрүлбөс көчүрмөсү (WORM: Object Lock, immutable snapshots/тасма).
0 каталар: үзгүлтүксүз integritet текшерүү (checksum/verify/калыбына келтирүү тесттер).
- Маанилүү backaps менен объект үчүн версиялоону жана Object Lock (Compliance/Governance) киргизиңиз.
- NAS/блоктор үчүн - retenshn менен immutable snapshots жана мөөнөтүнө чейин алып салууга тыюу салуу.
Backup түрлөрү жана расписание
Full - толук көчүрмөсү.
Incremental - өткөн backup менен гана өзгөрүүлөр.
Differential - акыркы толук бери өзгөрүүлөр.
GFS планы менен Forever-incremental (Grandfather-Father-Son): күндүзгү инкременттер, жумалык жана айлык "синтетикалык толук".
- Prod DD: күнүмдүк толук (же синтетикалык толук), инкременттер/журналдар ар бир 5-15 мүнөт (PITR).
- Файлдык серверлер: жумалык full, күнүмдүк incremental, айлык архивдер.
- Объект: lifecycle + версия; муздак - архивдик сактоо классына/лентага.
Колдонмолор жана DD: PITR практикалары
PostgreSQL
WAL архивдөө жана base backup; 'restore _ command' аркылуу PITR.
Куралдар: 'pgBackRest', 'wal-g' (объект), 'pg _ basebackup' толук үчүн.
Томдорду бөлүү: маалыматтар жана WAL; PLP менен тез NVMe боюнча WAL жазуу.
MySQL/MariaDB
"Percona XtraBackup" (hot backup) аркылуу толук PITR үчүн Binary log.
GTID репликациясы; DR үчүн - аймак/булут үчүн асинхрон.
MongoDB
PITR үчүн Oplog; логикалык көчүрмөлөрү үчүн storaj + 'mongodump' деъгээлинде snapshots.
Бэкаптын алдында репликанын туруктуулугун сыноо.
Redis/Кэш
backup деп эсептелбейт: RDB/AOF + offsite; warm-cache же чындык булагы катары калыбына келтирүү.
Kubernetes жана контейнерлер
etcd кластер - өзүнчө критикалык максат (тез-тез снапшоттор, оффсайт).
Velero: арткы манифесттер/ресурстар + CSI-снапшот/PV; S3 шайкеш бакет сактоо (Object Lock менен).
Stateful-награрузки: app-consistent snapshots (pre/post hooks), антпесе - crash-consistent.
Объекттик артефакттарды версиялоо (моделдер/медиа) - бакет деңгээлинде.
Виртуалдаштыруу жана файлдык серверлер
VM-snapshots: CBT (Changed Block Tracking) колдонуу, offsite сактоо, мезгил-мезгили менен guest-aware quiesce (Windows үчүн VSS).
File Server (NAS): Snapshot + реплика жана үзгүлтүксүз каталогдук калыбына келтирүү тесттер (File тандоо).
Коопсуздук Backup
Тынч шифрлөө (LUKS/ZFS/Cloud KMS/Vault) жана берүү (TLS/mTLS).
Ачкычтарды башкаруу: жеке ролдор, кош-көзөмөл, ротация, мастер-ачкычтарды оффлайн сактоо.
Изоляция: иммундук көчүрмөлөрдү алып салуу укугу жок backup программалык эсеп; жеке тармактар/VLAN.
Ransomware туруктуулугу: immutable, Air-gap (скотч/изоляцияланган эсеп/lab).
Аудит: Бэкап системасынын операцияларынын журналы, алып салуу/кыскартуу жөнүндө эскертүүлөр retenshna.
Терезелерди жана өткөрүү жөндөмдүүлүгүн пландаштыруу
Backup window vs жүк: Trottling I/O/тармактар, дедупликация, кысуу.
Network: ар бир N мүнөт, жеке каналдар/VPN, түнү же дайыма QoS менен реплика.
Трафикти азайтуу үчүн Change Block Tracking/CDC.
Чоң базалар: параллелдүү агымдар/стриминг, объектке көп каналдуу мультипарт.
Мониторинг, метрика жана SLO
Тех-метрика:- Backup/репликация милдеттеринин ийгилиги (%), узактыгы, ылдамдыгы, журналдардын артта калышы (WAL/binlog/oplog).
- Backup сактоо мейкиндиги, дедуп-коэффициент, башка чыгымдар.
- Убакыт жана ийгиликтүү сыноо калыбына келтирүү.
- Backup ийгилиги ≥ 99. 9 %/30 күн.
- RPO убакыттын 99% ≥ сакталган (журнал ≤ максаттуу).
- RTO (сыноо-калыбына келтирүү) ≤ капчык үчүн 15 мүнөт, отчеттуулук үчүн ≤ 1 саат.
- Ай сайын DR-drill: 100% ченемдик жагдайлар аяктады.
- Сагынып/ийгиликсиз арткы, PYTR артта> босого, дедупликация даражасынын төмөндөшү, орун жетишсиздиги, retenshn саясатынын өзгөрүшү, жаңы тест-калыбына келтирүү жок.
DR көнүгүүлөр жана калыбына текшерүү
Таблицалар (table-top): ролдорду координациялоо, байланыштар, байланыш.
Техникалык: калыбына келтирүү "кум", RTO өлчөө, текшерүү суммасын/маалыматтарды салыштыруу.
Black-start: "жылаңач темир/таза кластерге" толук калыбына келтирүү.
Маалымат каталогдору: системалардын ар бир классы боюнча алдын ала баяндалган калыбына келтирүү кадамдары (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) wal-g (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) Object Lock саясаты (мисалы, 'mc')
bash mc version enable my/backups mc retention set --default COMPLIANCE 365d my/backups
5) GFS-тартиби мисал (түшүнүк)
Daily: инкременттер ар бир 15 мүнөт (журналдар), күндүзгү синтетикалык толук.
Weekly: бир "толук" (синтетикалык), 8 жума сактоо.
Monthly: толук, сактоо 12-24 ай (архив/лента).
Киргизүү чек-тизмеси
- Аныкталган маалымат класстары, ээлери, RPO/RTO/SLO.
- Репликация (sync/async) жана топология (AZ/Region/Cloud) моделдери тандалган.
- орнотулган backaps: full/incremental/PITR, расписание, каталогдор.
- Камтылган иммунитет (WORM/Object Lock/immutable snapshots) жана Offsite/Air-gap.
- Шифрлөө жана KMS/Vault, өзүнчө ролдор жана ачкычтарды айлантуу.
- Мониторинг: тапшырмалардын ийгилиги, журнал артта, орун, сыноо-калыбына келтирүү; Алерталар.
- Runbooks калыбына келтирүү жана Feylover; байланыштар, эскалациялар, байланыш шаблондору.
- Айлык DR-машыгуу + отчет, пландарды тууралоо.
- Бюджет жана FinOps: сактоо наркы/egress, архивдөө/тирлөө долбоору.
Типтүү каталар
"Реплика бар - бекаптын кереги жок": логикалык өчүрүүлөр жана шифрлөөчүлөр репликага барышат.
Эч кандай калыбына келтирүү тесттер - арткы бар "теориялык".
Иммунитеттин жана оффсайттын жоктугу - бир тобокелдик чекити.
Бир эле аккаунт/прод жана backaps үчүн ачкычтар - компромисс = бардык жоготуу.
Өтө узун терезелер backup → чокулары менен чыр-чатак; Trottling жана QoS жок.
PYTHR журналдардын накталай контролдоо жок.
Ignor app-consistent snapshot - "кир" калыбына томдору.
iGaming/Fintech үчүн өзгөчөлүктөрү
Капчык/төлөм ядро: RPO ≤ 1-5 мин, RTO ≤ 15 мин; WORM менен объектке журналдар (WAL/binlog); зонада синхрон + асинхрондук аймак.
Отчеттуулук/жөнгө салуучу: өзгөрүлбөгөн сактагычтар, узак мөөнөттүү retenshn (жылдар), текшерилүүчү бүтүндүк, маалыматтарды жөнгө салуучуларга берүүнүн так жол-жоболору.
Log/чийки окуялар/антифрод: арзан узак мөөнөттүү сактоо (объект) + жашоо; индекстер жана витриналар - өзүнчө.
чокулары (дан/турнирлер): терезелер backup чегинен тышкары, throttling; окуялар мезгилине DR-пландар; акциялардын алдында канар калыбына келтирүү.
Жыйынтык
Маалыматтарды коргоо - бул архитектуралык тартип болуп саналат: 3-2-1-1-0, чыгаруу жана иммутабелдүүлүк, RPO/RTO SLO катары, үзгүлтүксүз DR окутуу жана калыбына келтирүү текшерүү "чындыгында". логикалык каталар жана компроматтар үчүн backaps менен тез Failover жана Aptime үчүн Replication айкалыштыруу. Автоматташтырыңыз, өлчөңүз, документтештириңиз - жана сизде ар дайым эң жаман күнү да кайра иштөө жолу болот.