NetApp Snapshot

Vladimir Đorđević

Systems Engineer

vladimir.djordjevic@alef.com

NetApp Snapshot je patentirana tehnologija kreiranja full backup kopija aktivnih podataka, koja predstavlja read-only kopiju aktivnog seta podataka.

Kao funkcionalnost, Snapshot je integralni deo ONTAP operativnog sistema, instaliranog na FAS (hibridnim) i AFF (AllFlash) sistemima, ali i ONTAP Select i ONTAP Cloud proizvoda. 

NetApp Snapshot radi na nivou FlexVolumena ili NetApp agregata. FlexVolumen predstavlja logički kreiran fleksibilan kontejner podataka, obično grupisanih prema nameni (svi podaci jedne aplikacije – LUN-ovi ili podaci jednog file share-a, na primer). NetApp agregati su fizičke celine kreirane od velikog broja fizičih diskova u nekom od podržanih RAID nizova, a na sebi mogu imati jedan ili više grupisanih FlexVolumena.

Zbog načina na koji se kreira, NetApp Snapshot ne zavisi od količine aktivnog seta podataka koji se želi bekapovati, pa se Snapshot jednog ili više terabajta podataka obavlja u roku od nekoliko sekundi – bez prekida rada aplikacije!

Ono što je još važnije istaći je da se, sa povećanjem broja Snapshot-ova istog seta podataka, ne menja 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 sopstveni FILE system – WAFL (Write Anywhere File Layout) koji, kao i baze podataka, kreira pointere ka blokovima ali za razliku od baza podataka – NIKADA NE PREPISUJE BLOKOVE već izmenjeni blok upisuje na novo slobodno mesto i ažurira pointer. Pored toga š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 mestu na disku.

Kako funkcioniše NetApp Snapshot?

NetApp Snapshot

Na slici se vidi proces kreiranja dva NetApp Snapshota kroz vreme. 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 smešta na novu, slobodnu lokaciju. NetApp Snapshot 1

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

NetApp Snapshot 2 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 izvršenja ove operacije, ponovo nema kopiranja blokova podataka već samo kreiranje novog fajla sa pointerima koji predstavlja novokreirani Snapshot - Snap2. NetApp Snapshot 3

Kroz prikazani postupak vidi se razlika između kreiranja NetApp Snapshot-ova i onoga kako bi to uradili ostali proizvođači (COW Snapshots – Copy On Write). Oni bi u slučaju izmene bloka B u B1, nakon uzimanja samo dva Snapshota, prvo taj blok učitali u memoriju, zatim nekoliko puta kopirali originalni blok B u posebno rezervisan prostor (onoliko puta koliko ima Snapshot-ova u kojima je blok sadržan – u našem primeru na 2 mesta mada ih može biti na stotine) i tek onda, na mesto bloka B prepisali blok B1. Sve ovo zahteva multiplikovanje IOPSa onoliko puta koliko Snapshot-ova ima, te efektivno dovodi do značajnog smanjenja performansi i slobodnog prostora sa porastom broja Snapshot-ova. Takav način rada sa Snapshot-ovima je neophodan kod drugih proizvođača jer nemaju ništa slično WAFL sistemu, koji vodi računa o tome gde se koji blok zapisuje, već sama aplikacija direktno upravlja fizičkim smeštanjem blokova na diskove storage sistema.

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 izmenjene WAFL blokove veličine 4KB koje nađe kao različite poređenjem dva uzastopna Snapshota
  • SnapVault – softver za bekap podataka na disaster recovery lokaciju koji za osnovu koristi NetApp Snapshot i bekapuje samo izmenjene WAFL blokove veličine 4KB koje nađe kao različite poređenjem dva uzastopna Snapshota kreirana na svakih sat (ili više) vremena
  • SnapManager – skup NetApp softverskih alata koji obezbeđuju konzistentan backup na nivou aplikacije (application consistent Snapshot), a koji su namenjeni tradicionalnim aplikacijama poput SQL-a, Exchange-a, SAP-a, Oracle-a, SharePoint-a, VMware-a...
  • SnapProtect – softver namenjen bekapu i oporavku podataka sa integracijom tape uređaja (pored disk-to-disk backup funkcionalnosti koju poseduje SnapVault), katalogizaciju Snapshot-ova, itd.