Hlavní navigace

Jednodeskové počítače z pohledu dlouhodobé spolehlivosti

16. 11. 2021
Doba čtení: 11 minut

Sdílet

 Autor: Depositphotos
Jsou populární jednodeskové počítače dostatečně spolehlivé po dlouhou dobu? Pokud si postavím ovládání zavlažovacího systému, telefonní ústřednu, alarm či domovní zvonky s kamerou a napojení na VoIP, bude to dosahovat vysoké spolehlivosti?

Jednodeskovým počítačem (SBC – single-board computer) myslím malý počítač na jedné desce plošných spojů, jako například nejznámější Raspberry Pi. Kladu si otázku, zda bývají tato zařízení dostatečně spolehlivá s dostatečně dlouhou životností pro většinu aplikací v běžném životě. Pokud si postavím ovládání zavlažovacího systému, telefonní ústřednu, alarm či domovní zvonky s kamerou a napojení na VoIP, bude to dosahovat stejné spolehlivosti a životnosti jako obdobná existující řešení?

Zákazník je zvyklý, že obdobná zařízení fungují i desítky let a průměrná porucha vyžadující servis by neměla být o mnoho častější než jednou za deset let. Jsou běžné jednodeskové počítače schopny splnit tyto přísné, ale zároveň běžné, nároky na většinu aplikací? Jedině pak má smysl SBC do takových aplikací nasazovat.

Kolik stojí výpadek?

Cena neplánovaného výpadku může být podstatně vyšší, než kolik by se mohlo zdát. Hlavní důvod je ten, že uživatelé takového zařízení se zdaleka nemusí chovat a často nechovají ideálně. Pro lidi je přirozené nepříjemné drobné problémy ignorovat až do doby, kdy je z malého problému problém velký. Bohužel tohle není jen vlastnost jednotlivců, ale tímto chováním trpí i velké firmy a to často až neuvěřitelným způsobem. Pracuji v telekomunikacích a běžně narážím na závažné, ale dlouhodobě přehlížené problémy u velkých firem. Přimět je k nápravě, i když je to ku prospěchu všech, bývá někdy opravdu těžké.

Jak takové zatloukání problému může vypadat? V předvánoční době roku 2019 jsme učinili objednávku na jednom velkém českém e-shopu s doručením do automatického výdejního místa. Když jsme si šli ale zásilku vyzvednout, počítač uvnitř se jen pořád dokola restartoval – nemohl najít disk, z kterého bylo možné nabootovat. Na infolince tvrdili, že je vše v pořádku, nemělo moc smysl se nimi hádat.

Po skončení víkendu (pět dní od objednávky), kdy se měl podle SMS již balík vracet, na infolince už problém připouštěli, stále jaksi ale nevěděli, co s tím. Zboží nelze objednat znovu, protože by jej přednostně chtěli stále doručit do nefunkčního boxu. Teprve týden po objednávce přišel strohý email o tom, že objednávka je stornována, že mám provést novou. Vypadá to, že to v obchodě začali řešit až poté, co se jim někde ve skladě nahromadilo několik set nedoručitelných balíků. Výdejní systém na daném místě byl pak nefunkční ještě celý měsíc.

Slabá místa Raspberry Pi

Jaká jsou tedy potenciálně slabá místa Raspberry Pi? Nejdůležitější je jistě kvalitní a dlouhodobě spolehlivý zdroj. Druhá velmi podstatná a bohužel také volitelná součástka je microSD karta, která se používá jako běžný disk, na což není určena. Problematické je časté zapisování malých bloků dat. Běžná karta neumí zapsat malý blok, musí tedy přepsat blok velký, čímž se zbytečně opotřebovává, navíc se tím zvyšuje pravděpodobnost výpadku napájení během zápisu. Výpadek napájení během zápisu může znamenat nejen, že přijdete o celý velký blok, na který se zapisuje, ale může dojít k nevratnému poškození celého souborového systému.

Běžně dělám podporu VoIP zařízení (telefony a adaptéry). Je třeba si uvědomit, že uživatelé z běžné populace mívají často problém i s naprosto jednoduchými úkony. Pro někoho může být obtížné už jen samotné zařízení najít a zkontrolovat napájení a připojení ethernetu. Chtít po uživateli, aby si sám vybral, koupil a připravil microSD kartu, může být velmi zatěžující, někdy až nereálné. I kdybychom náhradní kartu zasílali poštou, nebo měl zákazník nějakou v zásobě, výměna a opětovné nastavení nemusí být triviální. Byť by šlo třeba jen o zadání jména a hesla do webového prohlížeče.

Hlavně ale běžný uživatel může mít vůbec problém s tím, aby si zavčas všiml toho, že zařízení nefunguje jak má a začal to řešit dříve, než to způsobí nějaké podstatnější škody.

Jak zlepšit spolehlivost microSD karty

Použít průmyslovou microSD kartu. Tyto karty bývají dražší, měly by mít větší životnost a měly by umět zapisovat po menších blocích. Problém ale může být, jakou kartu přesně vybrat. Kdyby výrobce RPi nějakou sám prodával nebo doporučoval, hodně by nám tohle rozhodování ulehčil.

Koupit si eMMC kartu, kterou lze zapojit do běžného slotu na microSD kartu, třeba UUGear Raspikey: 16GB eMMC. Nevýhoda je, že tato karta trčí do prostoru a při použití běžné krabičky hrozí její ulomení koncovým uživatelem.

Přidat k RPi baterii, aby nemohlo dojít k nečekanému výpadku elektřiny. K poškození SD karty nebo dat na ní uložení dochází především při výpadku napájení během zápisu. Běžná SD karta také zapisuje v hodně velkých blocích, tedy pravděpodobnost problému kvůli výpadku elektřiny je podstatná. Přispět k problémům může též nešikovná manipulace uživatelem, který může zařízení vypínat vytáhnutím z elektřiny, jak je zvyklý u routerů a podobných zařízení. Přidání baterie je ale stále polovičaté řešení, které pomůže jen částečně a zároveň zdvojnásobí celkovou cenu. Baterie může navíc být další prvek s omezenou životností.

Omezit množství zápisů. Zde je sousta možností od těch jednodušších, jako neukládat datum posledního čtení noatime, zakázání swapu, práce s ramdiskem – např. logovat jen do ramdisku a jen jednou za čas zkopírovat log na SD kartu a podobně. Extrémní případ může být mít celý systém namontovaný jako read-only a jen jednou za čas, nebo při ukládání nového nastavení, na chvíli změnit způsob namountování a provést zápis.

Bohužel to často vyžaduje větší zásahy do operačního systému, které ale nejsou triviální a totálně se tak ztrácí elegance, kdy ono zařízení funguje stejně jako běžný počítač. Rozdělit SD kartu na dvě části, přičemž jednu část nechat jen na čtení a předpokládat, že data v této části se nemohou poškodit, bohužel nelze. Bohužel SD karty jsou dělány tak, že se mohou poškodit i data na části, kam se vůbec nezapisuje. Obnova pomocí „resetu do továrního nastavení“ tak nemusí být možná.

Z karty jen číst a zápisy provádět online, do lokální sítě, případně do USB klíčenky. Slyšel jsem ale i takové názory, že SD karty nemají rády ani příliš časté čtení. Nevím ale, jestli je na tom něco pravdy, nebo je to nějaká povídačka.

Jak se microSD kartě vyhnout u Raspberry Pi

Další možností je startovat systém z lokální počítačové sítě a microSD kartu tam vůbec nedávat. Je to dobré řešení, pokud je více RPi v jedné lokalitě, např. v průmyslu. Ne vždy je to ale možné.

Používat běžný disk přes USB. Problém ale bývá v tom, že bootovat z tohoto disku vyžaduje speciální postup a je to považováno za jakýsi nadstandard, tedy nemusí to mít nová verze Raspberry Pi hned od začátku, pokud vůbec. Krom toho připojit USB disk vypadá fušersky a celková velikost i cena zařízení se dost možná zdvojnásobí. U předchozích verzí RPi bývalo USB 2.0 na toto použití dost pomalé, v případě Raspberry Pi 4 se na USB 3.0 ztrácí v nejlepším případě zhruba 20 % rychlosti disku oproti nativnímu SATA. Na USB disk je dobré mít pro jistotu extra napájení.

Použít Raspberry Compute Module, který se prodává i s variantou eMMC. Compute moduly jsou určeny pro průmysl a ten eMMC vyžaduje. Compute modul RPi nahradí a je třeba jej použít společně se základní deskou. Můžete vybrat takovou, která dovolí přepojení M.2 disku, třeba CM4-IO-BASE-B.

Nabízí se pak možnost to eMMC používat jen jako záchranný systém, a hlavní systém instalovat na hlavní M.2 disk. Variant základních desek je více, snad bude časem dostupná i deska s nativní podporou SATA. Ve všech těchto případech přijdete však o možnost využít USB 3.0, což ale velká škoda není. Nevýhodou je, že se Compute moduly a základní desky k nim hůře shání a nevejdou se do standardní krabičky.

Použití jiného zařízení než Raspberry Pi

Po úspěšném uvedení na trh první verze Raspberry Pi v roce 2012 se vyrojilo celé hejno napodobenin. Bohužel tyto kopie většinou napodobily i používání microSD karty. Nyní, po delší době, většina projektů napodobenin spíše skomírá, dost možná také kvůli nedostatku výrobních kapacit po koronavirové krizi. Existují ale projekty podobné RPi, které dělají některé podstatné detaily jinak a lépe.

PINE64

Stránky projektu pine64.org obhospodařuje hongkongská firma Pine Store Limited, která se do velké míry chová jako neziskovka. Všechny její jednodeskové počítače mají možnost připojení eMMC paměti, která se kupuje zvlášť a připojuje pomocí konektoru.

PINE obsahují 128Mbit SPI boot Flash, která otvírá další potenciální možnosti bootování a snadnějšího upgradu a správy systému. Mně osobně ale odradil od objednání fakt, že celá řada modelů v e-shopu je vyprodaná. Především ty levnější varianty.

Odroid

Odroid jednodeskový počítač si lze pořídit na stránkách firmy Hardkernel. Poštovné činí 25 USD, ale pokud neobjednáváte na firmu plátce DPH (doporučuji), DHL si účtuje poplatek 800 Kč za odvedení DPH, clo je nulové. Odroid lze koupit i v ČR.

Opět platí, že vyměnitelná paměť eMMC se prodává zvlášť. SPI boot flash má velikost jen 8 MB, ale i tak se do ní vměstná Petitboot, který umožní bootovat z libovolného zařízení a nově též zahájit běžnou síťovou instalaci přímo z internetu. Tedy nejen že instalace funguje stejně, jak jsme zvyklí na PC, ale je ještě pohodlnější, protože systém, který chceme začít instalovat, jen vybereme v menu. Může se to zdát jako drobnost, ale možnost provisioningu a pohodlného upgradu je pro masové použití produktu naprosto klíčová a podstatným způsobem snižuje délku případného výpadku.

Za poznámku také stojí fakt, že Odroid N2+ má přibližně dvojnásobný procesorový výkon v porovnání s Raspberry Pi 4 a to při spotřebě o jeden watt nižší. Novější linuxová jádra obsahují ovladač pro Wayland s hardwarovou akcelerací. Tedy v mém případě po instalaci Ubuntu 21.10 „Imprish Indri“ nabízené Petitbootem funguje vše hned bez jakékoli extra konfigurace. Naproti tomu ovladač pro X prý vůbec neexistuje.

Osobně jsem ale s nuceným přechodem na Wayland žádný problém nezaznamenal. Jsem zvyklý na okenního správce i3, jehož alternativa pro Wayland se jmenuje Sway. Použití eMMC znamená kromě lepší spolehlivosti i několikanásobné zrychlení diskových operací oproti SD kartě. Pak je tento stroj opravdu použitelný jako běžný počítač pro občasné nebo méně náročné uživatele.

Odroid – instalace systému „revolučním způsobem“

Pokud bych projektu Odroid mohl něco vytknout, je to nepříliš podrobná a často zastaralá dokumentace na jeho wiki. Např. stránka Third party OS Images je zastaralá a neúplná, podobně informace o tom, jak nejpohodlněji aktualizovat Petitboot. Vše je možné dohledat na fóru, ale je to tam nepřehledné a nepohodlné, navíc si člověk nemůže být nikdy jist, že něco nepřehlédl. Popíši zde proto instalaci systému bez zbytečné manipulace s modulem eMMC, microSD kartou nebo USB flash pamětí.

Aktualizace Petitbootu

Aby byly korektně zobrazeny všechny dostupné instalace a též abyste se zbytečně netrápili již opravenými nedokonalostmi, lze doporučit jako první provést aktualizaci Petitbootu.

  1. Přepněte přepínač bootování do pozice SPI, aby byl zaveden Petitboot z této paměti.
  2. Nainstalovanou verzi naleznete nahoře za slovem Petitboot. Viz též obrázek. Jestli je k dispozici novější verze, můžete zkontrolovat na wiki Odroidu.
  3. Pokud je k dispozici novější verze, v hlavním menu Petitboot vyberte „Exit to shell“.
  4. Proveďte aktualizaci příkazem pb-update. To chvíli potrvá.
  5. Po dokončení aktualizace, restartujte počítač např. zmáčknutím ctrl+alt+del.

Instalace přímo z internetu

  1. Opět v hlavním menu Petitboot vyberte „Exit to shell“
  2. Napište příkaz netboot_default a exit
  3. Nyní v hlavním menu přibyly možnosti síťových instalací různých verzí Ubuntu a Debianu, jak je vidět na obrázku.
  4. Vyberte distribuci k instalaci. Dále síťová instalace probíhá přesně, jak jste zvyklí z PC v textovém režimu. Před instalací dostanete možnost přerozdělit a formátovat libovolný disk. Petitboot i instalátor vidí všechny disky eMMC, microSD, disky připojené přes USB, případně i nativní SATA disky. Možné je mít více různých diskových oddílů i více různých distribucí na jediné eMMC paměti, jak je to možné u běžných disků.

Petitboot dovede rozpoznat a nabootovat i některé instalace Androidu, jako např. oficiální Android 9 pro Odroid. Bootovat je možné z eMMC nebo microSD karty. LineageOS 17.1 (Android 10) a LineageOS 18.1 (Android 11), který sestavuje jeden uživatel z fóra Odroidu, ale rozpoznat a nabootovat neumí. Zajímavé je, že LineageOS důrazně nedoporučuje používat microSD kartu pro Android, poslední verzi ani s microSD kartou netestuje.


Autor: Petr Soukup

Petitboot nabízí nejen možnost bootovat všechny nalezené operační systémy (na obrázku je to nejnovější Ubuntu „Imprish Indri“ a Android) ze všech nalezených disků a úložišť, ale též zahájit síťovou instalaci, nebo start live distribuce přímo z internetu.


Autor: Petr Soukup

Síťová instalace pak pokračuje stejným způsobem jako na běžném počítači, včetně možnosti výběru a změny velikosti stávajících oblastí na disku


Autor: Petr Soukup

Odroid s Linuxem použitý pro videokoferenci na televizi s využitím programu Telegram. Před spuštěním jsem ale musel snížit rozlišení, protože 4K procesor neutáhne a kamery mají stejně rozlišení podstatně nižší. Jako mikrofon je použit ten uvnitř USB web kamery.


Autor: Petr Soukup

Odroid HC4 umožňuje připojit i bootovat (díky Petitboot) přímo ze dvou SATA disků. Z toho důvodu neobsahuje slot na eMMC pamět a přítomný microSD slot tak může zůstat prázdný, nebo jej lze využít jen pro instalaci či start live distribuce pro případné opravy hlavního systému na dálku.

Rock Pi

Např. Rock Pi 4 (a nejen ta) má jak možnost připojení eMMC paměti (kompatibilní s Odroid a PINE), tak možnost připojit M.2 SSD. Kvůli formátu a chlazení jej ale doporučují připojit přes přídavnou desku s prodlužkou a chladičem, ke kterému se ta přídavná deska připevní. Na to celé si můžete koupit elegantní kovovou krabičku s plexisklovým víkem.

Root školení Elk

Pokud potřebujete připojit více disků, je možné přikoupit řadič SATA, který připojíte též pomocí prodlužky M.2. Rázem máte k dispozici 4×SATA + 1×eSATA.

Za podstatnou výhodu považuji také to, že je vše dodáváno a testováno přímo výrobcem počítače a není třeba vybírat nějaký výrobek třetí strany.


Autor: Allnet China

Připojení pěti různých disků k Rock Pi 4

Autor článku

Petr Soukup vystudoval VUT FIT v Brně, je jednatelem ve společnosti miniTEL s.r.o. provozující služby Odorik.cz (VoIP). Používá linuxovou distribuci Debian a programovací jazyk Ruby.