Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzeNásledující verzeObě strany příští revize | ||
navody:vps:datasety [2015/08/03 09:22] – petr | navody:vps:datasety [2017/02/12 14:18] – Snapshoty na NASu jdou mazat z webui Aither | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | < | ||
====== Datasety ====== | ====== Datasety ====== | ||
+ | Dataset je pojem ze souborového systému ZFS, který všude používáme. Můžeme si ho představit jako | ||
+ | naformátovaný oddíl na disku s adresáři a soubory, popř. na podobném principu | ||
+ | fungují // | ||
- | Dataset ve vpsAdminu reprezentuje přímo ZFS dataset na disku. | + | Dataset ve vpsAdminu reprezentuje přímo ZFS dataset na disku. |
- | se používají na data VPS i NAS. Koncept | + | Datasety |
- | NASu. S datasetem | + | jen se zobrazují na různých místech (detaily VPS a menu NAS). |
+ | S datasety | ||
+ | mountovat je do různých VPS, apod. Tyto operace jsou popsány níže. | ||
{{: | {{: | ||
Řádek 19: | Řádek 25: | ||
případů je nemusíte vůbec řešit. | případů je nemusíte vůbec řešit. | ||
- | Rozdíl mezi datasety VPS a NASu je v nastavování kvóty. Pro datasety VPS | + | Rezervovaná jména datasetů jsou: '' |
- | se používá refquota - místo zabrané snapshoty není zahrnuto. Datasety | + | |
- | NASu naopak quota - místo zabrané snapshoty je zahrnuto. vpsAdmin | + | |
- | automaticky nabízí správný typ kvóty. | + | |
- | + | ||
- | Rezervovaná jména datasetů jsou: private, vpsadmin, branch-*, tree.*. | + | |
Tyto názvy nelze použít. | Tyto názvy nelze použít. | ||
+ | |||
+ | ===== Velikost datasetů a zabrané místo ===== | ||
+ | V seznamu datasetů se zobrazují tři sloupečky: //Used space//, // | ||
+ | a //Available space//. //Used space// zahrnuje místo zabrané datasetem, jeho snapshoty | ||
+ | i všemi potomky. // | ||
+ | snapshoty ani subdatasety se nepočítají. | ||
+ | |||
+ | //Available space// zobrazuje volné místo v aktuální datasetu s ohledem na nastavenou kvótu. | ||
+ | |||
+ | ===== Kvóty datasetů ===== | ||
+ | Pro datasety VPS se používá //Reference quota// - místo zabrané snapshoty | ||
+ | a subdatasety není zahrnuto. Datasety NASu naopak //Quota// - místo zabrané | ||
+ | snapshoty a subdatasety je zahrnuto. vpsAdmin automaticky dle kontextu nabízí správný typ kvóty. | ||
+ | |||
+ | U VPS nechceme, aby se do zabraného místa počítalo | ||
+ | místo zabrané snapshoty, protože by se zmenšila velikost disku VPS, o tolik, | ||
+ | kolik dat je změněno mezi vytvořenými snapshoty. | ||
+ | Každý dataset je samostatný a nesdíli místo s nadřazenými datasety, ani se | ||
+ | svými potomky. | ||
+ | |||
+ | Naopak na NASu je použita property quota a do té se počítá místo zabrané | ||
+ | snapshoty i subdatasety. Pokud se na NASu udělají snapshoty, budou | ||
+ | ubírat místo z celkové velikosti. Taky je jedno, že subdatasetu na NASu lze | ||
+ | dat větší kvótu, než má uživatel k dispozici, protože se stejně uplatní kvóta | ||
+ | z datasetu nejvyšší úrovně, tzn. ve výchozím stavu 250 GB. | ||
+ | |||
+ | Z toho vyplývá, že k vytvoření subdatasetu VPS musí být nejdříve uvolněno místo, tzn. | ||
+ | nějaký jiný (sub)dataset VPS musí být zmenšen minimálně o 10 GB. Na NASu záleží jen na kvótě nejvýše | ||
+ | postaveného datasetu a kvóty subdatasetů můžou být libovolné. | ||
===== Snapshoty ===== | ===== Snapshoty ===== | ||
- | Zálohování probíhá pomocí ZFS snapshotů, které jsou vidět v menu | + | Při vytvoření snapshotu se uchová obraz všech dat v datasetu, tak jak v tu chvíli vypadají. |
- | Backups. Tam je možné je také vytvářet | + | Když tedy data po vytvoření snapshotu změníme nebo smažeme, vždy se k nim |
+ | můžeme vrátit. Ze snapshotu můžeme data libovolně [[# | ||
+ | celý dataset [[# | ||
+ | o všechny data (změny), které | ||
+ | |||
+ | Snapshoty | ||
{{: | {{: | ||
Řádek 36: | Řádek 71: | ||
Zálohování VPS probíhá tak, že každý den v 01:00 se v rámci jednoho node | Zálohování VPS probíhá tak, že každý den v 01:00 se v rámci jednoho node | ||
udělá snapshot všech datasetů najednou. Poté jsou snapshoty přesunuty na | udělá snapshot všech datasetů najednou. Poté jsou snapshoty přesunuty na | ||
- | backuper.prg. | + | backuper.prg. Snapshoty uchováváme po dobu 14 dnů, starší se mažou. K tomu je možné |
+ | si vytvořit 6 snapshotů navíc pro vlastní potřebu. Vytvořené snapshoty VPS však nelze libovolně | ||
+ | mazat, je nutné počkat, až se samy odrotují v rámci denních záloh. | ||
Pozor! NAS **není zálohován** na backuper.prg. Snapshoty jsou | Pozor! NAS **není zálohován** na backuper.prg. Snapshoty jsou | ||
pouze lokální a slouží jen jako ochrana proti nechtěnému smazání či poškození dat. | pouze lokální a slouží jen jako ochrana proti nechtěnému smazání či poškození dat. | ||
+ | |||
+ | ==== Mazání snapshotů ==== | ||
+ | Mazat jdou jen snapshoty z NASu. U snapshotů VPS je nutné počkat, až se samy odrotují v rámci | ||
+ | denních záloh. | ||
===== Mounty ===== | ===== Mounty ===== | ||
- | Mounty | + | Mounty |
i snapshoty. Do jakékoliv VPS jde mountnout jakýkoliv dataset či | i snapshoty. Do jakékoliv VPS jde mountnout jakýkoliv dataset či | ||
snapshot. Mounty jednotlivých snapshotů nahrazují trvalý mount záloh do | snapshot. Mounty jednotlivých snapshotů nahrazují trvalý mount záloh do | ||
Řádek 54: | Řádek 95: | ||
Nedoporučuji mountpointy zanořovat v nesprávném pořadí. Situace, kdy | Nedoporučuji mountpointy zanořovat v nesprávném pořadí. Situace, kdy | ||
- | dataset ' | + | dataset |
{{: | {{: | ||
- | Mount lze pouze vytvořit a smazat. Nelze jej v průběhu jen tak odpojit | + | Mount lze dočasně odpojit |
- | znovu připojit. | + | perzistentní mezi restarty VPS. |
===== Obnova záloh ===== | ===== Obnova záloh ===== | ||
- | Obnovení VPS ze zálohy (snapshotu) funguje stejně, jako doposud. | + | Obnova vždy funguje na úrovni datasetu. Když má VPS subdatasety a rootfs je |
- | vždy funguje na úrovni datasetu. Když má VPS subdatasety a rootfs je | + | |
obnoven ze zálohy, subdatasety obnoveny nejsou. Tzn. je možno obnovit | obnoven ze zálohy, subdatasety obnoveny nejsou. Tzn. je možno obnovit | ||
- | jakýkoliv dataset, aniž by to mělo vliv na ostatní datasety. Při obnově | + | jakýkoliv dataset, aniž by to mělo vliv na ostatní datasety. |
- | jsou všechny snapshoty zachovány, díky větvení záloh na backuperu. | + | |
NAS je možné snapshotovat pouze **manuálně**. Jelikož ale není zálohován na | NAS je možné snapshotovat pouze **manuálně**. Jelikož ale není zálohován na | ||
Řádek 78: | Řádek 117: | ||
===== Stahování záloh ===== | ===== Stahování záloh ===== | ||
- | Stahování snapshotů je nyní součástí vpsAdminu. Vygenerované archivy | + | Zálohy můžeme stahovat buď přes webové rozhraní nebo [[navody: |
- | jsou vidět v menu Backups → Downloads. Odkazy | + | CLI má výhodu v tom, že nemusíme čekat na e-mail s odkazem na stažení zálohy, |
+ | ale stahujeme ihned, připadně jde celý proces automatizovat. Můžeme stáhnout buď | ||
+ | tar.gz archiv, nebo přímo ZFS data stream (i inkrementálně). | ||
+ | |||
+ | ==== Inkrementální zálohy ==== | ||
+ | |||
+ | Inkrementální záloha obsahuje pouze změněná data od předchozího snapshotu. | ||
+ | Aby klient dokázal vyhodnotit, které snapshoty lze stahovat inkrementálně, | ||
+ | každý snapshot obsahuje // | ||
+ | identifikátorem mohou být přeneseny inkrementálně. Tok historie naruší reinstalace | ||
+ | VPS nebo obnova ze zálohy, poté je identifikátor historie navýšen o 1 a | ||
+ | znovu se musí stáhnout plná záloha. | ||
+ | |||
+ | Identifikátor historie je znázorněn v tabulce se seznamem snapshotů v menu Backups. | ||
+ | |||
+ | ==== Stažení zálohy do souboru ==== | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl snapshot download --help | ||
+ | snapshot download [SNAPSHOT_ID] | ||
+ | |||
+ | Command options: | ||
+ | -f, --format FORMAT | ||
+ | -I, --from-snapshot SNAPSHOT_ID | ||
+ | -d, --[no-]delete-after | ||
+ | -F, --force | ||
+ | -o, --output FILE Save the download to FILE | ||
+ | -q, --quiet | ||
+ | -r, --resume | ||
+ | -s, --[no-]send-mail | ||
+ | -x, --max-rate N | ||
+ | --[no-]checksum | ||
+ | </ | ||
+ | |||
+ | Není-li ID snapshotu předáno programu jako argument, interaktivně se na něj | ||
+ | zeptá: | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl snapshot download | ||
+ | Dataset 14 | ||
+ | (1) @2015-12-04T00: | ||
+ | VPS #198 | ||
+ | (2) @2015-12-01T09: | ||
+ | (3) @2015-12-01T09: | ||
+ | (4) @2015-12-01T11: | ||
+ | (5) @2015-12-01T11: | ||
+ | (6) @2015-12-01T11: | ||
+ | (7) @2015-12-01T11: | ||
+ | (8) @2015-12-01T12: | ||
+ | (9) @2015-12-01T12: | ||
+ | (10) @2015-12-01T12: | ||
+ | (11) @2015-12-01T12: | ||
+ | (12) @2016-02-29T09: | ||
+ | (13) @2016-02-29T10: | ||
+ | (14) @2016-02-29T10: | ||
+ | Pick a snapshot for download: | ||
+ | |||
+ | </ | ||
+ | |||
+ | Budeme stahovat 4. snapshot ('' | ||
+ | |||
+ | < | ||
+ | Pick a snapshot for download: 4 | ||
+ | The download is being prepared... | ||
+ | Downloading to 198__2015-12-01T12-25-56.tar.gz | ||
+ | Time: 00:01:37 Downloading 0.3 GB: [=====================================================================================] 100% 992 kB/s | ||
+ | </ | ||
+ | |||
+ | Přepínačem '' | ||
+ | stream, nebo inkrementální data stream. Ve výchozím stavu dojde ke stažení | ||
+ | tar.gz archivu. | ||
+ | |||
+ | Soubor můžeme buď nechat pojmenovat vpsAdminem | ||
+ | ([[https:// | ||
+ | nebo si zvolit vlastní umístění pomocí přepínače '' | ||
+ | '' | ||
+ | |||
+ | Program umožňuje stáhování přerušit (třeba '' | ||
+ | navázat. Pokud není použit přepínač '' | ||
+ | program se uživatele zeptá, jestli má pokračovat ve stahování, | ||
+ | znovu. | ||
+ | |||
+ | < | ||
+ | Stahování | ||
+ | nebyl smazán (přepínač '' | ||
+ | stahování. | ||
+ | </ | ||
+ | |||
+ | ==== ZFS data stream ==== | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl | ||
+ | snapshot send SNAPSHOT_ID | ||
+ | |||
+ | Command options: | ||
+ | -I, --from-snapshot SNAPSHOT_ID | ||
+ | -d, --[no-]delete-after | ||
+ | -q, --quiet | ||
+ | -s, --[no-]send-mail | ||
+ | -x, --max-rate N | ||
+ | --[no-]checksum | ||
+ | </ | ||
+ | |||
+ | Rozdíl oproti '' | ||
+ | stdout a to v nekomprimované formě, abychom ho mohli propojit přimo se | ||
+ | '' | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl snapshot send <id> | zfs recv -F < | ||
+ | </ | ||
+ | |||
+ | Inkrementální data stream lze vyžádat přepínačem '' | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl snapshot send <id2> -- --from-snapshot <id1> | zfs recv -F < | ||
+ | </ | ||
+ | |||
+ | ==== Automatizované stahování záloh ==== | ||
+ | |||
+ | Automatizované stahování záloh řeší příkazy '' | ||
+ | '' | ||
+ | a druhý ID datasetu. | ||
+ | |||
+ | Tyto příkazy vyžadují nainstalované ZFS, vytvořený zpool a práva roota. | ||
+ | Program lze spustit buď přímo pod rootem, nebo bude za běhu používat sudo. | ||
+ | |||
+ | Při spuštění se stáhnou snapshoty s aktuálním identifikátorem historie, které | ||
+ | ještě lokálně neexistují, | ||
+ | inkrementální přenos, program musí najít snapshot, který je přitomen lokálně a | ||
+ | zároveň je na serveru. Z toho vyplývá, že je potřeba zálohy stahovat minimálně | ||
+ | jednou za 14 dní, protože poté bude náš nejnovější lokální snapshot smazán ze | ||
+ | serveru a program nebude schopen pokračovat ve stahování záloh -- nebude existovat | ||
+ | žádný společný snapshot. | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl backup vps --help | ||
+ | backup vps [VPS_ID] FILESYSTEM | ||
+ | |||
+ | Command options: | ||
+ | -p, --pretend | ||
+ | -r, --[no-]rotate | ||
+ | -m, --min-snapshots N Keep at least N snapshots (30) | ||
+ | -M, --max-snapshots N Keep at most N snapshots (45) | ||
+ | -a, --max-age N Delete snapshots older then N days (30) | ||
+ | -x, --max-rate N | ||
+ | -q, --quiet | ||
+ | -s, --safe-download | ||
+ | --retry-attemps N Retry N times to recover from download error (10) | ||
+ | -i, --init-snapshots N | ||
+ | --[no-]checksum | ||
+ | -d, --[no-]delete-after | ||
+ | --no-snapshots-as-error | ||
+ | --[no-]sudo | ||
+ | </ | ||
+ | |||
+ | Pokud program nedostane ID VPS/ | ||
+ | zeptá, nebo se pokusí jej zjistit sám. Argument '' | ||
+ | vždy. Měl by obsahovat jméno datasetu, do kterého chceme zálohy ukládat. | ||
+ | |||
+ | <note warning> | ||
+ | První argument programu je **ID VPS/ | ||
+ | datasetu matoucí, jelikož ID není stejné jako název datasetu, ale obojí | ||
+ | většinou | ||
+ | </ | ||
+ | |||
+ | Než program spustíme na ostro, může se hodit přepínač '' | ||
+ | nám vypíše, co by program udělal, tedy jaké snapshoty by stáhnul a případně | ||
+ | smazal. | ||
+ | |||
+ | Přepínačem '' | ||
+ | uvolnilo místo pro ty nové. Nezměníme-li další nastavení, budeme mít minimálně | ||
+ | 30 snapshotů (což aktualně znamená 30 denní historii), maximálně 45 snapshotů | ||
+ | (pokud si nějaké vytvoříme manuálně) a budou se mazat snapshoty starší nez 30 | ||
+ | dní. | ||
+ | |||
+ | Obsah datasetu '' | ||
+ | neměl vytvářet další subdatasety/ | ||
+ | subdatasetech, | ||
+ | |||
+ | === Ukázka použití === | ||
+ | |||
+ | < | ||
+ | $ vpsfreectl backup vps storage/ | ||
+ | (1) VPS #198 | ||
+ | (2) VPS #199 | ||
+ | (3) VPS #202 | ||
+ | Pick a dataset to backup: 2 | ||
+ | Will download 8 snapshots: | ||
+ | @2016-03-07T18: | ||
+ | @2016-03-07T18: | ||
+ | @2016-03-07T18: | ||
+ | @2016-03-10T10: | ||
+ | @2016-03-10T10: | ||
+ | @2016-03-10T11: | ||
+ | @2016-03-10T14: | ||
+ | @2016-03-10T14: | ||
+ | |||
+ | Performing a full receive of @2016-03-07T18: | ||
+ | The download is being prepared... | ||
+ | Time: 00:00:56 Downloading 0.3 GB: [====================================================================================] 100% 1755 kB/s | ||
+ | Performing an incremental receive of @2016-03-07T18: | ||
+ | The download is being prepared... | ||
+ | Time: 00:00:00 Downloading 0.0 GB: [=======================================================================================] 100% 0 kB/s | ||
+ | </ | ||
+ | |||
+ | Můžeme si všimnout, že program stáhne první snapshot v plné velikosti a | ||
+ | všechny další pak inkrementálně. | ||
+ | |||
+ | Seznam snapshotů vypíšeme pomocí '' | ||
+ | < | ||
+ | $ sudo zfs list -r -t snapshot storage/ | ||
+ | NAME | ||
+ | storage/ | ||
+ | storage/ | ||
+ | storage/ | ||
+ | storage/ | ||
+ | storage/ | ||
+ | storage/ | ||
+ | storage/ | ||
+ | storage/ | ||
+ | </ | ||
+ | |||
+ | K vlastním datům se lze dostat přes speciální adresář '' | ||
+ | < | ||
+ | $ ls -1 / | ||
+ | 2016-03-07T18: | ||
+ | 2016-03-07T18: | ||
+ | 2016-03-07T18: | ||
+ | 2016-03-10T10: | ||
+ | 2016-03-10T10: | ||
+ | 2016-03-10T11: | ||
+ | 2016-03-10T14: | ||
+ | 2016-03-10T14: | ||
+ | </ | ||
+ | |||
+ | K pravidelnému stahování záloh se dá použít cron. Zápis | ||
+ | takto: | ||
+ | |||
+ | < | ||
+ | MAILTO=tvuj@mail | ||
+ | |||
+ | # Example of job definition: | ||
+ | # .---------------- minute (0 - 59) | ||
+ | # | .------------- hour (0 - 23) | ||
+ | # | | .---------- day of month (1 - 31) | ||
+ | # | | | .------- month (1 - 12) OR jan, | ||
+ | # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun, | ||
+ | # | | | | | | ||
+ | # * * * * * user-name command to be executed | ||
+ | 0 7 * * * root vpsfreectl backup vps 199 storage/ | ||
+ | </ | ||
+ | |||
+ | Program se tedy spustí každý den v 7 ráno (kdy už by měly být zálohy ve | ||
+ | vpsFree přeneseny na backuper.prg) a budou se stahovat maximální rychlostí | ||
+ | 1 MB/s. Výstup příkazu nám zašle cron na e-mail nastavený v proměnné | ||
+ | '' | ||
+ | Proto má program přepínač '' | ||
+ | případné chyby. | ||
+ | |||
+ | < | ||
+ | Pokud budeme zálohy stahovat pod rootem, ale '' | ||
+ | pod obyčejným uživatelem, | ||
+ | [[navody: | ||
+ | </ | ||
+ | |||
+ | === Stažení plné zálohy po pomalé/ | ||
+ | |||
+ | Příkaz '' | ||
+ | protože nestahuje do žádného souboru, ale data hned předává ZFS. Jestliže máme | ||
+ | k dispozici jen pomalou nebo nespolehlivou linku, může se stát, že stahování | ||
+ | selže a bude nutné jej restartovat -- od začátku. Můžeme si ale pomoct | ||
+ | přepínačem '' | ||
+ | pak je předá ZFS. Díky tomu je možné kdykoli stahování přerušit a později | ||
+ | v něm pokračovat. Nevýhodou je, že je k tomu potřeba 2x více místa na disku, protože | ||
+ | jsou data v jednu chvíli v dočasném souboru i v ZFS datasetu. Dočasný soubor je vytvořen | ||
+ | v adresáři, ze kterého je program spuštěn. | ||
+ | |||
+ | Na další problém můžeme narazit při dlouhé době stahování. Program při prvním | ||
+ | spuštění totiž stahuje všechny snapshoty, od nejstaršiho po nejnovější. Pokud | ||
+ | ale stahujeme ten nejstarší snapshot moc dlouho, může dojít k jeho smazání ze | ||
+ | serveru, což vede k tomu, že ho později nemůžeme použít k inkrementálnímu stahování a | ||
+ | musíme stahovat plnou zálohu znovu. Pro tyto případy existuje přepínač | ||
+ | '' | ||
+ | posledních snapshotů. Nejbezpečnější je použít '' | ||
+ | máme až 14 dní na dokončení stahování (poslední přerušení může nastat po 7 | ||
+ | dnech). Není to ale všelék, protože pokud je program ukončen a znovu spuštěn v jiný | ||
+ | den, poslední snapshot bude jiný a stahování začne nanovo, není-li hodnota | ||
+ | '' | ||
+ | |||
+ | === Detekce chybějící zálohy === | ||
+ | |||
+ | Někdy se může stát, že z nějakého důvodu denní záloha neproběhne a program tedy nebude | ||
+ | mít co stáhnout. Tato situace normálně není považována za chybu -- jednoduše | ||
+ | jsou všechny snapshoty už staženy a program nemá co dělat. Probíhá-li však | ||
+ | stahování záloh automaticky za pomocí cronu, nijak se nedozvíme o tom, že se | ||
+ | žádné zálohy nestahují. Z tohoto důvodu má program přepínač | ||
+ | '' | ||
+ | co stáhnout, skončí s chybou. Chyby nejsou potlačeny přepínačem '' | ||
+ | takže nám ji cron pošle na e-mail a o výpadku se dozvíme. | ||
+ | |||
+ | === Stahování záloh pod obyčejným uživatelem s využitím sudo === | ||
+ | |||
+ | Nechceme-li '' | ||
+ | běžet i pod neprivilegovaným uživatelem. K práci se ZFS pak využije sudo. | ||
+ | |||
+ | V následující ukázce budeme program instalovat a používat pod uživatelem | ||
+ | '' | ||
+ | |||
+ | < | ||
+ | # useradd -m -d / | ||
+ | # su vpsfree | ||
+ | $ gem install --user-install vpsfree-client | ||
+ | </ | ||
+ | |||
+ | Následující řádky vložte do ''/ | ||
+ | |||
+ | < | ||
+ | Defaults: | ||
+ | vpsfree ALL=(root) NOPASSWD: /sbin/zfs | ||
+ | </ | ||
+ | |||
+ | Uživatel '' | ||
+ | což je nezbytné, pokud jej chceme pouštět cronem. | ||
+ | |||
+ | Nyní zkusíme program spustit manuálně a potom jej umístíme do crontabu. Zkusme | ||
+ | si tedy vyžádat a uložit autentizační token: | ||
+ | |||
+ | < | ||
+ | # su vpsfree | ||
+ | $ vpsfreectl --auth token --new-token --token-lifetime permanent --save user current | ||
+ | </ | ||
+ | |||
+ | Dostanete-li chybu, že program neexistuje, bude potřeba specifikovat celou | ||
+ | cestu, nebo přidat správný adresář do '' | ||
+ | '' | ||
+ | ''/ | ||
+ | |||
+ | Máme-li funkčního klienta, můžeme stáhnout první zálohu do datasetu, který si | ||
+ | vytvoříme. V této ukázce se bude zálohovat VPS #123 do datasetu | ||
+ | '' | ||
+ | |||
+ | < | ||
+ | # su vpsfree | ||
+ | $ sudo zfs create -p storage/ | ||
+ | $ vpsfreectl backup vps 123 storage/ | ||
+ | </ | ||
+ | |||
+ | Další zálohy budeme stahovat pravidelně cronem, do souboru | ||
+ | ''/ | ||
+ | |||
+ | < | ||
+ | PATH=/ | ||
+ | MAILTO=tvuj@mail | ||
+ | HOME=/ | ||
+ | |||
+ | 0 7 * * * vpsfree vpsfreectl backup vps storage/ | ||
+ | </ | ||
+ | |||
+ | V '' | ||
+ | programu už nemusíme předávat ID VPS, při prvním spuštění si jej totiž uloží. | ||
+ | |||
+ | === Stahování záloh pod obyčejným uživatelem s využitím delegace práv === | ||
+ | |||
+ | Solaris/ | ||
+ | různým uživatelům. Program v tomto případě vůbec nepotřebuje práva roota, ani | ||
+ | sudo. | ||
+ | |||
+ | Potřebné práva budeme přidělovat uživateli '' | ||
+ | |||
+ | < | ||
+ | # zfs create storage/ | ||
+ | # zfs allow vpsfree create, | ||
+ | </ | ||
+ | |||
+ | Aby mohl uživatel vytvářet subdatasety a připojit je, musí mít i práva na | ||
+ | úrovni adresářů a souborů: | ||
+ | |||
+ | < | ||
+ | # chown vpsfree: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Na FreeBSD je potřeba upravit nastavení kernelu tak, aby umožnil uživatelům mount: | ||
+ | |||
+ | < | ||
+ | # sysctl vfs.usermount=1 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Teď můžeme začit stahovat zálohy. Přepínačem '' | ||
+ | program nesnažil použít sudo. | ||
+ | |||
+ | < | ||
+ | # su vpsfree | ||
+ | $ vpsfreectl backup vps 123 storage/ | ||
+ | </ | ||
- | ===== Transakce ===== | + | ==== Obecné přepínače |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | Transakce nyní spadají do skupin nazvaných „transaction chain“. Každá | + | ===== Obnova stažené zálohy ===== |
- | operace (vytvoření VPS, start, stop, klon, atd.) je reprezentována | + | |
- | jedním chainem, který seskupuje více transakcí. V transaction logu v | + | |
- | pravém panelu se zobrazuje seznam deseti posledních chainů a jejich postup v | + | |
- | procentech. Kliknutím na ID chainu lze vidět, jaké transakce obsahuje. | + | |
- | V ideálním | + | Obnova VPS ze stažené zálohy zatím není nijak automatizována. Jedním ze |
- | dojde k neočekávané či neošetřené chybě, bude muset zasáhnout administrátor. | + | způsobů je připojit si dataset VPS, který chceme obnovit, do jiné VPS |
+ | (playground) | ||
+ | [[navody: | ||
- | Chainy se starají také o udržování konzistence databáze. Změny v | + | ===== Získanie zálohy stránky z automatického zálohovacieho systému ===== |
- | databázi se provedou, jen když chain doběhne úspěšně. Může to být trochu | + | |
- | matoucí, když se např. po změně hostname stále zobrazuje to staré. Po | + | |
- | dokončení chainu se hostname aktualizuje a bude správně. | + | |
- | ===== Zámky objektů ===== | + | V [[navody: |
- | S každým objektem (VPS, dataset, snapshot, apod.) lze v jednu chvíli | + | < |
- | provádět jen jednu operaci. Zámky slouží k zaručení konzistence, | + | aither |
- | pod sebou vpsAdmin sám nepodřezal větev. | + | kerrycze |
+ | krcmar | ||
+ | </ | ||
- | Pokud na vás vyskočí chybová hláška: „Resource is locked. Please try | ||
- | again.“ znamená to, že objekt, se kterým chcete něco udělat, je uzamčen | ||
- | a musíte počkat, až bude k dispozici. |