RE:NODE

Dimenzování14 min čtení

VDS, nebo herní panel: co z toho potřebuješ

Root přístup přináší flexibilitu a stojí hodiny práce. Co za tebe udělá panel, co musíš u VDS zvládnout sám a jaká je poctivá cena obou řešení.

Aktualizováno

6 čtenářů

Stručně: pokud chceš jeden až pět herních serverů a nebaví tě správa Linuxu, kup si spravovaný tarif. Pokud potřebuješ software, který nikdo neprodává jako produkt, nebo cpeš osm malých služeb na jeden stroj, kup si VDS. Zajímavé případy leží mezi těmito dvěma a rozhoduje o nich většinou povaha, ne čísla. Tento článek se je snaží rozhodnout čísly - co ti každé řešení opravdu dává, kolik paměti operační systém spolkne dřív, než cokoli spustíš, a kolik hodin měsíčně zabere práce správce, která s root přístupem přichází.

Lidé si říkají o VDS, protože chtějí kontrolu. Dostanou kontrolu a k tomu druhou neplacenou práci: firewall, aktualizace, zálohy, certifikát, kterému vyprší platnost v neděli, a restart ve tři ráno, který za tebe nikdo neudělá. Někdy je ta výměna zjevně správná. Často si ji ale koupí někdo, kdo chtěl provozovat Minecraft server a skončí u čtení dokumentace k sshd_config.

Co si vlastně pronajímáš#

Spravovaný herní nebo aplikační tarif je kontejner na sdíleném stroji. Na hostingu postaveném na Pterodactylu to znamená jeden Docker kontejner na server, s pamětí, diskem a CPU omezenými kontrolními skupinami jádra (cgroups), a webový panel jako jediné rozhraní. Dostaneš konzoli, správce souborů, SFTP, plánované úlohy a zálohy. Nedostaneš shell na hostiteli, nedostaneš root a nenainstaluješ balíček, který není součástí image, z níž tvůj server běží.

VDS je virtuální stroj. Má vlastní jádro, vlastní distribuci, vlastní uživatele a ty jsi root. Všechno nad hypervizorem je tvoje, včetně všech chyb.

Spravovaný tarifVDS
RozhraníPanel: konzole, soubory, plánovačSSH a cokoli, co si nainstaluješ
RootNeAno
Libovolný softwareNeAno
Aktualizace operačního systémuNení tvoje starostTvoje, každý týden
FirewallPorty přidělené každému serveruPravidla píšeš ty
ZálohySloty v každém tarifu, obnova jedním tlačítkemPostavíš si je
DodáníVytvoří se po přijetí platby, obvykle do minutyPřipraveno ručně, do 24 hodin
Izolace zdrojůJeden kontejner na server, pevný limit CPUJeden VM, rozdělíš si ho sám
Chování při selháníKontejner se čistě restartujeVoláš ty

Dělicí čára nevede přes výkon. Kontejner na dobrém hardwaru pustí Minecraft server stejně rychle jako stejný příděl na VM vedle něj. Dělicí čára vede přes odpovědnost a odpovědnost má cenu v hodinách, která se nikdy neobjeví vedle měsíční částky. Pokud ti vadí terminologie, VPS, VDS, nebo dedikovaný server tyto tři věci pořádně rozlišuje a co ti dává panel Pterodactyl podrobně popisuje spravovanou stranu.

Režie, kterou nikdo nezapočítá#

Tohle je část, která rozhoduje většinu skutečných srovnání, a v tabulce na stránce s ceníkem skoro nikdy není. VDS spouští celý operační systém dřív, než spustí cokoli, na čem ti záleží.

Změř si to sám na čerstvém stroji pomocí free -m po restartu, ale obvyklý obraz je tento:

SoučástTypická rezidentní paměť
Minimální server Debian nebo Ubuntu, nečinný150-350 MB
Docker démon, bez běžících kontejnerů80-150 MB
nginx plus PHP-FPM pro malý web150-400 MB
Panel Pterodactyl nainstalovaný na stejném stroji700 MB - 1,2 GB s databází a Redis
Monitorovací agent, fail2ban, journald50-150 MB

Takže VDS s 8 GB není 8 GB herního serveru. Je to zhruba 7,5 GB, pokud služby spouštíš přímo, a blíže 6 GB, pokud na něj nainstaluješ panel, aby kamarádi mohli věci restartovat bez klíče SSH. Porovnej to s nákupem stejné paměti jako spravovaných tarifů, kde režie leží na hostiteli a platíš za to, co dostane tvůj proces.

Počty fungují oběma směry a závisí zcela na tvaru tvé zátěže:

  • Jedna velká věc. Jediný Minecraft server s 10 GB je jako spravovaný tarif levnější a méně práce. Platíš přesně za paměť, kterou dostane JVM, instalace je hotová a nestrávil jsi nad ní víkend.
  • Mnoho malých věcí. Pět Discord botů, dva malé herní servery, instance Postgresu a testovací kopie webu - tady VDS vede, protože paměť se sdružuje. Bot, který nečinně sedí na 90 MB, si půjčuje od bota, který skočí na 400 MB. Kup to jako osm samostatných tarifů a každý nese svůj vlastní strop, zaplacený, ať se využije, nebo ne.
  • Nárazové a nepředvídatelné. VDS ti dovolí paměť přeslíbit a zjistit, co se stane. Panelový tarif zastaví kontejner na limitu a čistě ho restartuje, což je bezpečnější a méně shovívavé.

Nejužitečnější otázka je: kolik oddělených věcí provozuju a jak jsou nárazové? Pod zhruba čtyři vyhrává panel téměř vždy v celkových nákladech, jakmile svůj čas ohodnotíš nad nulou. Nad zhruba šest začíná VDS vyhrávat na penězích ještě před započítáním sdružování.

Která varianta je zjevně správná#

Jsou případy, kdy to není věc úsudku.

Vezmi spravovaný tarif, když:

  • Chceš mezi jedním a pěti servery a nemáš názor na distribuci.
  • Chceš, aby instalaci, startovací příkaz, verzi Javy a aktualizace vyřešil někdo jiný.
  • Chceš někomu dát přístup ke konzoli, aniž bys mu dal celý stroj. Role, týmy a časově omezená oprávnění existují přesně pro tohle a subuživatelé a nejmenší oprávnění ukazuje, jak je nastavit.
  • Raději obnovíš zálohu tlačítkem, než abys vzpomínal, jak jsi nastavil cron úlohu, která je měla vytvářet.
  • Na větu „zkontroluj řetězec DOCKER-USER“ reaguješ zavřením karty.

Vezmi VDS, když:

  • Potřebuješ software, který se neprodává jako hostingový produkt: homeserver Matrix, mailový relay, vlastní binárku, konkrétní modul jádra, okrajovou distribuci.
  • Provozuješ tolik služeb, že sdružování paměti znamená skutečné peníze.
  • Chceš vlastní stack Docker nebo Compose s volumes a sítěmi, které si sám definuješ. Výchozími body jsou Docker na VDS a Compose pro malé stacky.
  • Linux spravuješ denně a panel by ti překážel.
  • Potřebuješ jeden stroj s jedinou adresou, na kterém běží víc herních serverů na portech podle tvé volby, což je samostatné téma v článku více herních serverů na jednom VDS.

Co by rozhodovat nemělo: přesvědčení, že VDS je rychlejší. CPU na spravovaném tarifu je pevně omezené na podíl, který sis koupil, takže server na 100 % je pomalý, ne rozbitý, a nikdy se za to nepozastavuje. VDS se dvěma vCPU je omezeno na dvě vCPU stejným způsobem. Rozdíl je v tom, že na VDS nic nebrání tvé vlastní službě sežrat celý příděl a vyhladovět ostatní, což je problém, který sis teď koupil právo řešit. Sdílené CPU a hluční sousedé popisuje, co podíl skutečně zaručuje.

První hodina na VDS, v příkazech#

Pokud vezmeš VDS, tohle je minimum, než cokoli nainstaluješ. Nic z toho není volitelné a všechno je na tobě. Delší verze je v článku první hodina na novém VDS.

  1. Aktualizuj všechno a restartuj, pokud se změnilo jádro.
  2. Vytvoř běžného uživatele se sudo a přestaň používat root interaktivně.
  3. Dej mu klíč SSH a vypni hesla.
  4. Zavři každý port, který záměrně nepoužíváš.
  5. Zapni automatické bezpečnostní aktualizace, aby stroj nehnil.
bash
$ apt update && apt full-upgrade -y$ adduser deploy && usermod -aG sudo deploy$ ssh-keygen -t ed25519 -C "laptop"          # run this on your machine$ ssh-copy-id deploy@203.0.113.10

Pak zabezpeč démona. Změny dej do samostatného souboru místo úpravy hlavní konfigurace, aby je upgrade balíčku tiše nevrátil:

/etc/ssh/sshd_config.d/99-hardening.conf
PermitRootLogin noPasswordAuthentication noKbdInteractiveAuthentication no

Nová nastavení vyzkoušej ve druhém terminálu, než zavřeš první. sshd -t zkontroluje syntaxi; zamčené VDS se opravuje přes konzoli poskytovatele. Klíče SSH a zabezpečení obsahuje zbytek, včetně agentů a jump hostů.

Dál přijde firewall. Výchozí zákaz, pak otevři přesně to, co potřebuješ:

bash
$ ufw default deny incoming$ ufw default allow outgoing$ ufw allow 22/tcp$ ufw allow 25565/tcp        # Minecraft$ ufw allow 2456:2457/udp    # Valheim game and query$ ufw enable$ ufw status numbered

Na závěr zapni automatické aktualizace a démona pro banování:

bash
$ apt install unattended-upgrades fail2ban$ dpkg-reconfigure -plow unattended-upgrades$ systemctl enable --now fail2ban$ fail2ban-client status sshd

Při prvním pokusu je to zhruba čtyřicet minut a po druhém patnáct. A je to ta levná část.

Udržet to naživu je skutečná práce#

Nic na VDS se samo nerestartuje, dokud to nezařídíš. Nástroj je systemd a unit soubor je místo, kde leží většina skutečných rozdílů mezi „běží to“ a „přežije to“:

/etc/systemd/system/valheim.service
[Unit]Description=Valheim dedicated serverAfter=network-online.target[Service]User=valheimWorkingDirectory=/home/valheim/serverExecStart=/home/valheim/server/valheim_server.x86_64 -nographics -batchmode \  -name "Longship Crew" -port 2456 -world "Midgard" -password "herring-barrel-42"Restart=on-failureRestartSec=10KillSignal=SIGINTTimeoutStopSec=90[Install]WantedBy=multi-user.target

KillSignal=SIGINT je řádek, na kterém záleží, a ten, který lidé vynechávají. Mnoho herních serverů se při čistém přerušení uloží, ale při SIGKILL ztratí všechno od posledního automatického uložení, takže výchozí unit soubor, který pošle SIGTERM a po 90 sekundách to vzdá, tě může při každém restartu stroje tiše stát večer postupu. Služby systemd pro tvoje aplikace projde ostatní direktivy.

Zálohy jsou druhá věc, která se nedějí samy. Snapshot od poskytovatele chrání před smrtí disku; nechrání před tím, že o půlnoci smažeš svět. Něco jako restic, mířící na úložiště na jiném stroji, stojí deset minut nastavení:

bash
$ restic -r sftp:backup@198.51.100.5:/srv/restic init$ restic -r sftp:backup@198.51.100.5:/srv/restic backup /home/valheim/server/worlds_local$ restic -r sftp:backup@198.51.100.5:/srv/restic forget \    --keep-daily 7 --keep-weekly 4 --prune

Dej to do časovače systemd nebo záznamu v cronu a pak jednu zálohu obnov někam neškodně, dřív než ji budeš potřebovat. Záloha, kterou nikdo neobnovil, je hypotéza a vyzkoušej obnovu dřív, než ji budeš potřebovat je nejkratší článek na tomto webu, který stojí za dvojí přečtení.

Na spravovaném tarifu je celá tato sekce záložka Backups se sloty v každém tarifu, na požádání nebo podle plánu, obnovovaná tlačítkem a uložená mimo stroj, který chrání. Panel má také záložku Schedules s výrazy cronu a seřazenými úlohami, takže noční záloha plus týdenní restart jsou dvě minuty klikání místo dvou unit souborů.

Panel na vlastním VDS#

Běžná ambice je mít obojí: root přístup i pěkné rozhraní pro lidi, kteří server sdílejí. Je to možné a hodně lidí to dělá, ale buď si jasný, do čeho jdeš.

prohlížečúčet subuserasshTyTvoji kamarádiTvůj VDSroot, ufw, aktualizaceSpravovaný tarifpanel, zálohy, SFTPWings + Dockerinstalace a záplaty na toběHerní server
Stejný herní server, vlastněný dvěma způsoby

Pterodactyl má dvě části. Panel je aplikace v Laravelu, která potřebuje webový server, PHP s uvedenými rozšířeními, databázi kompatibilní s MySQL, Redis a Composer. Wings je démon v Go, který potřebuje Docker a s panelem komunikuje na vlastním portu, přičemž SFTP se obsluhuje zvlášť. Výchozí hodnoty upstreamu dávají API Wings na 8080 a jeho SFTP listener na 2022, s vlastním panelem na 80 a 443.

To je nejméně pět služeb k záplatování, plus certifikáty pro hostname panelu, plus image Dockeru pro každou hru, kterou provozuješ. Na VDS s 16 GB to je v pořádku. Na úrovni s 8 GB je to znatelný kus paměti utracený za infrastrukturu místo za hráče a každá z těch součástí se může pokazit v nevhodnou hodinu.

Rozumné pravidlo: instaluj panel na vlastní stroj, když hostuješ pro jiné lidi a panel je součástí produktu. Neinstaluj ho proto, aby tři kamarádi mohli stisknout Restart. Dej jim místo toho účet subusera na spravovaném tarifu a nech si víkend.

Bezpečnost je místo, kde je rozdíl skutečný#

Na spravovaném tarifu je bezpečnostní model už postavený a je stejný v každém tarifu: dvoufaktorové ověření kódy z autentikátoru a jednorázovými záložními kódy, podrobné role, takže někdo může mít konzoli, ale ne fakturaci, protokoly aktivity pro každý server, přihlašovací údaje SFTP vydávané pro server, ne pro účet, a klíče API, které lze omezit podle adresy. Platformní zálohy běží každou noc, kopírují se na oddělený hardware, ověřují se a čistí. Když se kontejner dostane do potíží, zastaví se a čistě restartuje.

Na VDS je každá z těchto věcí něco, co si postavíš, nebo ji nemáš. Stojí za to říct otevřeně, co se na malých spravovaných strojích opravdu pokazí, zhruba podle četnosti:

  • Účet SSH s heslem a slabé heslo, které najde skener během hodin po zveřejnění adresy.
  • Databáze nebo administrační rozhraní navázané na 0.0.0.0 a publikované přes Docker mimo firewall.
  • Závislost aplikace se známou dírou na stroji, kde se nic neaktualizovalo od dne objednávky.
  • Přihlašovací údaje odevzdané do veřejného repozitáře a pak použité odkudkoli jinam.

Téměř nic z toho není exploit jádra. Zkontroluj, co poslouchá, pomocí ss -tulpen v den, kdy dokončíš nastavení, a pak jednou měsíčně, a udržuj odpověď krátkou. Pravidla firewallu, na kterých záleží je praktická verze tohoto návyku.

Cena v hodinách, nejen v dolarech#

Ohodnoť hodiny tím, kolik stojí tvoje hodina, a pak porovnej. Jde o typické, ne nejhorší případy, a předpokládají, že nic nejde vážně špatně.

ÚlohaSpravovaný tarifVDS
Rozběhnutí herního serveru1 minuta po platbě1-3 hodiny poprvé
Aktualizace operačního systémuŽádné15-30 minut měsíčně
Nastavení zálohZapnout plán30-60 minut, jednou
Obnova zálohyJedno tlačítko10-30 minut, pokud sis to nacvičil
Přidání druhého herního serveruObjednat20-60 minut
Restart pro kamarádaPozvat subuseraÚčet SSH, nebo skript, nebo panel
Pád ve 3 ránoHlídáno, restartováno, otevřen tiketTvoje

Poslední řádek stojí za rozvedení, protože právě ten obě řešení pořádně odděluje. Na spravovaném tarifu hlídač každých pár minut kontroluje server, který přešel offline nebo jehož uptime se vrátil zpět, a restarty, které jsi vyžádal ty, se nepočítají. Tři neočekávané restarty za hodinu vyvolají varování na stránce serveru a automaticky otevřou tiket. Na VDS je ekvivalentem řádek Restart=on-failure a jakýkoli monitoring, který sis postavil, a o smyčce pádů se obvykle dozvíš ze zprávy od hráče. Monitoring, který ti něco řekne stojí za přečtení dřív, než si ho postavíš sám.

Peníze, s aktuálními řadami tarifů jako kontrolou rozumnosti: řada VDS začíná na 8 GB, 128 GB disku a dvou vCPU na Intel i9-9900K a stoupá na 16 GB se čtyřmi vCPU a 24 GB se šesti. Jeden spravovaný tarif pro Minecraft se 4 GB a 1,5 vCPU je zlomek této ceny. Dva nebo tři samostatné spravované servery skončí ve stejném cenovém rozsahu jako vstupní VDS s menší celkovou pamětí, ale bez té práce. Šest nebo sedm samostatných malých služeb ne, a to je bod zlomu.

FAQ#

Je VDS rychlejší než spravovaný herní server?

Ne ze své podstaty. Obojí je podíl stejného druhu hardwaru s pevným limitem CPU a Minecraft server s 1,5 vCPU se chová stejně tak i tak. VDS může působit rychleji, protože můžeš ladit celý stroj, a pomaleji, protože za to ladění zodpovídáš také ty.

Můžu na svém VDS provozovat panel pro herní hosting?

Ano. Panel Pterodactylu a Wings se nainstalují na jakýkoli novější Debian nebo Ubuntu s Dockerem. Počítej s asi 1 GB paměti a záplatováním několika služeb jako cenou a dělej to jen tehdy, když je panel součástí toho, co nabízíš ostatním.

Dostanu na spravovaném tarifu root nebo SSH?

Ne. Dostaneš SFTP s přihlašovacími údaji vydávanými pro server, správce souborů v prohlížeči s editorem se zvýrazněním syntaxe a nefiltrovanou konzoli s historií příkazů. To pokrývá konfiguraci, nahrávání a čtení logů, což je většina toho, na co lidé root skutečně chtějí.

Kolik Linuxu musím umět, než si vezmu VDS?

Dost na to, aby ti nedělal problém správce balíčků, systemctl, journalctl, firewall a práva k souborům, aniž bys každý z nich hledal. Pokud ten seznam působí jako domácí úkol, ne jako úterý, je teď správnou odpovědí panel.

Co se stane, když VDS dojde paměť?

OOM killer jádra vybere proces a ukončí ho, obvykle ten největší, což je obvykle ten, na kterém ti záleželo. Spravované kontejnery se na limitu zastaví a čistě restartují místo toho, aby se nechaly swapovat. Swap a OOM killer vysvětluje, jak potom číst důkazy.

Můžu později přejít z jednoho na druhé?

Ano, a data se obvykle přenesou čistě, protože svět nebo aplikace jsou jen soubory. Zkopíruj je přes SFTP pryč, zkopíruj je zpět na druhé straně a změň adresu, kterou hráči používají. Přesun serveru bez ztráty hráčů popisuje, jak to udělat bez dne zmatku.


Komentáře

Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.

0/2000