NetApp Snapshot

Marijan Bašić

NetApp BDM

marijan.basic@alef.com

NetApp Snapshot je patentirana tehnologija za izradu potpune sigurnosne kopije aktivnih podataka, što predstavlja kopiju aktivnog skupa podataka samo za čitanje.

Kao funkcionalnost, Snapshot je sastavni dio ONTAP operativnog sustava, instaliran na FAS (hibridno) i AFF (AllFlash) sustave, kao i ONTAP Select i ONTAP Cloud proizvode.

NetApp Snapshot radi na razini agregata FlexVolume ili NetApp. FlexVolumen je logički stvoren fleksibilni spremnik podataka, obično grupiran prema svrsi (svi podaci jedne aplikacije - LUN ili podaci jedne datoteke, na primjer). NetApp agregati su fizički entiteti stvoreni iz velikog broja fizičkih diskova u jednom od podržanih RAID polja i mogu imati jedan ili više grupiranih FlexVolumens.

Zbog načina na koji je stvoren, NetApp Snapshot ne ovisi o količini aktivnog skupa podataka koji se treba preuzeti, tako da se snimka jednog ili više teratabala podataka izvodi u roku od nekoliko sekundi - bez prekida aplikacije!

Ono što je važno istaći je da se povećanjem broja Snapshot-ova istog seta podataka, ne mijenja ništa po pitanju pada performansi što je ujedno i glavna karakteristika koja razlikuje NetApp Snapshot tehnologiju od tehnologija koju koriste ostali proizvođači. Ovakvo kreiranje NetApp Snapshot-ova omogućeno je činjenicom da ONTAP, NetApp operativni system, ima vlastiti FILE system – WAFL (Write Anywhere File Layout) koji, kao i baze podataka, kreira pointere prema blokovima ali za razliku od baza podataka – NIKADA NE PREPISUJE BLOKOVE već modificirani blok upisuje na novo slobodno mjesto i ažurira pointer. Osim što je ova operacija izuzetno brza (jer nema nepotrebnog kopiranja podataka) ona je i prostorno efikasna jer se jedan blok može sadržati u stotinama Snapshot-ova, a biti upisan na samo jednom mjestu na disku.

Kako funkcionira NetApp Snapshot?

Na slici se vidi proces kreiranja dva NetApp Snapshota kroz vrijeme. Inače, tehnologija koju NetApp koristi za kreiranje Snapshot-ova naziva se RoW (Redirect on Write).

Na slici ispod se vidi aktivni file sistem (blokovi A, B i C)

Ta tri bloka uskladištena su na diskovima. U nekom trenutku kreiramo NetApp Snapshot (Snap1). Ovim postupkom smo kreirali file sa pointerima ka blokovima čime je proces kreiranja Snapshota završen. Kako u tom trenutku, tako i kasnije, ni jedan od blokova koji se sadrži u ovako kreiranom Snapshot-u neće biti prepisan ili izmenjen zbog toga što WAFL nikada ne prepisuje izmenjene blokove već ih smješta na novu, slobodnu lokaciju.

U sljedećem koraku (slika ispod) u aktivnom file sistemu dolazi do izmene bloka B koji postaje B1

Za razliku od drugih proizvođača, NetApp taj blok neće izmeniti na mestu na kome je originalno upisan, već će ga dopisati i promeniti pointer aktivnog file sistema sa bloka B na aktuelni blok B1. Snap1 ostaje nepromenjen i samim tim nema uticaja na performanse storage sistema.

U trećem koraku (slika ispod) kreiramo novi Snapshot koji u tom trenutku predstavlja sliku aktivnog file Sistema (Snap2)

Prilikom izvođenja ove operacije, više nema kopiranja blokova podataka, već samo stvaranje nove datoteke s pokazivačem koji predstavlja stvoreni Snapshot - Snap2. 

Kroz prikazani postupak možete vidjeti razliku između stvaranja NetApp Snapshots i ostalih proizvođača (COW Snapshots - Copy On Write). U slučaju promjene blok B u B1, nakon snimanja samo dva Snapshotova, prvo su učitali blok u memoriju, a zatim kopirali izvorni blok B u posebno rezervirani prostor nekoliko puta (onoliko puta koliko postoje snimke u kojima je blok sadržan - u našem slučaj na 2 mjesta, iako može biti stotina), a tek tada, u bloku B, blok B1 je prepisivan. Sve to zahtijeva umnožavanje IOPS-a onoliko puta koliko su Snapshots, i učinkovito dovodi do značajnog smanjenja performansi i slobodnog prostora uz povećanje broja Snapshotova. Takav način rada s snimkama zahtijeva drugi proizvođač jer nema ništa slično WAFL sustavu koji vodi brigu o tome gdje se blok piše, ali sama aplikacija izravno upravlja fizičkom pohranjivanjem blokova na sustavima za pohranu.

Veza sa ostalim NetApp softverskim rešenjima

NetApp Snapshot predstavlja polaznu osnovu većine naprednih ONTAP funkcionalnosti, i to: 

  • SnapRestore – trenutni oporavak file sistema iz Snapshota bez kopiranja podataka (upravo rad sa pointerima nam to omogućava)
  • FlexClone – kreiranje writable Snapshota u cilju razvoja ili testiranja produkcionih podataka bez dugotrajnog čekanja (zato što nema nepotrebnog kopiranja) i dodatnog zauzeća prostora
  • SnapMirror – softver za replikaciju podataka koji za osnovu koristi NetApp Snapshot te prenosi samo izmjenjene WAFL blokove veličine 4KB koje nađe kao različite usporedbom dva uzastopna Snapshota
  • SnapVault – softver za back up podataka na disaster recovery lokaciju koji za osnovu koristi NetApp Snapshot i back up-uje samo izmjenjene WAFL blokove veličine 4KB koje nađe kao različite usporedbom dva uzastopna Snapshota kreirana na svakih sat (ili više) vremena
  • SnapManager – skup NetApp softverskih alata koji osiguravaju konzistentan back up na nivou aplikacije (application consistent Snapshot), a koji su namjenjeni tradicionalnim aplikacijama poput SQL-a, Exchange-a, SAP-a, Oracle-a, SharePoint-a, VMware-a...
  • SnapProtect – softver namenjen back up-u i oporavku podataka sa integracijom tape uređaja (pored disk-to-disk backup funkcionalnosti koju posjeduje SnapVault), katalogizaciju Snapshot-ova, itd.