Bosh sahifa Wiki Snapshot

Snapshot

Snapshot — disk, virtual machine, database yoki fayl tizimining ma’lum vaqtdagi holatini qayd etuvchi nusxa yoki reference. Snapshot keyinchalik oldingi holatga qaytish, test muhitini klonlash, backup jarayonini tezlashtirish va o‘zgarishlarni solishtirish uchun ishlatiladi.

Snapshot har doim to‘liq mustaqil backup emas. Uning ishlashi source storage va implementationga bog‘liq.

Point-in-time holat

Snapshot yaratilgan paytdagi ma’lumot ko‘rinishini saqlaydi.

Keyingi write’lar original volume’da davom etadi.

Snapshot eski blocklar yoki metadata’ni saqlab, oldingi holatni qayta tiklashga imkon beradi.

Bu operation ko‘pincha to‘liq copy’dan tezroq.

Copy-on-write

Copy-on-write modelida snapshot yaratilganda blocklar darhol nusxalanmaydi.

Original block o‘zgartirilishidan oldin eski qiymat snapshot uchun saqlanadi.

Afzalligi — snapshot tez yaratiladi.

Kamchiligi — ko‘p write bilan storage va performance xarajati oshadi.

Redirect-on-write

Yangi write original blockni almashtirmasdan yangi joyga yoziladi.

Metadata active volume’ni yangi blockga yo‘naltiradi.

Snapshot eski blockni ko‘rsatishda davom etadi.

Bu ayrim storage tizimlarida write patternini samaraliroq boshqarishi mumkin.

Full snapshot

Ba’zi tizim snapshotni mustaqil to‘liq nusxaga aylantiradi.

Bunda source o‘chirilsa ham snapshot ishlaydi.

Storage hajmi ko‘proq.

Incremental snapshotlar oldingi blocklar bilan bog‘liq bo‘lishi mumkin.

Incremental snapshot

Faqat oldingi snapshotdan keyin o‘zgargan blocklar saqlanadi.

Bu vaqt va storage’ni tejaydi.

Restore jarayonida tizim kerakli chain yoki backend metadata’dan foydalanadi.

User ko‘pincha har snapshotni to‘liq point-in-time image sifatida ko‘radi.

Crash-consistent

Disk ayni paytda qanday bo‘lsa shunday snapshot olinadi.

Bu elektr to‘satdan o‘chgan holatga o‘xshaydi.

File system journal orqali tiklanishi mumkin.

Ammo application memory’dagi yozilmagan data va transaction holati yo‘qolishi ehtimoli bor.

Application-consistent

Snapshotdan oldin application write’larni flush qiladi yoki vaqtincha freeze qilinadi.

Database checkpoint, filesystem freeze yoki guest agent ishlatilishi mumkin.

Bu restore’dan keyin applicationning tez va to‘g‘ri ochilish ehtimolini oshiradi.

Consistency uchun qisqa pause kerak bo‘lishi mumkin.

Virtual machine snapshot

VM snapshot quyidagilarni saqlashi mumkin:

  • virtual disk;
  • configuration;
  • memory state;
  • device state.

Memory snapshotdan VM ayni instruction nuqtasiga yaqin qaytishi mumkin.

Uzoq muddat ko‘p snapshot saqlash VM performance’ini pasaytirishi mumkin.

Volume snapshot

Block volume’ning point-in-time block holati olinadi.

Undan yangi volume yaratish yoki eski volume’ni tiklash mumkin.

Mounted file system write davom ettirsa consistency masalasi mavjud.

Multi-volume applicationda barcha volume bir vaqtda snapshot qilinishi kerak bo‘lishi mumkin.

Database snapshot

Database snapshot engine yoki storage darajasida olinadi.

Database-native backup transaction log, schema va consistency’ni yaxshiroq tushunadi.

Storage snapshot juda tez, ammo log va application coordination talab qiladi.

Restore test qilinmasdan ishonchli deb bo‘lmaydi.

Snapshot va backup

Snapshot ko‘pincha ayni storage tizimida saqlanadi.

Storage account yoki cluster buzilsa snapshot ham yo‘qolishi mumkin.

Backup odatda alohida failure domain, retention va restore jarayoniga ega.

Snapshot backup strategiyasining bir qismi, o‘zi esa barcha holatda backup emas.

Retention

Snapshotlar ma’lum jadval bo‘yicha saqlanadi:

  • soatlik;
  • kunlik;
  • haftalik;
  • oylik.

Retention eski snapshotlarni o‘chiradi.

Compliance va ransomware himoyasi uchun immutable retention kerak bo‘lishi mumkin.

Chain

Snapshotlar parent-child bog‘lanishga ega bo‘lishi mumkin.

Parentni noto‘g‘ri o‘chirish childga ta’sir qilmasligi uchun storage tizimi consolidation yoki reference management bajaradi.

Chain juda uzun bo‘lsa restore va I/O sekinlashishi mumkin.

Clone

Snapshotdan yangi volume yoki VM tez yaratiladi.

Copy-on-write clone dastlab kam joy egallaydi.

Test va development environment uchun qulay.

Clone keyinchalik source snapshotga bog‘liq qolishi yoki full copyga aylanishi mumkin.

Restore

Restore usullari:

  • original volume’ni oldingi holatga qaytarish;
  • yangi volume yaratish;
  • ayrim file’ni olish;
  • VMni klonlash;
  • boshqa regionga restore.

Original ustiga restore destructive bo‘lishi mumkin.

Avval yangi nusxada tekshirish xavfsizroq.

Snapshot schedule

Snapshot application backup window va write yukiga mos vaqtda olinadi.

Barcha server bir vaqtda snapshot qilinsa storage spike paydo bo‘lishi mumkin.

Jitter va orchestration ishlatiladi.

Missed snapshot alert beradi.

Encryption

Snapshot source volume kabi shifrlanishi mumkin.

Key yo‘qolsa snapshot tiklanmaydi.

Cross-account yoki cross-region copy’da destination key va permission kerak.

Key retention snapshot retentiondan kam bo‘lmasligi kerak.

Security

Snapshot sensitive data’ning to‘liq nusxasi bo‘lishi mumkin.

Access:

bo‘yicha ajratiladi.

Public yoki boshqa accountga noto‘g‘ri share data leak yaratadi.

Audit log yuritiladi.

Ransomware

Attacker production data bilan birga snapshotlarni o‘chirishga urinishi mumkin.

Himoya:

Snapshot yaratishning o‘zi ransomware himoyasi emas.

Restore testi

Backup va snapshot qiymati faqat tiklash ishlaganda ma’lum bo‘ladi.

Muntazam test:

ni tekshiradi.

RTO va RPO shu test bilan baholanadi.

Snapshot catalog

Ko‘p snapshotlar aniq nom, source, owner, application va retention metadata’si bilan kataloglanadi. “snapshot-123” kabi noaniq nom recovery vaqtida xato tanlovga olib keladi. Tag va policy avtomatik qo‘llanadi.

Cost

Incremental snapshot faqat o‘zgargan blocklar uchun joy olsa ham uzoq retention xarajat yig‘adi. Restore va cross-region copy narxi ham hisobga olinadi. O‘chirishdan oldin dependency va legal hold tekshiriladi.

Bog‘liq tushunchalar

Snapshot, Point-in-time copy, Copy-on-write, Volume snapshot, VM snapshot, Backup, Restore, Retention, Clone, Crash consistency, Application consistency