Testování nových HDD, SSD a paměťových karet před uvedením do provozu

Testování plotnových pevných disků: badblocks

Obecně se mi osvědčila linuxová utilitka badblocks. Ta disk otestuje 4x úplným přepsáním a následným kontrolním čtením: poprvé zapíše na všechny sektory 0, kontrolně celý povrch disku přečte, ze jsou skutečně všude nuly; a tohle zopakuje třikrát, jenom s jedničkami, potom na střídačku 10101010 a 010101. V praxi by to mělo znamenat, že každý sektor během testu 4x změní svoji hodnotu a testuje se, že si ji udrží…

Na závěr na disk ještě pustím integrovaný dlouhý SMART self-test, a pokud vše vyjde bez chyb, považuju disk dostatečně v kondici pro další provoz.

Spousta lidí spoléhá jenom na prvotní pomalé zformátování, což u úplných zmetků stačí, ale už jsem měl dva disky, kde začaly vypadávat tisíce vadných sektorů až při třetím zápisu/čtení při badblocks testu, proto tuhle metodu považuju za spolehlivější.

Nevýhodou je jen to, že tohle otestování poměrně dlouho trvá, je to prostě 4x zápis a 4x čtení celého povrchu disku omezené maximální rychlostí čtení a zápisu.

Stejný testovací „setup“ potom používám i na použité disky: a to jak na ty, které jsem použité koupil (občas se takto dají sehnat super dealy), tak na ty které se chystám prodat:

  • zjistím, že disk je dostatečně v kondici a novému majiteli s vysokou pravděpodobností ještě nějaký čas poslouží
  • bezpečně ho vymaže (pro bezpečné vymazání pevného disku stačí jediný přepis nulami, při badblocks se vše přepíše 4x, a ještě k tomu napřeskáčku)

Pokud není disk na odchodu úplně, tak naopak toto čtyřnásobné přepsání jej donutí přemapovat všechny sektory, které přemapovat jdou. Mám stále v provozu několik disků, kde už to vypadalo bledě (pravidelně chodily emaily ze SMART monitoringu o přibývajících sektorech), ale úplný přepis disku donutil firmware všechny tyto sektory skutečně přemapovat, a potom fungovaly dál, některé i několik desítek tisíc hodin. Samozřejmě už to pak není na produkční použití.

Mám to zautomatizované pomocí bash scriptu, který dělá toto:
– uloží úplný SMART výpis disku před testem (smartctl -a /dev/sdxxx)
– spustí badblocks test (badblocks -vsw /dev/sdxxx)
– spustí dlouhý SMART Self-Test (smartctl -t long /dev/sdxxx)
– znovu uloží SMART výpis
– přes dd rychle otestuje rychlost čtení a zápisu
– odešle na Telegram notifikaci, že je hotovo

smartctl -a $device >/tmp/smart-before.txt
badblocks -wsv $device 
smartctl -t short $device >/dev/null
smartctl -t long $device >/dev/null
smartctl -a $device >/tmp/smart-after.txt

Testování paměťových karet a SSD disků: f3write + f3read

Nevím, jestli je nějaký pokročilejší způsob, jak testovat SSD disky a paměťové karty. Bez keců se přiznám, že na úrovní flash bloků a sektorů už se začínám ztrácet, co přesně se tam hardwarově děje, různé SSD disky mají často i relativně rozsáhlé prostory kam za běhu mohou přesměrovávat data z unavených nebo vadných bloků, proto se tady spokojím s jednoduším testem s využitím f3write a f3read.

f3 utilitka originálně slouží k otestování flash médií na falešnou kapacitu: na úrovni filesystému (nikoliv na úrovni bloků jako badblocks) zapisuje data, „dokud je místo“, a když místo dojde, ověří, že všechna zapsaná data lze přečíst zpátky. Otestuje tak skutečnou kapacitu a rychlost zápisu a čtení. Pokud nastane problém, je něco špatně.

Tohle spustím třikrát po sobě a pokud je vše OK, fixou si na paměťovku udělám tečku a jde do provozu. Zmetek jsem zatím chytil jen jednou a nebyla to zrovna ani paměťovka, ale SSD disk. 1 TB disk se po zapsání cca 600 GB dat zpomalil, až se zcela kousnul (opět jsem měl 2 ks do RAID1, ten první to nedělal a v plné rychlosti projel zápis i čtení přes celou kapacitu).

Pokud by někdo znal nějaký spolehlivější test flash pamětí a SSD disků na nižší úrovni, klidně se podělte. Já si pokaždé, když dělám tento „jednoduchý“ test říkám, že si to pořádně nastuduju, a pak se na to vždy vykašlu. :D

Zároveň jsem tenhle test použil na všechny svoje SD a microSD karty, kterých jsem za 15 let nasbíral asi 30 ks. Až jsem se divil, kolik i velkých karet (16 GB), které ale měly maximální rychlost zápisu třeba jen 8 MB/s jsem doma vlastně měl. Všechno pod 30 MB/s čtení a 20 MB/s zápis jsem prostě vyhodil do koše. :D

Flash média obecně nechci moc trápit opakovaným přepisováním, vzhledem k tomu, jak já chápu, že fungují, to asi není úplně efektivní způsob. Vadné sektory se rovnou mapují na ty ze záložního poolu, takže mi tam prostě stačí, že zapíšu a přečtu data přes celou kapacitu disků bez nějakých hiccupů (třeba jsem měl nějaký SATA SSD, kde rychlost po vyčerpání cache spadla pod úroveň HDD a navíc při větším množství operací začalo být nepoužitelné úplně, což byla trochu zrada :D).

Postup je rovněž jednoduchý:

# f3write 
f3write /Volumes/EOS_DIGITAL/ | tee ~/tmp/f3write.txt
f3read /Volumes/EOS_DIGITAL/ | tee ~/f3read.txt
f3readspeed=$(cat ~/f3read.txt | grep Average | awk '{print $4}')

# + u SSD smart test (viz HDD)

 

Nevytřízené poznámky, co jsem měl u článku:

https://gist.github.com/ilyaigpetrov/e451200ea9b59e8c348422a8f9c5e8e5

https://forum.level1techs.com/t/reliable-hard-drive-test/169181

# from [forums](https://forum.level1techs.com/t/reliable-hard-drive-test/169181/13)
Usually I mostly follow the steps from this guide 11, especially when dealing with 2nd hand drives:

SMART short test
SMART conveyance test
SMART long test
badblocks
SMART long test
For new drives I might do only 1, 2 and 3, depending on time.

This script 5 (from TheArtOfServer) is useful to test big batches btw. It can send you a mail when done, which is nice as badblocks runs can take a while…

Měření vodoměru v Home Assistant: Nastavení ESPHome (díl 2/3)

Toto je druhý článek ze tří o měření spotřeby vody s využitím optického senzoru TCRT5000 připíchlým na vodoměru, a vývojové desky Wemos D1 Mini, která bude informace o proteklé vodě posílat do Home Assistantu. V předchozím článku jsme skončili u toho, že jsme měli senzor TCRT5000 uchycený na vodoměru a nastavený tak, aby se spínal s každým proteklým litrem. Nyní je na řadě tuto informaci dostat do Home Assistant.

Jak dostat impulzy od vodoměru do HA?

V minulém článku jsme použili Arduino IDE k nahrání krátkého kódu, který četl výstupy ze senzoru a vypisoval je. Pokud byste uměli programovat, tak si v Arduino IDE můžete doprogramovat všechno ostatní – připojení k WiFi, odesílání impulzů třeba přes MQTT apod.

Ale zaprvé i kdybych programovat uměl (neumím), tak by to bylo mega zbytečné práce, protože existují projekty jako ESPHome, s jejichž pomocí je nastavení, integrace, a následná správa podobných senzorů výrazně jednodušší.

Continue reading

Měření vodoměru v Home Assistant: Nastavení senzoru TCRT5000 (díl 1/3)

V předchozím článku Přehled možností monitorování spotřeby vody jsem shrnul (teoreticky) hromadu možností, jak číst impulzy z vodoměrů, a jak informace o těchto impulzech dopravit do Home Assistantu.

Jedno z tam zmíněných řešení jsem úspěšně vyzkoušel a už pár týdnů používám, tak ho tady popíšu krok za krokem: Jde o snímání litrového kolečka line-tracking senzorem TCRT5000, a data do HA odesílá Wemos D1 Mini (s ESPHome firmware).

Výhody:

  • Cena potřebného hardwaru je asi $3 (70 Kč)
  • Provoz přes WiFi (netřeba řešit ZigBee nebo Bluetooth)
  • Přímá integrace do Home Assistant přes ESPHome (netřeba řešit ani MQTT)

Nevýhody:

  • Spotřeba (cca 7 kWh/rok), takže problematičtější provoz na baterii
  • S tím související potřeba mít možnost k vodoměru natáhnout tenký drát (3 vodiče, příp. 4 pro dva vodoměry)

Rozdělím to celé na tři části:

1) Odečítání impulzů z vodoměru (tento článek)
2) Odesílání impulzů do Home Assistant (dále jen HA) přes ESPHome
3) Zpracování informací v HA a jejich zobrazení na dashboardu (to do)

Díl 1. Odečítání impulzů z vodoměru

Co je cílem na konci tohoto článku?

  • Mít senzor TCRT5000 připravený k finálnímu uchycení na vodoměr.
  • Mít ho nastavený tak, aby dával 1 impulz s každým jedním protočením litrového kolečka.

Hardware, který jsem použil

  • vodoměr Enbra ER-AM
  • vývojová destička Wemos D1 Mini s čipem ESP8266 (55 Kč)
  • optické čidlo TCRT5000 (10 Kč)

Continue reading

Home Assistant: Přehled možností monitorování spotřeby vody

Nastal čas, kdy jsem si řekl, že by bylo fajn mít v Home Assistantu přehled o spotřebovaných energiích. Začít jsem chtěl s tím, co jsem si myslel, že bude nejjednodušší: sledováním spotřeby vody.

Už nějakou dobu jsem si občas uložil nějaký zajímavý článek nebo nápad, jak to udělat, tak jsem si řekl, že to projdu a pustím se do toho. Tak jsem to chvíli studoval, a zde je přehled všeho, na co jsem přišel (než to sám pozapomínám :D ).

Takže, o co mi jde: chci mít v Home Assistant* přehled o spotřebované vodě (za poslední den, měsíc, rok; v litrech/kubících, v korunách, …)

K tomu je potřeba vyřešit tři hlavní problémy:
1) detekovat, že na vodoměru proběhl nějaký impulz (= proteklo nějaké množství vody)
2) informaci o tom, že tento impulz proběhl, dopravit do HA
3) tuto informaci nějak zpracovat a na konci mít pěkný dashboard, grafy, jestli spotřebovávám víc/míň, než kolik odchází zálohy apod.

Tento článek je přehledem, jakými různými způsoby se dají řešit první dva problémy.

*ad 2), samozřejmě to nemusí být jenom Home Assistant, ale klidně i ThingSpeak, Blynk, ThingsBoard, Domoticz, Zabbix (+ Grafana) aj. Prostě jakákoliv platforma, kde tu informaci chci nějak dále zpracovat.

Continue reading

Recenze GPS trackeru pro psa Tractive GPS Dog 4

Loni v červenci jsme byli na roadtripu po severu Norska (tehdy jsme ještě psa neměli, ale už to bylo ve fázi, kdy jsme byli rozhodnutí, že budeme). V jednom městečku byly všude cedulky „Missing dog“. Zprvu jsem jim nevěnoval tolik pozornosti, jistě každý už takových letáčků za život viděl mraky.

Na trailu za městem jsem viděl jsem viděl další, tentokrát ručně psaný letáček, a až tady jsem si všiml, že telefonní číslo na něm uvedené má českou předvolbu. Někdy tehdy jsem si řekl, že až budeme mít psa, tak prostě dostane GPS tracker. Už dřív jsem hledal možnosti zabezpečení kola, a věděl jsem, že dnes ty sledovátka váží pár gramů a stojí relativně pár korun. Jenže jaký potom vybrat? Nakonec jsem skončil u Tractive GPS Dog 4 – zkušenosti s ním bych chtěl popsat v tomto článku.

Jinak často jsem na toho pesana z Norska myslel, i po návratu domů, přemýšlel jsem, jestli se asi našel… až jsem potom procházel fotky z Norska a na jedné z nich měl ten leták vyfocený. Už nemůžu dohledat skupinu na facebooku, kde se to řešilo (post je asi už smazaný), každopádně dopadlo to tak, že pejsek se sám vrátil zpátky na trailhead do města (Fjordgård), kde už ho místní poznali z plakátů a kontaktovali majitele. Ztracený byl cca 10 dní (Hadde gitt opp håpet – så kom tekstmeldingen på det niende døgnet).

Proč ne AirTag?

AirTag klidně ano, ale jenom pojistku. K lokalizaci přes AirTag potřebujete přítomnost iPhonu v dosahu cca do 10 m od psa, navíc je poloha často zpožděná (anti stalking opatření), a celkově ke sledování pohybujícího se objektu dost nevhodná technologie (právě v tom zmíněném Norsku jsme byli autem, ve kterém s námi cestoval „cizí“ AirTag – ségry – a ta v aplikaci často viděla naši polohu zpožděnou i o osm hodin, přestože AirTag byl nonstop v dosahu dvou online iPhonů). Nicméně i ten AirTag je lepší, než vůbec nic, ale na psovi pobíhajícím kdesi po lese mimo dosah civilizace bude k ničemu.

Jaký GPS tracker vybrat?

Jenom v rychlosti, já jsem vlastně až zas tak moc nevybíral a vcelku rychle se rozhodl pro lokátor Tractive GPS Dog 4.

Continue reading