Pozn.: Popis v článku vychází z Veeam Backup & Replication 12.3.1, licencováno pomocí Veeam Universal License (VUL), tedy obdoba Enterprise Plus. Snaží se být obecný, ale v praxi vychází z úložiště NetApp ONTAP připojeného pomocí iSCSI. Práci se Snapshoty přímo v systému NetApp ONTAP popisuje článek NetApp ONTAP práce se Snapshoty.
Pozn.: Této oblasti se věnoval starší článek Veeam Backup & Replication - Backup from Storage Snapshot, který popisoval také další možnost Backup from Storage Snapshot. Tento článek detailněji rozebírá aktuální možnosti Snapshot-Only Jobs a obnovy ze Snapshotu.
Snapshots (snímky)
Snapshot označuje okamžité zachycení stavu systému nebo dat v určitém čase. Využívá se ukládání pouze změn (rozdílů), takže nezabírá plnou velikost dat a nejde o kopii dat. Standardně je pouze pro čtení. Umožňuje rychlý návrat do uloženého stavu nebo přístup ke starší verzi dat.
Snapshoty nenahrazují zálohu. Nacházejí se na stejném zařízení jako originální data a informace jsou uloženy pouze jednou. Takže při jeho poškození nebo smazání dochází ke ztrátě obojího. Přesto mohou být Snapshoty na úložišti vhodným doplňkem zálohování. Při určitých situacích nám umožní rychlou obnovu dat.
Snapshoty se používají na různých úrovních
Storage (úložiště)
- snapshot na úrovni diskového pole pro celý svazek (Volume/LUN), vhodné pro krátkodobé uchování
- výrobci úložišť používají vlastní technologie, které jsou dnes velmi rychlé a efektivní
- 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í), nezatěžuje systém (nezpomaluje)
- skládá se pouze z ukazatelů na bloky na disku, které byly ve svazku v době pořízení snapshotu (bloky obsažené ve Snapshotu jsou zamčené, při mazání se neodstraní, ani nepřepíší)
- často nabízejí další funkce jako replikaci, retenci, klonování nebo něco jako zapisovatelný snapshot
- v poslední době výrobci doplňují možnost nastavit na Snapshot Immutability (zamknout změny, WORM princip), jako ochranu před ransomwarem
- obvykle využívají principy copy-on-write nebo redirect-on-write
Virtualizace
- snapshot virtuálního stroje (VM) zachycuje stav VM včetně disku, konfigurace a případně paměti
- zmrazí aktuální stav disku, změny se zapisují do delta souboru
- před rizikovou operací lze vytvořit snapshot VM (v Hyper-V se označuje jako Checkpoint) a v případě problémů se rychle vrátit zpět
- dlouhodobý běh VM na snapshotu se nedoporučuje, může vést ke ztrátě výkonu a riziku datové nekonzistence
Operační (souborový) systém
- snapshot diskového svazku umožňuje zálohovat běžící systém v konzistentním stavu
- před vytvořením snapshotu se dokončí a pozastaví zápisové operace, vyprázdní cache a může dojít ke spolupráci s aplikacemi (např. SQL Server)
- může být File-system consistent (souborový systém je v konzistentním stavu) nebo Application-consistent (také aplikace jsou v konzistentním stavu)
- typickým příkladem je na Windows Volume Shadow Copy Service (VSS) a VSS Writers pro komunikaci s aplikacemi, nebo File System Freeze pro Linux
- ve virtualizaci (např. VMware) se VSS může spustit přes VMware Tools Quiescence při vytváření Snapshotu VM
Využití Snapshotů při zálohování
Při zálohování VM se vytváří dočasné Snapshoty. Stručný průběh je:
- pokud požadujeme aplikačně konzistentní zálohu, tak se provede Snapshot systému (typicky VSS Snapshot ve Windows)
- virtualizace (například VMware) provede Snapshot VM (zmrazí aktuální stav disku, změny se zapisují do delta souboru)
- Veeam provede zálohu dat z VM Snapshotu (může se využít CBT)
- odstraní se VM Snapshot (delta změny se sloučí zpět do hlavního disku)
Snapshot (potažmo záloha z něj provedená) může být v různém stavu:
- Crash-consistent - jako po výpadku napájení, zápisy mohou být nedokončené, může dojít k poškození souborů (a aplikačních dat), obsahuje všechny soubory na disku, bez čekajících I/O operací
- File-system consistent - jako po korektním vypnutí, souborový systém je v pořádku (ale aplikace nemusí být, třeba databáze může vyžadovat opravu), uzavřené soubory a dokončené zápisy na disk, obsahuje všechny soubory s posledními aktualizacemi, bez probíhajících transakcí
- Application-consistent - podporované aplikace jsou uvedeny do klidového stavu, dokončí transakce, vyprázdní cache a jsou připraveny k obnově bez oprav (na Windows se využívá VSS + VSS Writers), obsahuje všechna data ze stejného okamžiku v čase, včetně dokončených transakcí
Storage System Snapshot Integration
Veeam Backup & Replication se integruje se systémy úložišť a umožňuje práci se Snapshoty. Nabízí nativní podporu pro určité výrobce (a jejich systémy) pro NAS integraci nebo VMware a Veeam Agent integraci. Nebo umožňuje využít plugin a Universal Storage API. Seznam podporovaných zařízení nalezneme v Supported Features for Backup and Orchestration nebo System Requirements - Storage Systems.
Veeam Backup & Replication poskytuje následující typy integrace Snapshotů:
- VMware integration - záloha VMware vSphere VM ze Storage Snapshotu, provádění orchestrace Snapshotů (na primárním nebo sekundárním úložišti), obnova dat ze Snapshotů
- NAS integration - záloha NAS File Share ze Storage Snapshotu
- Veeam Agent for Microsoft Windows integration - záloha Windows počítače pomocí agenta ze Storage Snapshotu
Snapshot integrace umožňuje využít dvě vlastnosti:
- Snapshot-Only Jobs - zálohovací úloha, která provádí Snapshoty na úložišti a udržuje je podle nastavené retence, před vytvořením snapshotu může VMware VM uvést do konzistentního stavu
- Backup from Storage Snapshot - provede se Snapshot na úložišti a ten se využije jako zdroj zálohování (takže se méně zatěžuje virtuální infrastruktura a VM Snapshot je potřeba velmi krátkou dobu)
Bohužel Veeam Backup & Replication neumožňuje obecně spravovat Snapshoty (technicky by to problém nebyl). Patrně proto, že primární je možnost obnovy. K tomu je potřeba VMware integrace, takže nemůžeme využít pro svazky, které využívá Microsoft Hyper-V a další.
Jako chráněnou pracovní zátěž (Protected workload) můžeme vybrat určitá VM. Veeam zjistí na jakých VMware datastores jsou uložena a o jaké svazky (Volume) diskového pole jde. Pro ně provádí Snapshoty.
Add Storage System (přidání úložiště)
Abychom mohli pracovat se Snapshoty na úložišti, tak musíme přidat podporované zařízení do zálohovací infrastruktury. V příkladu pracujeme s úložištěm NetApp ONTAP.
- Veeam Backup & Replication Console
- Storage Infrastructure - Add Storage

- vybereme výrobce a model pole (NetApp - ONTAP)

- Name - zadáme DNS jméno nebo IP adresu správy úložiště a vybereme pro jaké typy zálohovacích úloh jej chceme využívat (v našem případě VMware)

- Credentials - vybereme nebo přidáme přístupové údaje k našemu úložišti (oprávnění jsou potřeba dost vysoká, pro ONTAP NetApp Data ONTAP/Lenovo Thinksystem DM Permissions, dá se řešit rolí admin), zvolíme protokol a port pro komunikaci s úložištěm
- Veeam se pokusí připojit k úložišti, pokud je zde nedůvěryhodný certifikát, dostaneme varování
- VMware vSphere - vybereme používané protokoly (v našem případě iSCSI), můžeme vybrat pouze určité svazky, které se mají skenovat (Rescan), Veeam stejně pracuje pouze s VMware (VMFS LUN), takže ostatní nejsou potřeba a prodlužují skenování

Rescan storage / volume (Storage Discovery)
Po přidání nového úložiště se defaultně spustí Rescan. Ten můžeme také spustit ručně a probíhá pravidelně automaticky.
Rescan, který v logu vidíme jako úlohu Storage discovery, zjistí informace o
- úložišti a jeho svazcích, LUNech, Snapshotech apod.
- zda má Proxy Direct Storage Access a je možno využít Backup from Storage Snapshot pro iSCSI/NFS/SMB
- spáruje vCenter/ESXi datastores se svazky (LUNs/share files) na úložišti
- vytvoří seznam VM umístěných na datastores a ve Snapshotu příslušných svazků
Při operaci Rescan se načítají existující Snapshoty na daném svazku. To znamená, že se zobrazí i Snapshoty, které byly vytvořeny přímo na straně úložiště, mimo Veeam. Stejně tak snapshoty, které byly na úložišti odstraněny, se z Veeamu při tomto procesu odstraní. Pokud daný svazek neslouží jako VMware datastore, Snapshot se ve Veeamu zobrazí, ale neuvidíme žádná VM.
Při Rescan se také načítají všechna VMware VM, která se na Snapshotech nachází. Takže i v případě, že do úlohy vložíme pouze jedno VM, se objeví všechna existující.
Snapshot-Only Job
Naplánovat automatické vytváření Snapshotů svazku (Volume) můžeme přímo na úložišti. Pro svazky, které slouží jako VMware datastore, to můžeme provést ve Veeam Backup & Replication. Slouží k tomu úloha označovaná jako Snapshot-Only Job, která podle plánu vytváří nové Snapshoty a odstraňuje ty, které jsou mimo retenci. Podle nastavení úlohy mohou být Snapshoty Application Consistent nebo Crash-consistent.
Vytvoření Snapshot-Only Job
Jde o standardní zálohovací úlohu pro VMware, kde jako Repository zvolíme Snapshot určitého pole. Pokud to naše zařízení podporuje, tak můžeme také konfigurovat replikaci na sekundární úložiště (Secondary Target) a Immutability.
- Veeam Backup & Replication Console
- Home - Backup Job - Virtual Machine - VMware vSphere
- Name - zadáme unikátní jméno, případně také popis
- Virtual Machines - přidáme virtuální počítače jejichž disky jsou na úložištích, kde chceme provádět Snapshot, můžeme přidat celý Datastore, čímž se přidají všechna VM, která na něm mají disk, při přidání VM musíme zvážit dopad na licence, pouze pro přidaná VM můžeme provádět konzistentní zálohu, ale dostupná pro obnovu jsou všechna VM na svazku

- Storage - jako Backup repository zvolíme například ONTAP Snapshot (Primary storage snapshot only), zadáme Retention Policy, kolik Snapshotů se má udržovat, pod Advanced můžeme upravit notifikace, zapnout VMware Tools quiescence, spouštět nějaký skript

- Guest Processing - můžeme provádět aplikačně konzistentní zálohu pomocí Veeam služeb
- Schedule - můžeme naplánovat pravidelné spouštění úlohy (druhá možnost je spouštět ručně)
Pozn.: Když přidáme jednotlivá VM, tak se provádí Snapshot celého svazku, kde mají uložené disky. Může jít o více svazků, ale musí být stejného výrobce a modelu.

Licencování
Veeam standardně používá licencování instancí, kdy každá chráněná pracovní zátěž (protected workload) potřebuje licenci (VUL). Zdroj dat, který byl zpracován v posledních 31 dnech, je považován za chráněný. Typicky zálohované VM potřebuje jednu VUL.
V dokumentaci se také dočteme, že VM zpracovávané pomocí Snapshot-Only Job je považováno za chráněné VM a spotřebuje instanci licence. Tedy všechna VM přidaná do úlohy spotřebují licenci, pokud je již nezálohujeme jinou úlohou (jedno VM může spotřebovat pouze jednu licenci).
Mám potvrzeno následující. Snapshot se bere jako Restore Point, licenci spotřebovává pouze VM přidané do úlohy. Pro tato VM můžeme provádět konzistentní zálohu. Během operace Rescan se načtou všechna VMware VM, která se na Snapshotech nachází. Následně můžeme využít Veeam pro obnovu dat ze všech těchto VM.
Speciální situace a spotřeba licencí
Při testování Snapshot-Only Job ve Veeam Backup & Replication jsem narazil na zajímavé chování související s licencováním. Vytvořil jsem úlohu, do které jsem přidal celý datastore, výsledkem byl Snapshot a úloha obsahující všechna VM na daném svazku. Veeam započítal licenci pro každé VM, které bylo na Snapshotu detekováno.
Smazal jsem úlohu a Snapshot, počet spotřebovaných licencí se vrátil zpět (stačilo by smazat Snapshot). Vytvořil jsem novou úlohu pouze s jedním VM. Jakmile proběhl Rescan, byla opět započtena licence pro všechna VM na svazku, i když úloha obsahovala pouze jedno z nich.
Myslel jsem, že jde o chybu, ale Veeam podpora vysvětlila, co se děje:
- při běhu první úlohy vznikl záznam v DB o všech VM s aktuální hodnotou
last_processed_date - při smazání Snapshotu (a úlohy) tento záznam zůstává
- po běhu druhé úlohy se ve Snapshotu detekují všechna VM, je pro ně nalezen záznam s datem mladším než 30 dní, započítá se licence (i když VM není v úloze)
- při běhu druhé úlohy se aktualizuje záznam v DB (datum posledního zpracování) pouze pro jedno VM (které je součástí úlohy)
- pokud uplyne měsíc, tak se přestane počítat licence pro VM, která byla pouze v první úloze
Existuje i rychlé řešení situace. Pokud se po běhu úlohy započítají licence pro VM, který již v úloze nejsou, tak můžeme licenci těmto VM odebrat. To způsobí reset hodnoty last_processed_date na 01.01.1900.
- Main menu - License - Instances - Manage - Revoke
Podpora Veeam funguje velmi dobře. Poradili mi také pěkný způsob, jak zjistit datum posledního zpracování z databáze pomocí PowerShell a SQL dotazu.
Invoke-Sqlcmd -ServerInstance localhost\VEEAMSQL2016 -Database VeeamBackup ` -Query "select li.instance_id InstanceID, bosi.display_name VM_Name, li.registration_time, li.last_processing_time from [dbo].[Licensing.LicensedInstances] li join BObjectsSensitiveInfo bosi on bosi.bObject_id = li.instance_id order by bosi.display_name" | Format-Table | Out-File C:\Temp\instances.log
Obnova dat ze Storage Snapshotu
Velká výhoda je, že Veeam Backup & Replication umožňuje obnovit data virtuálních počítačů VMware přímo ze Snapshotů úložiště. Celý proces je plně automatizovaný a řízený Veeamem, takže není potřeba provádět žádné ruční zásahy na straně úložiště nebo virtualizační platformy.
Při obnově se běžně využívá kopie Volume Snapshotu, která je zapisovatelná. Připojí se k ESXi serveru a ten může aktualizovat metadata. Původní Snapshot je zachován beze změn.
Podporované metody obnovy dat jsou
- Instant Recovery (VMware VM)
- Instant Disk Recovery
- Restore Guest Files
- Restore Application Items
Průběh obnovy ze Snapshotu
- zpřístupní se Snapshot z úložiště vybranému ESXi serveru (provede klon Snapshotu, připojí LUN k ESXi serveru)
- na ESXi serveru se provede HBA rescan, připojí Datastore, hledá soubory VM, registruje VM
- provedou se operace obnovy dat
- po dokončení dojde k úklidu a vše se odstraní (odregistruje VM, odpojí Volume, LUN, smaže klon Snapshotu)

Pozn.: V průběhu obnovy se můžeme podívat na VMware vSphere, kde uvidíme nové VM s naším názvem doplněným o ID a připojený datastore jehož jméno začíná snap. Na diskovém poli uvidíme nový Volume (pravděpodobně spotřebuje trochu volného místa).
Obnova souborů (Restore Guest Files)
Pozn.: Jako příklad si popíšeme obnovu souborů z Windows VM. Ostatní možnosti jsou podobné.
Storage Snapshoty, které Veeam zná (vytvořil je nebo naskenoval z úložiště), nalezneme v
- Veeam Backup & Replication Console
- Home - Backups - Snapshots
Nachází se zde seznam svazků (Storage Volumes), na kterých se nachází Snapshot obsahující VMware VM. Identifikace je názvem svazku a v závorce název VMware datastore. Ve sloupci Repository vidíme název úložiště. Po rozkliknutí se zobrazí seznam VM a počet Restore Points (tedy Snapshotů, v kterých VM existuje).
- klikneme pravým tlačítkem na VM, pro Windows VM zvolíme Restore guest files - Microsoft Windows

- spustí se průvodce File Level Restore
- Restore Point - vybereme Snapshot pro obnovu

- Staging Host - na jakém ESXi serveru a s jakými parametry se má registrovat
- tlačítkem Browse se spustí Veeam Backup Browser, disk se připojí na Mount server (nastavený u úložiště)

Storage Infrastructure
Různé informace se dozvíme v pohledu Storage Infrastructure. Můžeme zde také manuálně vytvořit Snapshot, provést Rescan storage / volume, smazat Snapshot a také spustit obnovu z VM.
- Veeam Backup & Replication Console
- Storage Infrastructure - hierarchie (výrobce, úložiště apod) - svazky
- po otevření svazku vidíme seznam existujících Snapshotů
- po otevření Snapshotu vidíme seznam VMware VM
- VM, která byla zpracována úlohou Snapshot-Only Job, mají ve sloupci Protected by název úlohy

Zatím zde nejsou žádné komentáře.