Používám MS Azure poměrně ve velkém, hlavně Linux VM. Mám k nim samozřejmě i kopec disků, protože systémový disk není vhodné používat na data. Ať už kvůli rychlosti nebo velikosti, která u Linuxových distribucí činí 30GB. Klasické zálohování dat je samozřejmě potřeba, ale někdy je proces obnovy příliš komplikovaný nebo pomalý a tak přichází na řadu snapshoty. Hodí se například před upgradem databáze 🙂
Následující postup je platný pro Azure xplat CLI, což je nástroj pro ovládání Azure v Linuxu či Macu.
Aby byl snapshot konzistentní, je nutné ho provést s vypnutým VM. Také pokud používáme LVM na více discích nebo je máme spojené přes Raid0, je nutné VM vypnout, protože jinak se nám nepovede udělat snapshot všech disků v jednu chvíli a tím si rozbijeme LVM/Raid pole a filesystém na něm.
Postup:
1. vypneme VM
2. zjistíme si AccountKey pro daný storage account:
azure storage account connectionstring show nazev_storage_uctu -g nazev_resource_group
3. vylistujeme si seznam disků v daném storage accountu, k tomu potřebujeme AccountKey
azure storage blob list -a nazev_storage_uctu -k zde_vlozte_accountkey --container vhds
4. vytvoříme snapshot:
azure storage blob snapshot --container vhds -b nazev_blobu.vhd -k zde_vlozte_accountkey -a nazev_storage_uctu
Tím máme hotov snapshot a můžeme pustit VM. Co ale v případě, že potřebujeme provést obnovu ze snapshotu? Kroky 1, 2, 3 jsou shodné. Pak je potřeba provést detach původního disku a jeho přepis snapshotem.
5. detach disku
azure vm disk detach -g nazev_resource_group -n nazev_vm -l cislo_disku
6. provedeme přepis disku snapshotem. Zde pozor! Název snapshotu je shodný s názvem blobu/disku a odlišuje ho jen čas vytvoření, který u disku není uveden!
azure storage blob copy start -a nazev_storage_uctu -k zde_vlozte_accountkey --source-blob nazev_zdrojoveho_blobu.vhd --snapshot cas_snapshotu --dest-blob nazev_blobu.vhd
7. proběhlo zkopírování obsahu snapshotu na cílový disk a nyní již stačí opět původní disk připojit a spustit VM
azure vm disk attach -g nazev_resource_group -n nazev_vm -d https://nazev_storage_uctu.blob.core.windows.net/vhds/nazev_blobu.vhd
A je to 🙂
Už dlouho si sem nic nového nepřidal? Není nic zajímavého, nebo jen nestíháš? 🙂