
U mnogim IT odjeljenjima, isti scenario se ponavlja svaki put: prije implementacije značajne promjene u produkciji, neko kreira snimak virtuelne mašine "za svaki slučaj" i osjeća se potpuno mirno. Lažni osjećaj sigurnosti koji ovi snimci pružaju dovodi do njihovog akumuliranja mjesecima... sve dok se jednog dana skladište podataka ne napuni, performanse ne padnu ili se skladište ne ošteti.
Pitanje koje mnogi timovi imaju na umu je jasno: Da li je dobra praksa čuvati snimke sistema neograničeno "jer vas ne smetaju"? Ili bismo ih trebali izbrisati čim više nisu potrebni? Da bismo na ovo promišljeno odgovorili, moramo u potpunosti razumjeti šta je snimak sistema, kako funkcioniše "ispod haube", njegov stvarni uticaj na performanse, skladištenje, sigurnost (uključujući ransomware) i zašto ga nikada, baš nikada ne treba miješati sa sigurnosnom kopijom.
Šta je snimak, a šta NIJE snimak
Snimak stanja (ili trenutna kopija, kontrolna tačka itd.) je u suštini fotografija stanja virtuelne mašine u određenom trenutku . Snima sadržaj njenih virtuelnih diskova, njenu konfiguraciju i, ako želite, čak i stanje njene memorije i CPU-a.
Iz perspektive hipervizora (VMware, Hyper-V, KVM, Proxmox, itd.), kreiranje snimka stanja zamrzava osnovni disk u režimu samo za čitanje i kreira novi diferencijalni (delta) disk na koji se preusmjeravaju sva naredna pisanja . Snimak stanja ne duplicira cijeli disk. On samo označava tačku od koje su promjene odvojive.
Zato je kreiranje i vraćanje snimka stanja obično gotovo trenutno. Ne kopiraju se gigabajti podataka; pokazivači i metapodaci se jednostavno premještaju . Ova brzina navodi mnoge ljude da misle da je "isto kao sigurnosna kopija, ali praktičnije", kada su u stvarnosti to radikalno različiti koncepti.
Sigurnosna kopija, bilo na nivou datoteke ili kao slika virtuelne mašine, uključuje kreiranje potpune ili inkrementalne kopije podataka na drugom fizičkom mediju (drugi niz za pohranu, repozitorij sigurnosnih kopija, traka, oblak itd.). U Linux okruženjima uobičajeno je automatizirati sigurnosne kopije pomoću rsync-a . S druge strane, snimak se i dalje oslanja na istu pohranu kao i originalna mašina; ako ta pohrana zakaže, snimak se gubi zajedno s njom.
Anatomija snimka: blokovi, lanci i potrošnja prostora
Da biste razumjeli osnovni problem, zamislite VM s jednim virtualnim diskom sastavljenim od nekoliko blokova podataka A, B, C, D, E. Sve dok nema snimaka, svaka promjena se zapisuje direktno na taj osnovni disk : ako se A modificira i doda F, "pravi" disk tada sadrži A', B, C, D, E, F.
Kada se kreira prvi snimak, originalni disk se postavlja samo za čitanje, a hipervizor kreira diferencijalni disk. Od tog trenutka nadalje, sva pisanja (na primjer, promjene na A' i B ili izgled G) se spremaju na ovaj novi disk . Ali osnovni disk zadržava svoj prethodni sadržaj.
Logički gledano, virtuelna mašina izgleda kao da ima samo jedan disk, ali fizički već imate dva: osnovni disk sa "starim" podacima i delta disk sa promjenama . "Stvarna" veličina onoga što bi virtuelna mašina trebala zauzimati može biti, na primjer, 7 blokova, ali zbog djelimične duplikacije, na kraju ćete potrošiti 9 blokova u skladištu podataka.
Ako ponovite proces i kreirate drugi snimak preko prvog, prethodna delta također postaje samo za čitanje, kreirajući treći diferencijalni disk. Naknadne promjene (A'', D, E, H, itd.) postepeno povećavaju veličinu ovog lanca diskova sve dok, u mnogim slučajevima, volumen koji zauzimaju snimci daleko ne premaši originalnu veličinu virtuelne mašine.
U stvarnim scenarijima, nije neuobičajeno pronaći virtuelne mašine sa osnovnim diskovima od 2 TB koje, zbog jednog ili više snimaka zaboravljenih godinama, zauzimaju 4 ili 5 TB u skladištu podataka , sa odgovarajućim uticajem na troškove i performanse. I najgore od svega: sve se ovo oslanja na vrlo krhak lanac zavisnosti.
Utjecaj lanaca snimaka na performanse i pouzdanost
Kada virtuelna mašina treba da pročita blok podataka, hipervizor ne zna unaprijed koji disk u lancu sadrži trenutnu verziju tog bloka. Prvo provjerava posljednji diferencijalni disk. Ako ga ne pronađe, prelazi na prethodni i tako dalje dok ne dođe do osnovnog diska . Svaka dodatna karika u lancu znači više skokova čitanja.
U laboratoriji sa niskim I/O, možda nećete ništa primijetiti, ali na serveru sa hiljadama ili milionima blokova i nekoliko starih snimaka, svaka operacija čitanja i pisanja postaje skuplja . Latencija se povećava, aplikacije postaju trome, a korisnici počinju da se žale na sporost "bez ikakvog očiglednog razloga".
Drugi veliki rizik je strukturni. Svaki snimak je disk koji zavisi od prethodnog. Ako se jedan od diskova u lancu ošteti, cijela virtuelna mašina može postati neupotrebljiva jer hipervizor više nije u stanju da rekonstruiše kompletan niz stanja.
Nadalje, što je duže dozvoljeno da snimak raste (posebno na visoko aktivnim mašinama, kao što su baze podataka), proces konsolidacije postaje glomazniji i sporiji . Kada se lanac izbriše, sistem mora spojiti promjene svake delte sa njenim roditeljem, jednu po jednu, što pokreće brojne operacije čitanja/pisanja i povećava rizik od problema ako se nešto prekine usred procesa.
Iz svih ovih razloga, jednoglasna preporuka proizvođača i stručnjaka je jasna: snimci podataka su privremeni alati, a ne trajni sistemi za pohranu podataka . Namijenjeni su da vas zaštite tokom promjene, a ne da traju godinama u proizvodnji.
Vrste snimaka i njihove specifične karakteristike ovisno o platformi
U zavisnosti od platforme za virtualizaciju i nivoa na kojem radite, nisu svi snimci isti niti se ponašaju na isti način . Važno ih je razlikovati jer imaju različite implikacije na konzistentnost podataka i slučajeve upotrebe.
Na primjer, u VMware-u možete kreirati snimke memorije sa stanjem stanja, poznate i kao "mirujući" snimci. Snimak memorije tačno bilježi ono što se nalazi u RAM-u i CPU-u u tom trenutku . Ovo je vrlo korisno za vraćanje na prethodno stanje nakon nadogradnje sistema ili složene instalacije.
S druge strane, utišani snimak se široko koristi za podršku sigurnosnim kopijama. Zahtijeva VMware Tools na virtuelnoj mašini da zamrzne datotečni sistem gosta i osigura da disk sa snimkom odražava konzistentno stanje (sprečavanje nepotpunih transakcija, otvorenih datoteka itd.).
U Hyper-V-u, koncept je isti, iako je Microsoft popularizirao termin "kontrolna tačka". Tehnički, to je snimak koji stavlja originalni VHD/VHDX disk u režim samo za čitanje i kreira jedan ili više lančano povezanih diskova za diferencijaciju.
U svijetu pohrane podataka, pored hipervizora, postoje i snimci podataka na nivou niza za pohranu podataka ili datotečnog sistema (ZFS, NAS sistemi, SAN, itd.). Ovi snimci podataka rade na blokovima za pohranu podataka, a ne na određenim virtuelnim mašinama , i obično se implementiraju korištenjem dva glavna pristupa: Kopiranje prilikom pisanja (COW) i Preusmjeravanje prilikom pisanja (ROW).
U COW-u, kada se blok treba modificirati, "stari" blok se prvo kopira u rezervirano područje snimke stanja, a zatim se original prepisuje . Ovo ubrzava čitanje starih podataka, ali kažnjava pisanje (svaka promjena uključuje čitanje-kopiranje-pisanje).
U ROW-u, koji se široko koristi u modernim sistemima poput ZFS-a i all-flash storage nizova, novi podaci se direktno upisuju na drugu fizičku lokaciju , a pokazivači se ažuriraju, dok snapshot zadržava reference na starije blokove. Kreiranje snapshota i njihovo upisivanje ima minimalan utjecaj na performanse, ali to dolazi po cijenu povećane fragmentacije, što može biti problematično na tradicionalnim tvrdim diskovima (HDD).
Snimci u odnosu na sigurnosne kopije: zašto nisu zamjenjivi
Jedna od najčešćih grešaka u IT-u je pretpostavka da, budući da se možete vratiti na prethodnu tačku za nekoliko sekundi, snimak već ispunjava ulogu sigurnosne kopije . Ovo je opasna konceptualna zamka.
Snimak stanja, i na nivou hipervizora i na nivou skladišta, uvijek zavisi od sistema na kojem se nalaze originalni podaci . Ako niz za skladištenje podataka otkaže, skladište podataka se ošteti, host se izgubi ili neko uništi volumen, vaši snimci stanja nestaju s njima. Ne postoji "sigurnosna kopija".
Prava sigurnosna kopija podrazumijeva pridržavanje principa poput pravila 3-2-1: imati najmanje tri kopije podataka, na dva različita medija, od kojih se jedna pohranjuje van lokacije . To se obično prevodi u namjensko spremište sigurnosnih kopija, zasebnu lokaciju, traku, oblak ili kombinaciju navedenog, često sa slojevima nepromjenjivosti.
Nadalje, snimci stanja nisu namijenjeni za granularni oporavak . Oni vam omogućavaju da vratite cijelu virtuelnu mašinu ili volumen u prethodno stanje, ali ne omogućavaju jednostavno vraćanje pojedinačne datoteke, određene baze podataka ili poštanskog sandučića bez utjecaja na ostatak sistema.
Rješenja za sigurnosno kopiranje za virtualna okruženja (Veeam, Vinchin Backup & Recovery, itd.) integriraju se s hipervizorom kako bi orkestrirala privremene snimke , izdvojila konzistentnu kopiju iz njih u zasebno spremište, a zatim izbrisala te snimke. Snimak je samo privremeni alat unutar procesa sigurnosnog kopiranja; prava sigurnosna mreža je eksterna sigurnosna kopija.
Da stvar bude gora, snapshot vas ne štiti od ozbiljnih fizičkih ili logičkih katastrofa : požara, poplava, krađe hardvera, masovnog kvara diska, široko rasprostranjenog oštećenja volumena... u svim ovim slučajevima potrebna vam je kopija koja se nalazi negdje drugdje i koju možete montirati u čistom okruženju.
Najbolje prakse za korištenje snimaka bez oštećenja računara
Kada se jednom razjasni šta jesu, a šta nisu, sljedeće pitanje je kako njima upravljati bez ugrožavanja vaše infrastrukture. Tu dolazi do izražaja disciplina korištenja i čišćenja , koju mnogi timovi zanemaruju iz čiste praktičnosti.
Prvo pravilo, jednostavno, ali ključno, je vrijeme: ne biste trebali čuvati produkcijski snimak duže od 24-72 sata . VMware, na primjer, izričito savjetuje da se jedan snimak ne ostavlja aktivnim nakon tog vremenskog okvira, jer će njegova veličina nastaviti rasti, a skladište podataka će patiti.
Količina je također bitna. Iako tehnički možete povezati do 32 snapshota po virtuelnoj mašini, u stvarnim okruženjima preporučuje se da se ograničite na maksimalno 2 ili 3 kako biste smanjili latenciju i složenost konsolidacije. Svaki dodatni disk dodaje još jedan sloj za čitanje i spajanje.
Što se tiče vremena kreiranja snimaka, najbolje ih je napraviti kada virtuelna mašina nije pod velikim I/O opterećenjem . Ako se sistem nađe usred I/O oluje (interno pravljenje sigurnosnih kopija, reindeksiranje, masovna opterećenja), kreiranje snimaka može propasti ili rezultirati nekonzistentnim stanjima.
Na proceduralnom nivou, ključno je da tim usvoji jasne politike: kreiranje snimka stanja prije nego što se naprave kritične promjene, provjera da li sve funkcioniše i brisanje čim se potvrdi stabilnost . Nema "ostavit ću ga za svaki slučaj" mjesecima. Dokumentovanje ko ga je kreirao i zašto je veoma korisno u sprečavanju zaboravljanja.
I, što je veoma važno, nemojte miješati snimke stanja sa politikama usklađenosti i sigurnosnog kopiranja . U ISO 27001, ENS, PCI-DSS ili sličnim revizijama, snimci stanja se ne računaju kao sigurnosne kopije ili važeći historijski zapisi. Oni su operativni mehanizam, a ne kontrola kontinuiteta poslovanja.
Snimci i ransomware: 'vremenska mašina'... sa nijansama
Posljednjih godina, ransomware je od smetnje postao jedna od najkritičnijih prijetnji svakoj organizaciji . On ne samo da šifrira datoteke: on namjerno nastoji napasti podatke, uključujući sigurnosne kopije, i izbrisati svaki trag koji bi omogućio lak oporavak.
U ovom scenariju, snimci podataka na nivou skladišta često su se predstavljali kao "vremenska mašina" za trenutno poništavanje enkripcije. Njihova sposobnost da vrate volumen u roku od nekoliko sekundi do tačke prije infekcije zaista je ogromna prednost u odnosu na vrlo spore potpune restauracije.
Ali važno je razlikovati snimke operativnog sistema (kao što je VSS u Windowsu) i snimke niza za pohranu podataka. Većina modernih ransomwarea izvršava naredbe za brisanje VSS-a čim uđe u sistem . I to radi upravo kako bi spriječio korisnika da koristi lokalne tačke vraćanja sistema.
Snimci sloja za pohranu ovdje igraju ključnu ulogu: njima se upravlja izvan operativnog sistema i nisu dostupni korištenjem standardnih Windows ili Linux akreditiva . Čak i ako napadač dobije administratorske privilegije na serveru, ne može direktno izbrisati ove snimke iz niza za pohranu jednostavnom naredbom.
Nakon otkrivanja incidenta, tipična procedura uključuje odabir snimka stanja prije početka šifriranja i montiranje ili vraćanje volumena na tu tačku. Nije bitno da li je skup podataka 1 TB ili 100 TB : budući da se preusmjeravaju samo pokazivači na starije blokove, vrijeme oporavka (RTO) je vrlo kratko u poređenju s potpunim vraćanjem.
U stvari, mnoga moderna rješenja koriste snimke stanja ne samo pasivno, već i kao proaktivni obrambeni mehanizam . Oni analiziraju entropiju zapisanih blokova u stvarnom vremenu (šifrirana datoteka vrlo slično slučajnim podacima) i, suočeni s anomalnim skokovima entropije i masovnim upisima, automatski pokreću nepromjenjive snimke stanja ili prekidaju sumnjive veze za upisivanje (SMB/NFS).
Nepromjenjivi snimci, WORM i sigurno upravljanje privilegijama
Ransomware sljedeće generacije ne samo da šifrira podatke. Također pokušava eskalirati privilegije konzoli za upravljanje nizom za pohranu podataka kako bi uništio snimke i sigurnosne kopije. Da biste izdržali ovu vrstu napada, potrebno vam je više od samo "običnih" snimaka.
Ovdje na scenu stupaju nepromjenjive snimke ili WORM (Write Once, Read Many) tehnologije. Nakon što je snimak zaključan na određeni period (na primjer, 7 dana) , niko - čak ni administrator s maksimalnim dozvolama - ne može ga mijenjati ili brisati dok taj period ne istekne.
Ovi mehanizmi pretvaraju snimke sistema u neku vrstu vremenski ograničenog sefa: čak i ako napadač ukrade pristupne podatke visokog nivoa , naići će na kopije kojima ne može pristupiti. Ovo garantuje barem neke čiste tačke oporavka.
Uz nepromjenjivost, dobre prakse upravljanja zahtijevaju dodavanje slojeva kao što su višefaktorska autentifikacija (MFA) i princip dvofaktorske autentifikacije. Pristup administratorskoj konzoli ili brisanje snimaka trebao bi zahtijevati barem jedan dodatni korak verifikacije (mobilni OTP, token itd.).
Za posebno destruktivne operacije - kao što su brisanje kritičnih snimaka, formatiranje volumena ili pražnjenje repozitorija - idealan pristup je primjena "principa četiri oka": zahtijevanje potvrde od dva različita administratorska računa . Ovo smanjuje i rizik od interne zloupotrebe i utjecaj kompromitiranih vjerodajnica.
Čak i uz sve ovo, važno je naglasiti ključnu stvar: snimci podataka, koliko god napredni ili nepromjenjivi bili, ne zamjenjuju sveobuhvatnu strategiju sigurnosnog kopiranja . Oni i dalje zavise od stanja niza za pohranu podataka ili sistema na kojem se nalaze i ne štite vas ako je hardver uništen ili postane nedostupan.
Nadalje, u eri "dvostrukog ransomwarea", gdje napadač prvo ukrade osjetljive podatke, a zatim ih šifrira, snimci podataka se bave samo aspektom dostupnosti : možete oporaviti datoteke, ali do kršenja podataka je već došlo. Ovdje na scenu stupaju druge kontrole, kao što su DLP, šifriranje podataka u tranzitu i u mirovanju, te stroge politike upravljanja podacima.
Kada koristiti snimke stanja, a kada sigurnosne kopije
U praksi, snimci i sigurnosne kopije se ne takmiče; oni se međusobno dopunjuju. Ključno je koristiti svaki alat za njegovu namjenu i ne mijenjati uloge iz praktičnosti ili nedostatka znanja.
Snimci su idealni za situacije kao što su priprema ažuriranja operativnog sistema, instaliranje nove verzije kritične aplikacije ili promjena osjetljivih mrežnih postavki . Omogućavaju vam testiranje, validaciju i, ako nešto pođe po zlu, vraćanje na prethodno stanje u roku od nekoliko sekundi.
Međutim, disciplina je ključna: kreirajte snimak neposredno prije promjene, provjerite da li sve ispravno funkcioniše i izbrišite ga čim se završi . Nemojte ga ostavljati na neodređeno vrijeme "za svaki slučaj".
Sigurnosne kopije dolaze do izražaja kada govorimo o stvarnom kontinuitetu poslovanja:
- Oporavite virtuelne mašine nakon gubitka hosta, klastera ili cijelog podatkovnog centra.
- Vratite određene datoteke koje je korisnik slučajno izbrisao.
- Vratite se na verziju baze podataka od prije nekoliko sedmica.
- Dokažite zadržavanje podataka iz pravnih ili regulatornih razloga.
Moderno rješenje za sigurnosno kopiranje za virtualna okruženja nudi i dodatne prednosti: inkrementalne sigurnosne kopije, provjeru integriteta, kompresiju, deduplikaciju, sigurnosno kopiranje bez LAN-a , trenutni oporavak direktnim montiranjem sigurnosnih kopija, migraciju između platformi za virtualizaciju itd.
U mnogim slučajevima, idealan postupak kombinuje oba pristupa. Softver za pravljenje sigurnosnih kopija koristi snimke hipervizora ili skladišnog niza za generisanje konzistentnih kopija bez pauziranja , ali ovi snimci su kratkotrajni i brišu se nakon što je prenos u eksterni repozitorij završen.
Bez obzira na alat koji koristite, postoji jedan ključni princip koji treba zapamtiti: sigurnosna kopija nije završena dok ne testirate proces vraćanja podataka . Kreiranje sigurnosnih kopija bez redovnog testiranja vraćanja podataka je kao igranje ruskog ruleta s vašim podacima, a dan kada se dogodi ozbiljan incident je kada otkrijete da je vaša politika pravljenja sigurnosnih kopija bila bezvrijedna.


