Zálohy ve vpsFree aneb na cestě od rsync k ZFS snapshotům

V současné době zálohujeme pomocí rsync jednou denně. Chystáme ale přechod na ZFS snapshoty, které umožní velké věci.

V současné době se VPS zálohují jednou denně rsyncem a snapshotem se zakonzervuje stav po dokončení rsyncu. Dnes není možné nastavit zálohování individuálně pro každý VPS. Vše probíhá automaticky jednou denně. K zálohám je pak možné přistoupit z ovládacího rozhraní nebo k nim přistupovat přímo z VPS v adresáři /vpsadmin_backuper a podadresáři .zfs/snapshot/. Více si přečtete v naší znalostní bázi.

Náš vývojář Jakub ‚Aither‘ Skokan má už rozdělaný kompletní přepis vpsAdminu (našeho webového rozhraní), který už bude místo rsyncu používat ZFS snapshoty a send/receive. Snapshoty se tedy budou provádět lokálně (a rychle) na fyzickém serveru a v noci se všechny odešlou na zálohovací server. Tím se nám výrazně rozšíří možnosti práce se zálohami.

Bude možné nastavit interval i retenci snapshotů pro jednotlivé VPS, stejně jako půjde udělat snapshot na požádání kdykoliv přes API call (čili díky HaveAPI jedním příkazem přes vpsfreectl) – víc o tom napíšeme, až to budeme nasazovat.

ZFS snapshoty jsou výkonově „zadarmo“ a jsou instantní. V podstatě jediná nevýhoda a důvod, proč nejdou dělat třeba po 500 ms spočívá v tom, že snapshot vynucuje sync stavu datasetu na disky, čili bychom pořád syncovali, což by výkonově zabíjelo disky. Vidím to tak, že minimální interval mezi snapshoty nastavitelný v rámci zálohování bude 15 minut. Ovšem jak jsem psal, bude možné si udělat zálohu kdykoliv ručně.

Připravovaný vpsAdmin 2.0 má tři „hejblátka“ pro nastavení doby životnosti snapshotů:

  • minimální počet snapshotů, které necháváme (bude nastaveno na 14)
  • maximální počet snapshotů (prvotní nastavení bude 20)
  • maximální stáří snapshotů (14 dní)

Z toho vychází možnost mít až šest ručně vyvolaných snapshotů navíc, aniž by to začalo umazávat nejstarší automatické zálohovací snapshoty. Přebytečné snapshoty se pak při nočním transferu na zálohovací server smažou.

Důležitou změnou ovšem bude, že zálohy už nebudou tak snadno přístupné ve VPS. Důvodem je, že vpsAdmin 2.0 bude umět subdatasety a návrat na konkrétní snapshot smaže všechny novější snapshoty. Musíme tedy dělat branching, který je podrobně popsán v dokumentaci.

V tuto chvíli odhadujeme, že vpsAdmin 2.0 bude hotový ke konci roku. Doufáme, že ho kolem Vánoc budeme nasazovat.

Z vlákna Jak dlouho trvá ZPS snapshotování u vpsfree?

2 comments

  1. ZFS je fajn, ale pri urcitom zaplneni zacina byt strasne pomale. Drzim palce. U nas ho uz nepouzivame.

    1. ZFS je v prvni rade copy on write filesystem, tohle chovani je u vsech CoW FS normalni. BTRFS, az nebude trpet detskymi nemocemi, bude s timhle mit problem na stalo taky. NetApp WAFL ma ten „problem“ taky. Proste je potreba rezervovat odpovidajici cast mista a nikdy ho nezaplnit. Bezne se doporucuje nechat aspon 20% a pak neni problem. Pravda je, ze u ZFS je to v soucasny implementaci vic, nekde okolo 35%, potom zacne rapidne narustat fragmentace, coz pool na rotacnich diskach zpomali. A pri min jak cca 10% volnyho mista u poolu s kapacitama v TB zacne byt pomale vyhledani volneho mista pro nove zapisovana data. Nicmene OpenZFS se vyviji dopredu pomerne rychle a tohle je jeden z problemu, ktery je pravidelne na programu vyvojaru ke konstantnimu vylepsovani.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *