Pozn.: Oblasti popisované v článku byly testovány ve verzi ONTAP 9.15.1P8. Článek se primárně zaměřuje na SAN svazky (Volumes) a Snapshoty na nich.
V článku Veeam Backup & Replication - Snapshot-Only Job a obnova ze Storage Snapshot jsme řešili orchestraci Snapshotů a obnovy ze strany Veeamu. Také jsme probrali některé pojmy a principy. Zde se podíváme na práci se Snapshoty přímo na úložišti se systémem NetApp ONTAP. Pro obnovu dat máme různé možnosti, ale všechny kroky musíme provést manuálně.
Technologie NetApp Snapshots
NetApp byla jedna z prvních společností (možná úplně první), která zavedla funkci efektivních Snapshotů pro úložiště (Storage Snapshot). Klíčovou výhodou NetApp Snapshotů je, že nemají žádný dopad na výkon a jsou vysoce škálovatelné. Efektivně využívají úložiště, protože místo zabírají pouze změněné bloky dat.
Snapshoty můžeme použít jak pro NAS svazky (souborový přístup - NFS export, SMB/CIFS share), tak pro SAN svazky (blokový přístup - LUN), případně také pro S3 bucket.
ONTAP Snapshots (snímky)
Snapshot označuje okamžité zachycení stavu systému nebo dat v určitém čase. NetApp popisuje Snapshot jako obraz svazku (Volume) v určitém časovém bodě (point-in-time), který je pouze pro čtení. Nedochází ke kopírování nebo duplikaci dat. Snapshoty nenahrazují zálohu.
WAFL a ukazatele
NetApp využívá svou technologii WAFL (Write Anywhere File Layout) pro vytváření Snapshotů s nízkou režií, které označuje jako Snapshot Copies. WAFL používá ukazatele na datové bloky na disku. Při zápisu nepřepisuje existující bloky, ale zapíše (aktualizovaná) data do nových (volných) bloků a změní ukazatele.
Snapshot obsahuje pouze ukazatele, které byly ve svazku v době pořízení Snapshotu (bloky obsažené ve Snapshotu jsou zamčené, při mazání originálních dat se neodstraní, ani nepřepíší). Vytvoření snapshotu je téměř okamžité, zabírá málo místa (pouze smazané nebo změněné bloky dat od jeho vytvoření) a nezatěžuje systém (nezpomaluje).
Volume Snapshot
Snapshoty vytváříme na úrovni FlexVol svazku (Flexible Volume). Ukládají se do svazku, ze kterého byly pořízeny (zabírají jeho prostor). Od ONTAP 9.4 jich můžeme vytvořit až 1023 pro jeden svazek. Nad FlexVol se teprve nachází protokolová vrstva (NFS, SMB/CIFS, FC/FCoE/iSCSI).
Snapshoty můžeme vytvářet manuálně nebo automaticky pomocí plánovače. Obvykle se využívá automatické odstraňování Snapshotů, které dosáhly určitého stáří. Snapshoty můžeme také replikovat na jiný NetApp systém, který může být v jiné geografické lokalitě.
Konzistence dat v Snapshotu
Když provedeme Snapshot SAN svazku, tak je Crash-consistent. Pokud chceme mít Snapshot v konzistentním stavu, tak musíme využít nějakou aplikaci s klientskou integrací. Může to být třeba NetApp SnapCenter nebo Veeam Backup & Replication pro VMware.
NetApp FlexClone
FlexClone, označuje se také jako virtuální kopie, je Snapshot s možností zápisu. Umožňuje okamžitě vytvořit zapisovatelnou kopii svazku, která sdílí datové bloky s rodičem. Využívá se pro testování, vývoj, analýzu nebo obnovu bez ovlivnění produkčních dat.
Můžeme klonovat FlexVol volume (vytvoří se Snapshot nebo se použije existující) nebo konkrétní Snapshot čímž vznikne FlexClone volume. Každý FlexClone je možné dále klonovat. FlexClone svazek lze kdykoliv oddělit od svého nadřazeného svazku pomocí funkce Split.
Pozn.: Technologii FlexClone můžeme také využít pro klonování souborů v NAS prostředí nebo LUNu v SAN prostředí.
NetApp nástroje a funkce
NetApp nabízí další nástroje pro spolupráci se Snapshoty, jako
- SnapCenter - centralizovaná správa záloh, integrace s aplikacemi (např. Exchange, SQL)
- SnapMirror - replikace dat mezi dvěma systémy NetApp
- SnapRestore - umožňuje rychlou obnovu celého svazku nebo jednotlivých souborů ze Snapshotu
- SnapVault - dlouhodobá záloha dat pomocí replikace snapshotů na sekundární úložiště
- SnapLock - zajištění neměnnosti dat (Immutability / WORM)
Využití Snapshotů k obnově dat
- obnova určitého souboru - v rámci NAS svazku můžeme jednoduše obnovit smazané nebo poškozené soubory z určitého Snapshotu, ty jsou dostupné v adresáři
.snapshotv daném Share (pokud je povoleno, tak je dostupné uživatelům) - obnova celého svazku (Volume Restore) - obnovení (vrácení) celého svazku do stavu Snapshotu, přepíše aktuální data svazku a je nevratný, existující Snapshoty zůstávají
- FlexClone Snapshotu - klonování vytvoří svazek, který můžeme připojit k serveru a vykopírovat data
Práce se Snapshoty v NetApp ONTAP
V novějších verzích systému ONTAP můžeme Snapshoty spravovat, jak přes CLI (Command Line Interface), tak přes GUI (Graphical User Interface) System Manager.
Ruční vytvoření a smazání Snapshotu
Snapshot můžeme v aktuálním čase velmi jednoduše a rychle vytvořit. Podobně můžeme existující Snapshot smazat, aniž by to ovlivnilo svazek nebo jiné Snapshoty.
ONTAP System Manager
- ONTAP System Manager
- Storage - Volumes - klikneme na požadovaný svazek
- přepneme se na záložku Snapshot copies
- vytvoření Snapshotu
- klikneme na Add
- zadáme název a klikneme Add

- smazání Snapshotu
- u vybraného Snapshotu klikneme na tři tečky vpravo a zvolíme Delete
- zatrhneme Delete snapshot copy a potvrdíme Delete

ONTAP CLI
volume snapshot create -vserver <vserver_name> -volume <volume_name> -snapshot <snapshot_name> volume snapshot delete -vserver <vserver_name> -volume <volume_name> -snapshot <snapshot_name>
Snapshot reserve
Na svazku můžeme nastavit procentuální rezervaci pro Snapshoty. O tuto velikost se zmenší prostor dostupný pro data. Tato část kapacity svazku je vyhrazena pro uložení změn způsobených Snapshoty. Jde o součást samotného svazku, data i Snapshoty se ukládají do aktivního souborového systému.
Pozn.: Pokud snapshot rezerva nestačí, tak Snapshoty začnou zabírat běžný datový prostor. Může dojít k zaplnění svazku. Máme také možnost zapnout automatické mazání Snapshotů při překročení Snapshot rezervy.
- ONTAP System Manager
- Storage - Volumes - u vybraného svazku klikneme na tři tečky vpravo a zvolíme Edit - Volume
- dole se nachází sekce Snapshot copies (local) settings
- pod Snapshot reserve % zadáme procentuální hodnotu rezervy, zobrazí se informace, kolik to představuje prostoru

Snapshot politiky a plánování Snapshotů
Snapshot Policy určují, kdy se mají snímky vytvářet, kolik kopií se má uchovávat a jak se mají pojmenovat. Pro určení, kdy se mají Snapshoty vytvářet, se využívá plán Snapshot Job Schedule. Můžeme kombinovat téměř libovolné varianty, jako běžné hodinové, denní, týdenní, ale i různé speciální. Dopředu jsou připraveny základní konfigurace.
Při vytváření nebo editaci svazku (Volume) můžeme zapnout plánování vytváření Snapshotů (Schedule Snapshot copies) a vybrat připravenou politiku. Podle plánu se budou automaticky Snapshoty vytvářet a staré mazat (po dosažení daného počtu).
ONTAP System Manager
Správa plánů (Schedules)
- ONTAP System Manager
- Protection - Overview - najdeme a rozbalíme sekci Local policy settings
- klikneme na šipku vedle panelu Schedules

Správa politik (Snapshot policies)
- ONTAP System Manager
- Protection - Overview - najdeme a rozbalíme sekci Local policy settings
- klikneme na šipku vedle panelu Snapshot policies

Nastavení politiky na svazek
- ONTAP System Manager
- Storage - Volumes - u vybraného svazku klikneme na tři tečky vpravo a zvolíme Edit - Volume
- dole se nachází sekce Snapshot copies (local) settings
- zatrhneme Schedule Snapshot copies a vybereme Snapshot Policy

ONTAP CLI
job schedule cron create ... volume snapshot policy create ... volume create ... volume modify ...
Informace o Snapshotech a jejich velikosti
Seznam Snapshotů vidíme u konkrétního svazku. Jednoduše lze zjistit, kolik celkově všechny Snapshoty zabírají kapacity v rámci daného svazku. Složitější je získání detailního přehledu o velikosti jednotlivých Snapshotů. Pro získání je často nutné využít příkazovou řádku (CLI). Prostřednictvím CLI lze zobrazit podrobnosti jako je velikost Snapshotu, rozdílová data (delta) nebo objem, který je možné uvolnit (reclaimable).
ONTAP System Manager
- ONTAP System Manager
- Storage - Volumes - klikneme na požadovaný svazek
- seznam Snapshotů
- přepneme se na záložku Snapshot copies
- obsazené místo
- na záložce Overview vidíme panel Capacity
- vidíme informace o svazku, obsazené místo, rezervu pro Snapshoty
- můžeme kliknout v horní části a zobrazí se detailnější přehled

ONTAP CLI
Informace o obsazení svazku. Vidíme, kolik zabírají Snapshoty.
AFF::> df -volume VMware_vol_02 Filesystem kbytes used avail capacity Mounted on Vserver /vol/VMware_vol_02/ 12777527708 11627695260 1149832448 91% --- svm-iscsi /vol/VMware_vol_02/.snapshot 2254857828 1057566280 1197291548 47% --- svm-iscsi 2 entries were displayed.
Kolik je volného místa v rezervaci pro Snapshoty.
AFF::> volume show -volume VMware_vol_02 -fields snapshot-reserve-available vserver volume snapshot-reserve-available --------- ------------- -------------------------- svm-iscsi VMware_vol_02 1.10TB
Seznam Snapshotů pro daný svazek a jejich velikost.
AFF::> volume snapshot show -volume VMware_vol_02
---Blocks---
Vserver Volume Snapshot Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm-iscsi
VMware_vol_02
VeeamSourceSnapshot.2025-05-23_1600 43.24GB 0% 0%
VeeamSourceSnapshot.2025-05-24_0000 71.50GB 0% 1%
VeeamSourceSnapshot.2025-05-24_0800 186.9GB 1% 2%
VeeamSourceSnapshot.2025-05-24_1600 60.24GB 0% 1%
VeeamSourceSnapshot.2025-05-25_0000 69.09GB 0% 1%
VeeamSourceSnapshot.2025-05-25_0800 1.18GB 0% 0%
6 entries were displayed.
Jaký prostor se uvolní, pokud odstraníme jeden nebo více Snapshotů. Příkaz provede výpočet. Hodnota může být menší než velikost Snapshotu. Některé bloky může sdílet více Snapshotů, takže se neodstraní při smazání jednoho Snapshotu.
AFF::> volume snapshot compute-reclaimable -vserver svm-iscsi -volume VMware_vol_02 -snapshots VeeamSourceSnapshot.2025-05-23_1600 A total of 1961984 bytes can be reclaimed.
Informace o rozdílu (počet bajtů, které se změnily) mezi dvěma Snapshoty nebo Snapshotem a aktivním systémem.
AFF::> volume snapshot show-delta -vserver svm-iscsi -volume VMware_vol_02 -snapshot1 VeeamSourceSnapshot.2025-05-23_1600 -snapshot2 VeeamSourceSnapshot.2025-05-25_0800 A total of 455055507456 bytes (111097536 blocks) are different. Elapsed time between the Snapshot copies: 1d 15h 59m 55s.
Obnova dat ze Snapshotu
Obnova souborů v prostředí NAS je jednoduchá a popsaná v dokumentaci Restore files from Snapshot. Zde se podíváme na obnovu v rámci SAN.
Obnova svazku ze Snapshotu
Návrat svazku do stavu Snapshotu. Tento krok přepíše aktuální data svazku a je nevratný.
ONTAP System Manager
- ONTAP System Manager
- Storage - Volumes - klikneme na požadovaný svazek
- přepneme se na záložku Snapshot copies
- u vybraného Snapshotu klikneme na tři tečky vpravo a zvolíme Restore

ONTAP CLI
volume snapshot restore -vserver <vserver_name> -volume <volume_name> -snapshot <snapshot_name>
Klonování svazku pomocí FlexClone
Ze Snapshotu můžeme vytvořit klon, který funguje jako standardní svazek (klonuje se také LUN). Můžeme jej připojit k serveru a přistoupit k datům na něm. Může jít třeba o VMware ESXi server, kde je možné zaregistrovat VM ze Snapshotu a obnovit data uvnitř VM.
Pozn.: FlexClone můžeme vytvořit přímo ze svazku, ale automaticky se vytvoří Snapshot, který se použije.
Postup kroků pro připojení k VMware
- na poli vytvoříme klon Snapshotu
- na poli namapujeme LUN k hostům (Map to initiator group)
- na ESXi serveru provedeme Rescan HBA
- na ESXi serveru přidáme Datastore (Storage - New Datastore), ke kterému připojíme VMFS svazek s novým podpisem (Resignature unresolved VMFS volume)
ONTAP System Manager
- ONTAP System Manager
- Storage - Volumes - klikneme na požadovaný svazek
- přepneme se na záložku Snapshot copies
- u vybraného Snapshotu klikneme na tři tečky vpravo a zvolíme Clone volume
- zadáme název a klikneme Clone

V seznamu svazků vidíme vytvořený klon a můžeme s ním standardně pracovat.

ONTAP CLI
volume clone create -vserver <vserver_name> -flexclone <clone_name> -parent-volume <source_volume> -parent-snapshot <snapshot_name>
To mi neda ... snapshot ktery neovlivnuje vykon je nesmysl, technicky nerealizovatelne. Vykon to ovlivnuje vzdy. Snapshot prece znamena, ze se prestane zapisovat do stavajicich dat, a nove zapisy miri do prazdneho prostoru. A to jaksi od prirody take znamena, ze cist se musi jak z tech nemodifikovanych tak z tech modifikovanych dat = automaticky vznika fragmentace.
Dokonce ani samotne vytvoreni snapshotu neni zadarmo, jakkoli typicky mnohem drazsi je jeho odstraneni. Jednoduse proto, ze pri zalozeni snapu staci pockat na dokonceni transakce, zatimco pri jeho odstranovani je treba vsechny pouzite bloky oznacit jako volne.
Presne proto (vykonostni dusledky) je nevhodne (a vrele nedoporucovane) na primarnim storage udrzovat snapy jakoukoli delsi dobu.
Nevim od kdy nabizi snapovani NetApp, ale treba EMC uz nejmene 15 let.
odpověď na [1]fd: Nejsem odborník na NetApp a nerad bych se dopustil nepřesnosti. Někdo od NetAppu by to určitě vysvětlil hned a jasně.
Ale celé to vychází z NetApp patentované technologie WAFL. Ta je založena na tom, že zapisuje data kamkoliv. Při modifikaci nepřepisuje data, ale zapíše do volného místa. Jako primární se využívají odkazy na bloky. A z toho vychází ten efektivní Snapshot. Minimálně dříve to ostatní výrobci dělali jinak a proto byly Snapshoty problém z pohledu výkonu.
Já jsem první prezentaci na NetApp viděl asi před 15 lety a již tehdy tam vysvětlovali tyto výhody. A myslím, že to měli již dlouho předtím.
odpověď na [2]Samuraj: Patentuje si leckdo lecos, toto je prosta fyzika. Ani na SSD neni seek zadarmo a tvrdit ze neco zadarmo je muze leda velmi blabolici PR.
"Ta je založena na tom, že zapisuje data kamkoliv." ... jiste, kamkoli kde je misto === fragmentace. Cim vice snapu na storage bude, tim vice fragmentace.
"Při modifikaci nepřepisuje data, ale zapíše do volného místa" === COW. To taky stoji nemalou cast vykonu a opet to generuje fragmentaci.
Ostatne BTRFS umi totez a na libovolnem HW. Pricemz je to zcela verejne, a tudiz pripadne opravitelne. A dovolim si dokonce tvrdit, ze spousta tech magickych a patentovanych technologii je prave vykradeny opensource. Ono to totiz dost casto vykazuje i presne stejne chyby.
odpověď na [3]fd: Nerad bych se pouštěl do dlouhých diskuzí ale WAFL určitě není COW ale ROW (redirect on write), srovnávat s BTRFS to jde možná lépe se ZFS ale právě spojení zároveň s RAID a NVRAM není v opensource řešeno nebo spíše nemůže když musí běžet na jakémkoliv HW. Stačí si přečíst obecně dostupné info jako je wiki k ONTAP nebo k WAFL. Ontap / WAFL vznikl někdy kolem 1991-2 a hlavní principy u WAFL už tam byly tenkrát. Snapshoty (většinou COW) umí většina výrobců storage od druhé poloviny 90tých let :-)