VM snapshot — virtual mashinaning disk holati va ixtiyoriy ravishda memory hamda virtual qurilma state’ini muayyan nuqtada saqlaydigan tasvirdir. U yangilanishdan oldin qisqa rollback, test va backup workflow uchun ishlatiladi. Snapshot VMning mustaqil uzoq muddatli backupi sifatida qabul qilinmaydi.
Snapshot tarkibi
Disk-only snapshot virtual diskning point-in-time ko‘rinishini yaratadi. Memory snapshot guest RAM, CPU register va virtual device state’ini ham saqlab, VMni aynan ishlayotgan joyidan davom ettirishga imkon beradi. Memory fayli ajratilgan RAM hajmiga yaqin katta bo‘lishi mumkin.
Configuration snapshot virtual hardware sozlamalarini ham qayd etishi mumkin. Hypervisor va disk formatiga qarab barcha komponent bir xil snapshot obyektida yoki bog‘langan fayllarda saqlanadi.
Delta disk
Snapshot yaratilgach base virtual disk odatda read-only qoladi, yangi write’lar delta diskka tushadi. Read eng yangi delta’dan boshlanib, topilmasa oldingi layerlarga yuradi. Chain uzaygani sari metadata lookup va random I/O xarajati oshishi mumkin.
Snapshot delete oddiy fayl o‘chirish emas. Delta bloklari parent yoki base diskka consolidate qilinadi. Consolidation davomida yangi write’lar ham kelishi mumkin, hypervisor ularni qo‘shimcha delta bilan muvofiqlashtiradi.
Quiescing
VMni pause qilmasdan olingan snapshot crash-consistent bo‘lishi mumkin. Guest filesystem journali recovery qiladi, lekin application bufferidagi data va bir nechta disk transactionlari mos bo‘lmasligi mumkin. Guest tools filesystem freeze yoki VSS kabi mexanizm bilan write’larni quiesce qiladi.
Database uchun guest agentning o‘zi yetmasligi mumkin. Database checkpoint, backup API yoki transaction log integration application-consistent holat beradi. Quiesce uzoq davom etsa application latency oshadi; timeoutdan so‘ng snapshot consistency darajasi aniq qayd etiladi.
Memory holati
Memory snapshot ochiq connection, lock va timerlarni saqlaydi. VM qayta tiklanganda tashqi dunyo vaqt o‘tgan bo‘ladi: TCP peer sessiyani yopgan, lease tugagan yoki clock sakragan bo‘lishi mumkin. Application stale connectionni qayta yaratishi kerak.
RAM ichida encryption key va credential mavjud bo‘lishi mumkin. Memory snapshot diskdagi oddiy data’dan ko‘ra sezgir va encryption hamda access control bilan himoyalanadi.
Snapshot chain xavfi
Ko‘p va uzoq saqlangan snapshot delta disklarning o‘sishiga, datastore to‘lishiga va performance pasayishiga olib keladi. Base yoki chain faylining bittasi buzilsa keyingi snapshotlar o‘qilmasligi mumkin. Platforma tavsiya etgan chain uzunligi va saqlash muddati kuzatiladi.
Snapshot revert undan keyingi barcha disk o‘zgarishlarini yo‘qotadi. Avval joriy holatning nusxasi olinishi yoki muhim data export qilinishi kerak. Revert operation application owner va change control bilan bajariladi.
Backup bilan integratsiya
Backup vositasi qisqa VM snapshot yaratib, barqaror disk tasviridan bloklarni o‘qiydi va boshqa repositoryga yuboradi. Transfer tugagach snapshot o‘chiriladi. Snapshotning uzoq qolishi backup job muvaffaqiyatsiz yakunlanganini ko‘rsatishi mumkin.
Changed Block Tracking oldingi backupdan beri o‘zgargan bloklarni beradi. CBT metadata buzilsa full scan talab qilinadi. Backup restore testi yangi VM yaratish, boot, filesystem va application tekshiruvini qamrab oladi.
Distributed service holati
Clusterning har VMini alohida snapshot qilish umumiy distributed state’ning bitta nuqtasini bermaydi. Consensus leader, follower loglari va lease’lar turli vaqtda muzlashi mumkin. Ko‘p distributed database o‘z backup protokolini taqdim etadi; u snapshotdan oldin cluster checkpoint yoki consistent token yaratadi. VM snapshot infratuzilma recovery uchun qo‘shimcha bo‘lishi mumkin, ammo application-native backupni avtomatik almashtirmaydi.
Bog‘liq tushunchalar
Virtual machine, Snapshot, Delta disk, Quiescing, Crash consistency, Application consistency, Changed Block Tracking