RE:NODE

Noční zálohy serveru mimo tvůj limit: co pokrývají

Text: Tým RE:NODE
14 min čtení


Každý server na RE:NODE se zálohuje každou noc, bez ohledu na tarif, a tyto zálohy nezabírají žádný z tvých slotů na zálohy. Dostanou je i tarify, které žádné sloty na zálohy nemají. Databáze, které herní server drží v panelu, se každou noc ukládají zvlášť, protože archiv serveru obsahuje jen soubory. Tyto noční kopie jsou systémové zálohy: na kartě Backups je nevidíš a sám je obnovit nemůžeš - požádáš podporu a my z nich obnovíme. Jsou to záchranná síť pod vším ostatním, a to krátkodobá. Tvoje vlastní zálohy, vytvořené ve tvých slotech podle tvého plánu, jsou pořád ty, které máš pod kontrolou, a kopie uložená úplně mimo naši platformu je pořád ta, která přežije věci, před kterými tě hosting ochránit nemůže. Tento článek pokrývá všechny tři vrstvy: co dělá noční běh, jak funguje každý druh obnovy a jak si bez velké námahy udržet kopii mimo naši platformu.

Pokud čteš jen jeden odstavec: noční záloha tu je pro den, kdy se pokazí něco, s čím jsi nepočítal. Není to historie, není to systém verzování a není to důvod přestat si dělat vlastní zálohy před aktualizací nebo wipem.

Co noční záloha pokrývá#

Noční běh projde jednou denně každý server na nodu a vytvoří z něj úplný archiv. „Každý server“ znamená přesně to: herní servery, aplikační servery, webové servery, databázové servery. Nezáleží na tom, jaký limit záloh tarif má - tarif s nulou záloh dostane jednu každou noc a tarif se šesti sloty plnými tvých vlastních záloh dostane jednu každou noc také, protože systémová záloha se počítá mimo limit.

Druh kopieKdo ji vytváříZabírá tvoje sloty
Noční systémová zálohaMy, každou nocNe
Noční dump databázeMy, každou nocNe
Tvoje vlastní zálohaTy, na požádání nebo podle plánuAno

U systémových záloh stojí za to vědět pár věcí dřív, než je budeš potřebovat:

  • Jsou skryté. Na kartě Backups se nezobrazují a panel nedovolí zákazníkovi je vypsat, stáhnout, smazat ani obnovit. Je to záměr: nikdo s přístupem k tvému účtu, ani subuser, který by tu moc mít neměl, tak záchrannou síť nemůže odstranit.
  • Obsahují soubory. Archiv je kopie souborového systému serveru - světy, konfigurace, pluginy, nahrané soubory, kód. Neobsahuje databáze, které jsi vytvořil na kartě Databases v panelu; ty žijí v samostatné databázové službě a ukládají se samy.
  • Jsou nedávné, ne historické. Držíme krátké klouzavé okno posledních nocí, ne týdny historie. Pokud problém začal před čtrnácti dny a ty sis ho všiml až dnes, noční zálohy tak daleko nesahají. Starší bod, o kterém víš, že je v pořádku, ti udrží jen vlastní zálohy zamčené proti rotaci.
  • Raději počkají, než aby zaplnily disk. Pokud na nodu dochází volné místo, noční běh nezačíná nové archivy a čeká, protože plný disk by stáhl dolů všechny servery na nodu. Jakmile se místo uvolní, zálohování pokračuje.

Část „mimo tvůj limit“ je hlavní praktický rozdíl oproti většině panelů. Na běžné instalaci Pterodactylu je záloha prostě záloha: když ji pro tebe hosting vytvoří, leží ve stejném seznamu a počítá se do stejného limitu. U nás jsou tvoje sloty tvoje. Můžeš je před aktualizací zaplnit vlastními kopiemi, zamknout ty důležité a noční záchranná síť pod tím běží dál, aniž by o místo soutěžila.

Dumpy databází#

Herní server, který používá databázi - Minecraft server s LuckPerms nebo ekonomickým pluginem na MySQL, FiveM server na oxmysql, Garry's Mod server s DarkRP ukládající data hráčů - drží tu databázi mimo svůj souborový systém. Na RE:NODE herní tarify obsahují jeden databázový slot, vytvořený v panelu s vygenerovaným hostem, uživatelem a heslem. Data v ní nejsou uvnitř archivu serveru, takže obnova samotné souborové zálohy ti vrátí svět a konfigurace tak, jak byly, ale databázi tak, jak je teď.

Proto se databáze každou noc ukládají zvlášť. Dump je soubor SQL: příkazy CREATE TABLE a řádky, zapsané ve formě, kterou lze přehrát do prázdné databáze. Na rozdíl od kopie vlastních datových souborů databáze je dump pořízený samotným databázovým serverem konzistentní - nezachytí tabulku v půlce zápisu.

Důsledek pro obnovu je jednoduchý a snadno se na něj zapomene: když vracíš server zpět, vrať jeho databázi ke stejné noci, jinak dostaneš svět z úterý s inventáři hráčů z pátku. U pluginů, které ukládají hodnosti, zůstatky nebo claimy v MySQL, je takový nesoulad obvykle horší než kterákoli verze zvlášť. Když nás požádáš o obnovu z noční zálohy, napiš, jestli chceš databázi obnovit ke stejné noci.

Totéž platí pro tvoje vlastní zálohy, které obsahují jen soubory. Pokud děláš zálohu před velkou aktualizací pluginu, udělej ve stejnou chvíli i export databáze - export z phpMyAdminu nebo mysqldump z tvého počítače - a obojí drž pohromadě. Průvodce mysqldumpem obsahuje přepínače, na kterých záleží.

bash
$ mysqldump --single-transaction --routines --triggers \    -h HOST -P PORT -u USER -p DATABASE | gzip > db-$(date +%F).sql.gz

Použij host, port, uživatele a název databáze zobrazené na kartě Databases serveru. --single-transaction vytvoří konzistentní snímek tabulek InnoDB bez jejich zamykání, což na běžícím herním serveru potřebuješ.

Jak do sebe vrstvy zapadají#

Kopie tvého serveru může být na třech místech: u nás jako systémová záloha, u nás jako záloha, kterou jsi vytvořil ty, a někde, kde nejsme my vůbec. Chrání před různými věcmi.

každou nocna požádání nebo plánstažení nebo syncTvůj serversoubory a databázeNoční zálohanaše, skrytáTvoje zálohytvoje sloty, zámekKopie mimo nástvé úložiště
Tři kopie, tři různá selhání
SelháníCo tě vrátí zpět
Špatná aktualizace, rozbitá konfiguraceKterákoli ze tří
Griefing objevený po týdnuZamčená záloha nebo kopie mimo nás
Smazaný serverJen kopie mimo nás
Ztracený nebo zrušený účetJen kopie mimo nás

Poslední dva řádky jsou nepříjemné. Smazáním serveru se smažou i jeho zálohy, včetně těch zamčených. Pokud server zrušíš nebo ztratíš přístup k účtu, všechno uložené u nás zmizí s ním. Kopie, kterou držíš sám, ne.

Obnova z noční zálohy#

Protože jsou systémové zálohy v panelu skryté, obnova z nich jde přes podporu. Můžeš nás kontaktovat tiketem z panelu nebo tlačítkem Chat v záhlaví serveru, které otevře konverzaci se supportem vedle konzole a funguje i tehdy, když je server pozastavený nebo selhala instalace. Funguje také Discord a e-mail.

Aby se obnova udělala rychle a správně, napiš:

  1. Který server. Název serveru, nebo lépe jeho identifikátor z adresního řádku.
  2. Která noc. „Záloha před čtvrteční aktualizací“ je užitečnější než „ta nejnovější“, protože ta nejnovější už může obsahovat problém.
  3. Co obnovit. Celý server, nebo jen určité složky - jen svět, jen konfigurace pluginů.
  4. Zda i databázi. Obvykle ano, ke stejné noci, z výše uvedených důvodů.
  5. Zda zachovat současný stav. Pokud bys z rozbité verze mohl něco potřebovat, udělej si nejdřív zálohu do vlastního slotu nebo stáhni soubory, na kterých ti záleží. Úplná obnova nahradí to, co tam je.

Pokud můžeš, před obnovou server zastav. Běžící herní server může při vypnutí zapsat svět zpět na disk a přepsat obnovený save stavem, který měl v paměti. U většiny her je to rozdíl mezi obnovou, která zafungovala, a takovou, která tiše nezafungovala.

Obnova z tvých vlastních záloh#

U záloh ve tvých vlastních slotech se není koho ptát. Karta Backups je vypisuje; každou lze obnovit tlačítkem, stáhnout jako archiv nebo zamknout, aby ji rotace neodstranila. Průvodce panelem provede jednotlivými obrazovkami.

Rozdíl mezi úplnou a částečnou obnovou je tu důležitý, protože většina skutečných problémů nevyžaduje vracet celý server.

  • Úplná obnova. Zastav server, obnov ho z karty Backups a spusť ho. Použij to po rozbité aktualizaci nebo po modu, který poškodil věci, které nedokážeš vyjmenovat.
  • Jeden svět nebo jedna složka. Stáhni zálohu, rozbal ji na svém počítači a přes správce souborů nebo SFTP nahraj jen složku, kterou potřebuješ. Zbytek serveru zůstane, jak je.
  • Jeden soubor. Totéž pro jednu konfiguraci. Je to obvyklá oprava pro situaci „někdo upravil server.properties a teď nic nefunguje“.
bash
$ mkdir restore && tar -xzf backup.tar.gz -C restore$ ls restore

Pak nahraj požadovanou složku libovolným klientem SFTP s přihlašovacími údaji z SFTP detailů serveru. Průvodce SFTP a správcem souborů pokrývá klienty i obvyklé chyby s oprávněními.

Zamkni alespoň jednu zálohu, o které víš, že je v pořádku. Rotace pomáhá až do chvíle, kdy odstraní poslední kopii z doby před problémem, který sis ještě nevšiml. Zamčená záloha pořízená po čistém startu, před každou větší změnou, stojí jeden slot a ušetří ti spor o to, jestli bod pro návrat ještě existuje.

Plánování vlastních záloh#

Noční systémová záloha běží, ať děláš cokoli, nebo nic. Tvoje vlastní zálohy běží, až když jim to řekneš, a karta Schedules je způsob, jak to zautomatizovat. Plán bere výraz cron a seřazený seznam úloh se zpožděním mezi nimi: příkazy do konzole, zálohu, akci napájení.

Rozumný postup pro herní server je upozornit hráče, uložit svět z konzole, zálohovat a teprve potom případně restartovat:

KrokÚlohaZpoždění
1Příkaz: varovná zpráva0 s
2Příkaz: uložit svět60 s
3Backup30 s

Příkaz pro uložení závisí na hře - save-all v Minecraftu, save u mnoha dalších; podívej se do konzolové reference své hry. Smysl ukládání je v tom, že záloha archivuje to, co je na disku, a hra, která drží svět v paměti mezi autosavy, ti jinak dá kopii starou několik minut. Výrazy cron vysvětleně pokrývají syntaxi časování a naplánované úlohy, které za to stojí obsahují další vzory.

Jak často, záleží na tom, o kolik hraní si můžeš dovolit přijít. Malému serveru pro kamarády stačí jedna plánovaná záloha denně plus ruční před každou aktualizací. Rušná komunitní server může chtít několik denně. S omezeným počtem slotů rotace drží nejnovější a odstraňuje nejstarší, proto je důležité zamknout jednu zálohu, o které víš, že je v pořádku.

Proč si přesto držíš kopii mimo naši platformu#

Noční zálohy tě chrání před selháními, která se serverům stávají: špatná aktualizace, poškozený save, plugin, který smaže tabulku. Kopie z nodu stahujeme každý den, takže nejsou na stejném stroji, který chrání. Nechrání tě ale před ničím, co se stane se vztahem mezi tebou a námi.

  • Smazání serveru smaže jeho zálohy. Naše i tvoje, včetně zamčených. Omylem smazaný server z naší strany obnovit nejde.
  • Zrušená služba dopadne stejně. Když se server odstraní, z jakéhokoli důvodu, odstraní se s ním i jeho zálohy.
  • Tvůj účet je jediný bod selhání. Pokud ztratíš zařízení pro dvoufázové ověření i záložní kódy, účet nejde obnovit, a nic, co je dostupné jen přes něj, také ne.
  • Každý hosting je jeden dodavatel. Netýká se to jen nás. Kopie, která existuje jen v systémech jedné firmy, na ní závisí ve všem, a pravidlo 3-2-1 - tři kopie, dva druhy úložiště, jedno jinde - existuje proto, že se to lidé naučili po zlém.
Záloha, která existuje jen uvnitř služby, kterou zálohuje, je funkce té služby, ne záloha.

Kopie mimo naši platformu nemusí být častá. Pro většinu herních serverů stačí týdně, plus jedna před každou větší změnou. Důležité je, aby existovala, byla někde, kde ji ovládáš, a aby se aspoň jednou otevřela a ověřilo se, že jde obnovit.

Jak vytvořit kopii mimo naši platformu#

Jsou tři praktické způsoby, od nejmenší námahy po nejvíc automatizovaný.

První je ruční: stáhni zálohu z karty Backups každý týden nebo před větší změnou a ulož ji na vlastní disk nebo do cloudového úložiště. Zabere to minutu, což je také důvod, proč s tím lidé po měsíci přestanou.

Druhý je synchronizace z tvého počítače přes SFTP pomocí rclone. Nastav SFTP remote s hostem, portem, uživatelským jménem a heslem z SFTP detailů v panelu a pak zkopíruj složky, na kterých záleží:

bash
$ rclone config create renode sftp host HOST port PORT user USER pass PASSWORD$ rclone copy renode:world ./server-backup/$(date +%F)/world --progress

Kopíruj jen to, co potřebuješ - svět, konfigurace, data pluginů - ne binárky hry, které se stejně nainstalují znovu. Spáruj to s dumpem databáze ze stejného okamžiku. Pozor: rclone config create heslo před uložením zakryje, ale konfigurační soubor stále umožní přihlášení každému, kdo si ho přečte, takže ho drž na stroji, kterému věříš.

Třetí je objektové úložiště: posílej kopie do bucketu kompatibilního s S3 pomocí rclone nebo restic. Restic přidává deduplikaci, šifrování a vlastní pravidla uchovávání, což se hodí pro kopii, která běží na časovači z tvého vlastního stroje. Zálohy herních serverů do S3 a zálohy restic do S3 pokrývají obojí podrobně. RE:NODE prodává také objektové úložiště S3, ale buď si jasný v tom, co to je: je na stejné platformě a ve stejné lokalitě jako tvůj server. Je to dobrý druhý druh úložiště a pohodlný cíl pro skripty; není to to „jinde“ z pravidla 3-2-1. K tomu musí bucket nebo disk patřit někomu jinému než tvému hostingu.

Ať zvolíš cokoli, jednou z toho obnov. Rozbal archiv, načti dump do zkušební databáze, a pokud můžeš, spusť z něj kopii serveru. Otestuj obnovu dřív, než ji budeš potřebovat obsahuje kontrolní seznam a zálohy, které se opravdu obnoví vysvětlují, proč je test skutečnou prací zálohy. Záloha, kterou nikdo neobnovil, je hypotéza.

Co noční zálohy nenahrazují#

Abychom byli upřímní o mezích, aby nikdo nepočítal s něčím, co tam není:

  • Žádná samoobslužná obnova systémových záloh. Jde přes podporu, takže trvá tak dlouho jako konverzace se supportem, ne jedno kliknutí. Pro cokoli, co můžeš potřebovat rychle, je rychlejší tvoje vlastní záloha.
  • Žádná dlouhá historie. Okno je krátké. Starší body pro obnovu jsou na tobě, zamčené ve tvých slotech nebo mimo naši platformu.
  • Žádná obnova k libovolnému okamžiku. Noční záloha je noční záloha. Cokoli mezi minulou nocí a teď existuje jen na běžícím serveru.
  • Žádná ochrana před smazáním. Smaž server a jeho zálohy jdou s ním.
  • Žádné zálohy databázového enginu u tarifů databázového hostingu nad rámec souborového archivu. Databázové servery dostávají noční souborový archiv jako všechno ostatní, ale souborová kopie běžícího databázového enginu není totéž co dump pořízený samotným enginem. U tarifů PostgreSQL, MongoDB, MySQL nebo SQL Server si plánuj vlastní dumpy - zálohy a obnovy databází a dumpy databází do S3 podle plánu ukazují jak.

Nic z toho nedělá noční zálohu méně užitečnou. Většina špatných dní, které majitel serveru zažije, je přesně ten druh, který pokrývá: aktualizace, která se včera v noci pokazila, konfigurace špatně upravená dnes ráno, mod, který poškodil save. Jen to není celý plán, a brát to jako celý plán je způsob, jak lidé skončí u žádosti o kopii před třemi týdny, která neexistuje.

FAQ#

Počítají se noční zálohy do slotů na zálohy v mém tarifu?

Ne. Jsou to systémové zálohy vytvářené mimo limit záloh tvého tarifu, takže všechny sloty zůstávají volné pro tvoje vlastní kopie. Noční zálohu dostanou i tarify bez slotů na zálohy.

Mohu si noční zálohu stáhnout nebo obnovit sám?

Ne. Jsou skryté na kartě Backups, aby je nemohl smazat nikdo s přístupem do panelu. Pro obnovu z nich otevři tiket nebo použij chat serveru a napiš, kterou noc a které části chceš zpět.

Jsou součástí i databáze pluginů a modů?

Databáze vytvořené v panelu pro herní server se každou noc ukládají zvlášť, protože archiv serveru obsahuje jen soubory. Požádej o obnovu databáze ke stejné noci jako soubory, jinak si nebudou odpovídat.

Jak daleko do minulosti noční zálohy sahají?

Jen krátké klouzavé okno posledních nocí. Slouží k obnově po něčem, co se pokazilo nedávno. Pro starší bod, o kterém víš, že je v pořádku, zamkni jednu ze svých záloh nebo drž kopii mimo naši platformu.

Když smažu server, může ho podpora vrátit?

Ne. Smazáním serveru se smažou i jeho zálohy, včetně zamčených, a systémové zálohy nejsou výjimkou. Smazání přežije jen kopie, kterou sis stáhl nebo někam synchronizoval sám.

Potřebuji vlastní zálohy, když existují ty noční?

Ano. Udělej jednu před každou aktualizací, wipem nebo větší změnou konfigurace, abys mohl vrátit stav sám jedním kliknutím a nemusel na nikoho čekat, a jednu měj zamčenou jako bod v pořádku, na který noční okno nedosáhne.

Pomohlo vám to?