Synchronizace dvou NextCloud serverů

Synchronizace dvou NextCloud serverů
« kdy: 26. 06. 2022, 20:17:08 »
Ahoj, hledám, ideálně free-to-use řešení pro domácí NAS. Nejvíc mě asi oslovil NextCloud. A teď k otázce. Lze NextCloud synchronizovat mezi 2 lokalitami? Jeden server by mi běžel doma (primární pro přístup) a druhý by byl jako záloha v práci. Pokud by toto neuměl NextCloud, jakou doporučíte alternativu? Nebo jakým způsobem lze NextCloud zálohovat? NextCloud plánují mít přímo na serveru, jako klasickou instalaci.

Díky, Tomáš
« Poslední změna: 26. 06. 2022, 20:24:03 od Petr Krčmář »


Re:Synchronizace dvou NextCloud serverů
« Odpověď #1 kdy: 27. 06. 2022, 08:35:32 »
Nextcloud mi beží na serveri ako LXD kontajner (SSD). Pravidelne robím snapshoty (BTRFS), tie zálohujem na RAID1 diskovom poli na tom istom serveri, ďalej si ich posielam na domáci počítač a geolokačne k svokrovcom.
Dáta sú na osobitnej BTRFS subvolume na platňovom RAID1 poli, na nich tiež robím snapshoty a posielam na počítač a aj k svokrovcom.

Re:Synchronizace dvou NextCloud serverů
« Odpověď #2 kdy: 27. 06. 2022, 09:09:31 »
Nextcloud používám pro sebe a pro rodinu. Zálohování mám řešení pouze na úrovni uživatele - tj. na pár strojích se přes nextcloud client synchronizuje kompletní kopie dat.

Pokud chceš mít data distribuovaná, tak můžeš použít Swift nebo cokoliv s S3 api.

Re:Synchronizace dvou NextCloud serverů
« Odpověď #3 kdy: 27. 06. 2022, 10:19:30 »
NextCloud lze synchronizovat několika způsoby. Hodně záleží na faktorech:
  • Jak rychlý by měl být přechod na zálohu?
  • Přejete si "online" zálohování, nebo by nevadilo lokace synchronizovat jen jednou za předem určený časový interval (třeba denně)?
  • Chcete zálohováním dospět spíš k vysoké dostupnosti nebo spíš k zamezení ztráty dat? Chcete předejít selhání hardware v primární lokaci a druhou mít jako dočasnou náhradu?
  • Chcete mít možnost vrátit se do předchozího konzistentního stavu lokálně? Příklad: povýšíte verzi NX serveru a něco se rozbije. Chcete mít možnost vrátit se snadno zpět? Rozbít se může víc věcí: jednak databáze, jednak aplikace třetích stran mohou nepříjemně interferovat s aktualizacemi...

A namátkou nějaké způsoby:
  • Instanci NextCloud serveru lze kontejnerizovat nebo provozovat virtuálně. Synchronizace celých kontejnerů nebo virtuálních strojů pak bude náročná na datový přenos. Ale výhodou je, že přenášíme samonosnou jednotku, kterou by případně šlo pustit i u dalších poskytovatelů. Při vhodné volbě technologie můžete využít lokální snapshoty.
  • Lze využít možnosti souborového systému a lokálně dělat snapshoty. To by mohlo mít dopad na výkon databáze atp., ale zase je to pohodlné.
  • Dál lze použít pro zálohování vlastní skript. Zkopírovat celou lokální Instanci NX serveru není těžké. Jen je potřeba zajistit, abychom zkopírovali server v konzistentní podobě (t.j. aby do něj během záloh nikdo moc nezasahoval). Stačí uložit adresáře s daty, nastavením, aplikacemi a samotný soubory serveru s databází. Pak můžete lokálně i vzdáleně udržovat více verzí ručně. Výhodou je, že můžete používat třeba rsync a zálohovat inkrementálně. Pokud se něco pokazí, můžete snadno přepnout. Pokud ale nenapíšete nějaký sofistikovaný watchdog, musíte přepnout z vlastní iniciativy ručně.
  • Nikdy jsem nepotřeboval on-line zálohy s vysokou dostupností. Asi by se dalo něco zbastlit. Určitě bych ale začal pořádnou rešerší, výběrem databázového serveru, výběrem vhodného úložiště atd. Mohlo by jít použít haproxy a podobné technologie. Toto řešení bude určitě nejkomplikovanější. Bude se muset opřít o solidní propojení obou serverů atp.

Určitě jsem na spoustu věcí zapomněl.

PS: Omlouvám se za překlepy, píši z mobilu na cestě...

mhepp

  • ***
  • 133
    • Zobrazit profil
    • E-mail
Re:Synchronizace dvou NextCloud serverů
« Odpověď #4 kdy: 27. 06. 2022, 10:33:51 »
Jak už psal předřecník, možností je více, záleží na potřebách.

Pokud chceš mít zálohu pro případ katastrofy, tak nejjednodušší je zálohovat datové úložiště a databázi - pozor na konzistenci dat - napoví occ maintenance.

Pokud chceš mít vysokou dostupnost - při pádu jedné instance mít okamžitě druhou, tak potřebuješ databázový server, který umí oboustranou replikaci, abys mohl mít více instancí a sdílené datové úložistě pro oba servery. Třeba to S3 nebo NFS... Mimochodem, jeden německý poskytovatel nabízí cenově zajímavé s3 úložiště.


Re:Synchronizace dvou NextCloud serverů
« Odpověď #5 kdy: 27. 06. 2022, 12:22:40 »
prvne si rozmysli, jestli potrebujes "synchronizaci" nebo "zalohu". pak se muzeme posunout dal.
Děkuji za možnost editace příspěvku.