Cloud svépomocí 1

Pokud po přečtení nadpisu čekáte návod na spuštění super-hyper-mega-cool cloudového startupu, musím vás zklamat. Tento pamflet je o náhradě Dropboxu a podobných služeb vlastním řešením.

Když jsem někdy na konci roku 2009 začal řešit potřebu synchronizace souborů mezi několika stroji společně s pravidelným zálohováním, poohlížel jsem se po hotovém řešení. První volba padla na jednoduchou synchronizaci z jednoho stroje na druhý, toto řešení ale vyžadovalo, abych měl oba stroje zapnuté současně a rozhodně nešlo o pravidelnou činnost. Navíc se často stávalo, že jsem potřeboval použít druhý stroj v okamžiku, kdy jsem na něm neměl aktuální repliky a v těchto okamžicích vznikaly problémy.

O několik měsíců později (v roce 2010) jsem se tedy prozkoumal nabídku komerčních nabídek, vyzkoušel poskytované účty zdarma a nakonec zakoupil roční licenci na SpiderOak plus. Ten měl oproti jiným službám výhodu ve větší bezpečnosti (soubory šifruje na klientské straně, takže poskytovatel nemá možnost číst data), konfigurovatelnosti (umí synchronizovat víc než jeden adresář), verzování souborů a klienta pro Linux i Windows. V té době byl asi jediným programem, který by poskytoval všechny tyto vlastnosti najednou.

Počáteční nadšení ale začalo opadat, jak vyplouvaly na povrch zdánlivé maličkosti jako třeba při přeinstalaci PC, pokud jsem odstranil z disku synchronizovaná data, musím tento pc přidat pod novým názvem, přičemž starý v systému zůstává a nemohu jej odebrat bez ztráty dat. A nebo nervy drásající pomalost, kdy trvalo i několik minut, než stáhl a obnovil smazaný soubor o pár MB. Synchronizace nějakých 30 GB byla záležitost na celý den, či dva, kdy pc musel trvale běžet. A asi bych si vzpomněl i na další nepříjemnosti. A tak jsem chvíli před uplynutím ročního předplatného začal hledat jiné možnosti.

Rychlá prohlídka komerčních řešení mě tentokrát už nezaujala. Objevilo se sice několik nových hráčů na trhu, nicméně já měl už mnohem konkrétnější požadavky, ke kterým navíc přibyla potřeba mobilního (Android, možná i iPhone) klienta, který umožní i nahrávat nové a upravené soubory. V současnosti to umí už snad všichni větší hráči, v roce 2011 ale byla situace horší.

Rozhodl jsem se tedy ohlížet po řešení svépomocí na domácím serveru. Ve “spolupráci” s několika diskuzními fóry jsem prozkoumal řadu možností:

  • GIT/SVN – problém s  přístupem bez GIT klienta, problémy s projekty, které mají vlastní GIT, …
  • Bacula (a jiné korporátní systémy) – raketomet na komára. Takové řešení by bylo zbytečně komplikované na moje požadavky, byť jsem o tom vážně uvažoval.
  • Rsync – výborný pouze pro jednosměrnou synchronizaci, obousměrně nepoužitelný
  • Unison – tento program, který je postavený na protokolech rsync umí obousměrně synchronizovat
  • Další možnosti, které si nepamatuji :)

Nakonec jsem vybral Unison pro zajištění synchronizace se serverem (topologie hvězda) v kombinaci se ssh jako komunikačním protokolem pro šifrování dat po cestě, kdy je jako souborový systém použito btrfs, na kterém se pravidelně vytváří snapshoty – sice ne úplně optimální, ale přesto funkční verzování – a dodatečně rsync pro zálohování na sekundární disk.

Protože toto řešení už nějakou dobu spokojeně používám, rozhodl jsem se o sepsat podrobnější informace a postup i pro ostatní a učiním tak v druhé části tohoto traktátu (až ji napíšu :-) ).

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>