Rasberry PI použitelné jen na hraní?

nobody(ten pravej)

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #45 kdy: 19. 12. 2017, 19:52:45 »
@Petr Bravenec

Nic ve zlem, jiste mas zkusenosti s vyvojem, ale zaroven je videt ze i kdyz se snazis, mas urcite mezery ;-)

Ten kamarad s hromadou vadnych SD, pokud se k tomu choval jako prase(kdyz karta umre jiz druhy den, tak hure nez prase), je logicke ze to odchazelo jak na bezicim pasu, SD ci obecne Flash pamet neni totez co rotacni disk nebo aspon SSD...

Kdyz uvadis "při práci linuxového stroje zapisují na disk tyto informace":
- noatime, nodiratime a relatime
Tak asi nevis co pises, protoze:
1. noatime neni informace, ale volba pro zakazani, informace je "atime" (access time), diratime (directory access time)
2. relatime je volba, kdy se sice informace atime ci adirtime ukladaji, ale ne vzdy pri kazdem pristupu, ale jednorazove/hromadne 1x za den

Kdyz uvadis ze je vhodne pridat "nodiratime,noatime,norelatime"
1. KAZDA distribuce pro ARM desku (pokud ji nedelalo prase), ma jako vychozi ve fstab nastavene pro SD kartu mount volbu: noatime
2. NENI treba specifikovat noatime i nodiratime, protoze noatime obsahuje automaticky i nodiratime,
    norelatime NENI potreba zadavat vubec, protoze specifikovanim noatime se relatime automaticky rusi (viz man mount)

Pak rucni pridavani do fstab vytvareni tmpfs v /dev/shm
1. tohle neni treba, protoze /dev/shm je vytvareno automaticky a lze pouzit pro ukladani rovnou
2. rucni pridavani tmpfs je vhodne jen pokud chces ukladat jinam a nebo urcit jinou velikost maximalni velikosti

Logy, radis jako "nejjednodusi" nestartovat syslog demona, tedy VUBEC nelogovat:
1. z principu je to absolutne nevhodne a nehrorsi mozne reseni
2. nelogovanim se prijde o moznost sledovat logy a zjistit tak ze je problem s SD kartou, nebo s nejakou sluzbou, resp. obecne ze je nejaky problem

Info o wtmp, radis ho smazat
1. pri smazani se (minimalne) pri restartu automaticky vytvori znovu
2. v "man wtmp" se pise:
Unlike various other systems, where utmp logging can be disabled by removing the file, utmp must always exist on Linux.
If you want to disable who(1) then do not make utmp world readable
(pripadne kdyz uz nekdo chce nutne zakazat/prasit, tak z udelat /var/log/wtmp symlink do /dev/null)

Nejvhodnejsi filesystem pro SD kartu, pises ze po nastudovani je to ext4, asi ti uniklo JFFS2
1. JFFS2 je dela pro SD karty, resp. obecne flash pameti
2. nemam nic proti EXT4 pouzitem u SD karty, ale spis z duvodu ze jde o klasiku, nez ze je to nejlepsi pro SD
3. vypnutim journalu si zas koledujes o problemy s naborenym filesystemem, coz se muze stavat (kdyz vypnes/neni journal) mnohem casteji nez zniceni SD karty pod filesystemem

Doporucujues upravit init scripty(btw: jde o 1 script) aby se fsck provadel s odpovedi y na vsechny otazky
1. bezne se kontroluje tak aby se uzivatele na nic neptalo a oprava se provedla
2. kdyz uz se uzivatele na neco pta, jedna se o situaci kdy NENI jistota, ze automaticka (nebo s volbou -y) oprava by to dokazala spravne, tedy jde o situace kdy je VHODNE aby uzivatel rozhodl co delat a jake moznosti vybrat


Re:Rasberry PI použitelné jen na hraní?
« Odpověď #46 kdy: 19. 12. 2017, 20:17:11 »
Ja som pouzival raspberry 2 roky nonstop , nic som nemenil na konfiguracii, boli caste vypadky elektriky a ziadna SD karta neodisla. Stahoval som si tam aj torrenty, ale to som ukladal na USB disk. To by potom odchadzali ako na beziacom pase aj SD karty v mobiloch a tam mi odisla jedna, ktora mala asi 6 rokov.

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #47 kdy: 19. 12. 2017, 20:43:30 »
Tak to vypadá, že bootovat z NAND flash spolehlivost nezvýší.

https://www.olimex.com/wiki/How_to_install_Debian_to_NAND

Citace
Using NAND is better than using microSD card:

 -   if you are aiming for minimal power consumption;
 -   if you want faster read and write
 -   when there is no microSD card connector, no external connections are allowed, or microSD card is not a preferred storage medium;
 -   for academic reasons;
 -   Since it is harder to compromise the security of the system physically (as opposed to just stealing the microSD card).


Using NAND is worse than using microSD card because:

-    you need more software knowledge, especially regarding file systems;
-    it is harder to make a backup;
-    in case of a problem with the file system – the device would not boot and the recovery (of your data) would be nearly impossible.

Petr Bravenec

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #48 kdy: 19. 12. 2017, 21:39:31 »
@Petr Bravenec

Nic ve zlem, jiste mas zkusenosti s vyvojem, ale zaroven je videt ze i kdyz se snazis, mas urcite mezery ;-)

Mezer mám spoustu. Snažím se je zaplnit, ale vždy když jednu mezeru zaplním, nepodaří se mi pak kvůli tomu zaplnit mezeru jinou. A tam mě pak někdo nachytá a vysvětlí mi rozdíl mezi "atime" a "noatime". Na těchto diskusích je fajn, že se vždy najde někdo, kdo mě dokáže opravit.

Ten článek vznikl na začátku roku 2014 a odpovídá zkušenostem té doby a hardwaru (kromě chyb, ty jsou moje). Na BB white byl k dispozici Angstrom a v něm asi jen třetina věcí, které jsem potřeboval, překládal jsem kvůli tomu na BB Gentoo. Driver pro vlastní desku jsem musel napsat přímo v kódu kernelu. To že karta v BB vydržela čtrnáct dní, mě v tu dobu trápilo asi tak v rozsahu toho článku - prostě jsem takto omezil veškeré zápisy a byl klid. Několik málo těch škatulí s nejlevnější SD kartou funguje bez potíží dodnes.

O existenci JFFS2 vím už dlouho a nějaké zkušenosti s ním mám už z OpenWRT. Chvíli jsem o tomto filesystemu uvažoval. Ale to už bych dělal kompletně novou distribuci, nejenom "pouze" překládal Gentoo a vlastní kernel. To je práce, kterou by se nevyplatila. I dneska jsou asi všechny dostupné distribuce pro BB postavené na ext4. JFFS2 nebo squashfs potkávám dodnes pouze na řádově jednodušších strojích srovnatelných s výkonnějším routerem na OpenWRT.

Dneska je technika a zkušenosti vůbec někde úplně jinde. Do krabic dávám BeagleBone industrial s 4 GB eMMC bez větších úprav a není s tím žádný problém. Po světě mám nainstalovanou stovku krabic a o drtivé většině z nich nevím. Před pár týdny jsem portoval software a firmware na Debian 9 - co si vymyslím, to tam najdu. To jsou věci, o kterých jsem si mohl nechat před čtyřmi lety nechat leda zdát. RPi se jistě vyvíjí bouřlivě taky, ale hardware se ubírá jinou cestou (bogomipsy prodávají) a letité zkušenosti s SD kartami se zde díky tomu mohou hodit i dnes.

Těší mě, že jste moje zkušenosti doplnil o svoje poznámky. Je vidět, že článek, byť se tváří jako triviální polotovar, dokáže někoho přimět k zamyšlení. Doufám, že pokud někoho článek inspiruje, bude uvažovat podobně jako vy a dokáže přizpůsobit moje rady svojí situaci. Může si například říct: "Vždyť já mám JISTOTU, že uživatel nemůže u fsck rozhodnout vůbec o ničem, protože jsem kvůli čtyřem sériovým portům musel vypnout grafickou kartu (BB Black) nebo tam vůbec žádná grafika není (BB White). Jde tedy o situaci, kdy by bylo vhodné zajistit, aby uživatel nemusel rozhodovat vůbec."

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #49 kdy: 19. 12. 2017, 22:01:05 »
Nejvhodnejsi filesystem pro SD kartu, pises ze po nastudovani je to ext4, asi ti uniklo JFFS2
1. JFFS2 je dela pro SD karty, resp. obecne flash pameti
2. nemam nic proti EXT4 pouzitem u SD karty, ale spis z duvodu ze jde o klasiku, nez ze je to nejlepsi pro SD
3. vypnutim journalu si zas koledujes o problemy s naborenym filesystemem, coz se muze stavat (kdyz vypnes/neni journal) mnohem casteji nez zniceni SD karty pod filesystemem
To není pravda. JFFS2 není určeno pro SD kartu a proto se pro ni běžně nepoužívá. Je určeno pro flash NAND.
Je možné že použitím JFFS2 se docílí nějaké další zlepšení, otázka ale je jestli to stojí za tu námahu.
V zásadě SD karta se tváří jako blokové zařízení a o všechno v pozadí se stará sama a nezbývá než se modlit aby při větších zápisech neodešla. Jediné co můžeme udělat je omezit množství zápisů. A provádět zápisy v dávkách a ne po jednotlivých řádcích do logu.

https://www.raspberrypi.org/forums/viewtopic.php?t=61631&p=460046

Hlavní  problém SD karty není jen nízká živost a možnost samovolného zničení jen tak.  Ale hlavní problém při nečekaném vypnutí se mohou poškodit data, která vůbec nesouvisela se zapisovanými daty. Pokud se tohle stan žádné journalování nepomůže. Journálování je dobré jen pro běžné disky. Ba naopak podstatně zvýší množství zápisů a tím i pravděpodobnost tohoto problému. Tedy vypnout journalování je opravdu u SD karet doporučováno.

To je sranda kolik různých pověr u RP panuje.


Kit

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #50 kdy: 19. 12. 2017, 22:48:03 »
Těší mě, že jste moje zkušenosti doplnil o svoje poznámky. Je vidět, že článek, byť se tváří jako triviální polotovar, dokáže někoho přimět k zamyšlení. Doufám, že pokud někoho článek inspiruje, bude uvažovat podobně jako vy a dokáže přizpůsobit moje rady svojí situaci. Může si například říct: "Vždyť já mám JISTOTU, že uživatel nemůže u fsck rozhodnout vůbec o ničem, protože jsem kvůli čtyřem sériovým portům musel vypnout grafickou kartu (BB Black) nebo tam vůbec žádná grafika není (BB White). Jde tedy o situaci, kdy by bylo vhodné zajistit, aby uživatel nemusel rozhodovat vůbec."

Díky za zajímavý studijní materiál, který mi rozšířil obzor. RPi sice zatím nemám, ale až si ho pořídím, tyto zkušenosti určitě uplatním.

Je nutný fsck i na JFFS2? Jak zjistím velikost eraseblock na konkrétním zařízení?

SB

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #51 kdy: 20. 12. 2017, 11:52:44 »
•BananaPi vypadá dobře, ale má podobný problém s USB a SATA, že SATA je přes USB převodník a prý než 20 MB/s to nezvládne

To už snad bylo mnohokrát vyvráceno, ne? Který kokot to pořád rozšiřuje... První Banana má SATA z čipu, přes hdparm -t to jede přes 120 MB/s (asi omezení HDD, se SDD jsem to nezkoušel).

Ladislav Michl

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #52 kdy: 20. 12. 2017, 11:54:01 »
Furt se tu motají dohromady dvě různé věci. Co třeba trocha čtení na úvod?
http://www.linux-mtd.infradead.org/faq/general.html#L_mtd_vs_hdd

Je nutný fsck i na JFFS2? Jak zjistím velikost eraseblock na konkrétním zařízení?

Filesystémy nad MTD fsck nepoužívají, s výpadky napájení se počítá, samoopravují se za běhu. Pokud takový filesystém skončí v nekonsistentním stavu, jedná se o chybu, kterou je třeba hlásit ;-)

Kód: [Vybrat]
~ mtdinfo -a
Count of MTD devices:           2
Present MTD devices:            mtd0, mtd1
Sysfs interface supported:      yes

mtd0
Name:                           SPL
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          4 (524288 bytes, 512.0 KiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  512 bytes
OOB size:                       64 bytes
Character device major/minor:   90:0
Bad blocks are allowed:         true
Device is writable:             true

mtd1
Name:                           UBI
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          4092 (536346624 bytes, 511.5 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  512 bytes
OOB size:                       64 bytes
Character device major/minor:   90:2
Bad blocks are allowed:         true
Device is writable:             true

Pokud není utilita:
Kód: [Vybrat]
~ cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "SPL"
mtd1: 1ff80000 00020000 "UBI"

nobody(ten pravej)

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #53 kdy: 20. 12. 2017, 20:48:44 »
To není pravda. JFFS2 není určeno pro SD kartu[...]
omlouvam se, myslel sem F2FS...

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #54 kdy: 20. 12. 2017, 21:17:06 »

Dneska je technika a zkušenosti vůbec někde úplně jinde. Do krabic dávám BeagleBone industrial s 4 GB eMMC bez větších úprav a není s tím žádný problém. Po světě mám nainstalovanou stovku krabic a o drtivé většině z nich nevím. Před pár týdny jsem portoval software a firmware na Debian 9 - co si vymyslím, to tam najdu. To jsou věci, o kterých jsem si mohl nechat před čtyřmi lety nechat leda zdát. RPi se jistě vyvíjí bouřlivě taky, ale hardware se ubírá jinou cestou (bogomipsy prodávají) a letité zkušenosti s SD kartami se zde díky tomu mohou hodit i dnes.
Děkuji za postřehy a  názory. Prosím můžete napsat v čem si myslíte že je BeagleBone úplně jinde?

Bohužel RP se co mohu říci ze svého pohledu vůbec nevyvíjí s výjimkou pár nepatrných drobností a vyšší rychlosti procesoru. Vypadá to, že jediné co dělají opravdu dobře je PR.
Osobně mi přijde hrozná škoda, že RP nemá verzi s konektorem na baterii, případně i SATA. Ono zapojovat disk přes přetížený USB (i síť je skrytě přes USB) není zrovna dvakrát moudré a velmi omezuje možné profesionálnější použití.  Pro aplikace kde se hodně zapisuje, nebo dokonce jako dlouhodobě spolehlivý počítač na běžnou práci či experimenty, není RP vhodná.

Že nemá RP eMMC nebo NAND flash bych asi nevytýkal, protože to věci komplikuje a problémy aplikací co vyžadují větší množství zápisů to může zlepšit jen částečně. I když i tyto možnosti jsou také velké plus.

RP se nevyvíjí moc ani po softwarové stránce. Stále oficiálně poskytuje skripty, co předělají instalaci Rasbianu na read only a podobně, a nechala možnost přepínat se a pod. Člověk aby používal neoficiální distribuce, nebo si to celé připravoval sám. A co se týče souborového systému F2FS vhodného pro SD karty, vypadá to že tam lidem co to chtějí používat komplikuje život tím, že podporu nezakompiluje přímo do kernelu - nechali to jen jako modul.  Viz. zde dole https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=47769  A přitom by to měl být defaultně hlavní souborový systém RP co běží s SD karty.
Na mne to působí tak, že za RP stojí lidi co tomu moc nerozumí nebo z počátečního úspěchu už ztrácejí soudnost?
I když to má být výukový počítač, tak je třeba učit správné zásady. To ty nedokonalosti neomlouvá.

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #55 kdy: 20. 12. 2017, 21:34:20 »
To není pravda. JFFS2 není určeno pro SD kartu[...]
omlouvam se, myslel sem F2FS...

Ten F2FS vypadá fakt dobře, to by mohlo výrazně pomoci. A vůbec jsem o tom nevěděl. Dokonce lidi hlásí zvýšení rychlosti. https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=47769
Vypadá to, že ti co stojí za RP o tom také neví. Nechápu proč už to nenasadili jako defaultně hlavní souborový systém.  Nebo mohli aspoň nachystat skript, který to na něj převede.

Myslím že klíčem ke zvýšení životnosti SD karty omezení zápisů, aby se nemuselo kvůli každému řádku co přibude do logu zapisovat 2MB dat. Vlastně ještě mnohem více, protože kromě obsahu souboru se  mění ještě velikost souboru a jiné parametry uložené někde úplně jinde - tedy další 2MB zbytečně zapsaných dat se zapíše x krát, kvůli tomu že přibude do logu třeba 20 bytů.  Řešením je, aby se to ukládalo do paměti a změny se zapsali vždy až po dávkách, když je toho více, nebo před vypnutím či restartem. To by ovšem vyžadovalo vždy mít záložní baterii a tlačítko na vypnutí/restart. A na to jaksi RP nemyslí a každý si to musí dokutit sám. A to mi právě přijde na RP hrozně amatérské.

Ladislav Michl

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #56 kdy: 20. 12. 2017, 22:12:53 »
Že nemá RP eMMC nebo NAND flash bych asi nevytýkal, protože to věci komplikuje a problémy aplikací co vyžadují větší množství zápisů to může zlepšit jen částečně. I když i tyto možnosti jsou také velké plus.
Toto vlákno by bylo kratší/nemuselo vzniknout, kdybyste věnoval méně času čtení různých blogů. Třeba database storage přímo nad UBI težko překonáte, protože po vašem:
flash -> block translation layer -> block filesystem -> db (která implementuje "filesystem")
Tohle může v krajmím případě vést k mazání bloku pro každé uložení záznamu: aby šla stránka zapsat, musí být vymazaná, ale mazat lze pouze bloky, které jsou tvořeny stránkami.
Místo toho byste mohl mít db přímo nad flash, kde o linearitu a vadné bloky se stará UBI a zápisy provádět ve své režii. Navíc se vám do toho nemotá vfs cache.

Uvědomte si, že věty jako "on board NAND je horší než SD karta, protože tomu musíte rozumět" působí v kontextu tohoto vlákna jako špatný vtip! Buď se oháním profi použitím a nadávám na RPi (a používám předpřipravené distribuce) nebo vím, jak má fungovat spolehlivé zařízení a takto jej taky implementuju.

A mimochodem, btrfs sice je "under heavy development", ale taky "production stable".

Další zarážející věcí je použití Debianu (nebo jiné desktopové distribuce). Pokud to zařízení nemusím dlouhodobě podporovat, proč ne. V opačném případě si zkuste nainstalovat třeba 10let starou distribuci Debianu a pak ji zkusit vzdáleně aktualizovat. Potom sem můžete napsat, jestli se to povedlo, jak dlouho to trvalo a jestli byste to dokázali automatizovat pro ty stovky zařízení (o kterých asi netušíte, jestli tam někdo nedělal nějaký hotfix a jestli jsou všechny ve stejném výchozím stavu).

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #57 kdy: 21. 12. 2017, 14:35:50 »
Tak jsem hledal více informací o F2FS, ale vypadá to, že to nadšení je planý poplach.
https://forum.armbian.com/topic/4167-f2fs-revisited/
Je zajímavé že nikde nejde najít nějaké benchmarky, co by dokazovali zvýšenou rychlost a snížené množství zápisů při běžném provozu.

Tedy vypadá to, že slušné spolehlivosti nejde dosáhnout jinak než na SD kartu zapisovat jen vyjímečně. Tedy např. logy či nějaká měření dávat jen na RAM disk a do paměti je přesunout jen jednou za čas v dávce, případně při vypínání či restartu. To ale vyžaduje baterii.
A nebo použít SATA.

Pěknej přehled desek na armbian https://www.armbian.com/download/


Ladislav Michl

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #58 kdy: 21. 12. 2017, 17:51:07 »
Po lopatě: Mezi filesystémem a flash pamětí na SD kartě je Flash Translation Layer pro SD kartu specifický, zvenčí neviditelný (černá skříňka). Proto nemůžete říct, jak se bude SD karta v provozu chovat, nedokážete říct, že se dvě SD karty shodného obchodního označení budou chovat stejně a o množství zápisů na vnitřní flash SD karty "při běžném provozu" se můžete též akorát dohadovat.

Pokud Vašim zákazníkům stačí, že Vám to na stole fungovalo a že jste na anonymním fóru četl, že Frantovi to běželo bez problémů několik let, je SD karta naprosto báječné zařízení. Do toho!

Re:Rasberry PI použitelné jen na hraní?
« Odpověď #59 kdy: 21. 12. 2017, 20:59:50 »
Po lopatě: Mezi filesystémem a flash pamětí na SD kartě je Flash Translation Layer pro SD kartu specifický, zvenčí neviditelný (černá skříňka). Proto nemůžete říct, jak se bude SD karta v provozu chovat, nedokážete říct, že se dvě SD karty shodného obchodního označení budou chovat stejně a o množství zápisů na vnitřní flash SD karty "při běžném provozu" se můžete též akorát dohadovat.

Pokud Vašim zákazníkům stačí, že Vám to na stole fungovalo a že jste na anonymním fóru četl, že Frantovi to běželo bez problémů několik let, je SD karta naprosto báječné zařízení. Do toho!

Souhlasím. Z toho ovšem plyne, že jakékoli řešení s Raspberry Pi, které na SD kartu pravidelně zapisuje je amaterizmus.  Proto jsem založil tohle vlákno. Ano RP lze použít pro průmyslové nasazení, ale číst i zapisovat se musí ze síťového disku -   to RP podporuje.
Pravděpodobně použitelné bude když budete mít SD kartu v režimu jen pro čtení, nebo zapisovat budete naprosto minimálně třeba jednou denně.

Ale jaké máme jiné možnosti kromě SATA ? Nikde jsem neslyšel že by NAND flash bylo co se spolehlivosti týče na tom lépe. Ale možná je nad rozlišovací schopnosti lidí co o tom píší. NAND flash ale prý končí a budoucnost má eMMC. eMMC je ale také černá skříňka stejně jako SD a to jestli je kvalitnější nelze předem moc ověřit.