Prověření nového HDD před zálohováním dat

Autor: | 12. 3. 2019 | IT, Linux

Štítky: badblocks | hdd | linux | S.M.A.R.T.

Jsem fanda a uživatel Linuxu a nedokážu si bez něj představit IT svět. Miluju na něm to, že si mohu všechno přizpůsobovat svým potřebám a mít nespočet možností. V domácnosti mám v rozvodné skříni mikropočítače s Linuxem a k jenomu z nich je připojený mikropočítač Cubie Board 2. Je to už starší kousek, nicméně pro zálohu stále použitelný. Má SATA port na připojení hard disku. Pro úplnost doplním, že na Cubie Board 2 mi běží distro Armbian.

Hledání vhodného disku

Ke Cubie Boardu jsem měl připojený 2TB disk a skrze něj jsem si zálohoval data. Bohužel můj HDD i s daty odešel do křemíkového nebe. Na celé situaci mě potěšilo alespoň to, že jsem pár měsíců před odchodem HDD zkopíroval celý jeho obsah na jiný disk. Technicky vzato jsem přišel o data tak měsíc stará a technicky vzato mě to už ani nebolí 🙂

Nastal čas koupit nový disk a připravit ho k používání. Je to vlastně už druhý disk, který mi odešel ještě v době kratší než 2 roky. Proto jsem trávil opravdu několik hodin hledám nějakého spolehlivějšího. Po pročtení mnoha příspěvků, názorů, statistik Backblaze jsem si jenom potvrdil, že nemá smysl hledat něco, co neexistuje. Jediný způsob, jak snížit riziko ztráty dat je vytvářet zálohy záloh. V dalším kroku se chystám na softwarový RAID, nicméně tento příspěvek je o přípravě nově koupeného disku. V rámci disku jsem se rozhodnul pro Seagate IronWolf, 3,5″ – 4TB.

Prověření koupeného dosku S.M.A.R.T.

Prvním úkolem po koupi disku je vydržet tu dětskou radost z něčeho nového a nepřesouvat tam žádná data. Nejprve musím dostatečně softwarově prověřit i kdyby to mělo trvat týden. Nejprve zkontroluji disk skrze S.M.A.R.T.:

smartctl --test=conveyance /dev/sda

Tento příkaz je dobré spustit po koupi disku, kdy je možné, že někomu disk spadnul. Testují se možná poškození po přenosu disku. Podrobnosti lze najít v manuálu. Výsledky testů a zda jsou dokončeny je možné sledovat pomocí tohoto příkazu:

smartctl -l selftest /dev/sda

Jako další krok je dobré provést zkrácený a dlouhý test. Zkrácený test běžel pár minut. Dlouhý test už potrvá nějakou tu hodinku.

root@cubieboard2:/home/armbian# smartctl -l selftest /dev/sda 
smartctl 6.4 2014-10-07 r4002 [armv7l-linux-4.19.13-sunxi] (local build) 
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org 

=== START OF READ SMART DATA SECTION === 
SMART Self-test log structure revision number 1 
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error 
# 1  Extended offline    Self-test routine in progress 00%         7         - 
# 2  Conveyance offline  Completed without error       00%         0         - 
# 3  Short offline       Completed without error       00%         0         -

Kontrola vadných bloků

Dalším rozumným krokem před vytvořením souborového systému a přenesením dat je kontrola vadných bloků na disku. Následující příkaz provádí zápis dat na disk a posléze čtení. Postupně zkouší tyto sekvence bitů: 1010, 0101, 1111, 000. Pokud všechno dopadne dobře, výpis vypadá takto:

root@cubieboard2:/home/armbian# badblocks -c 10240 -s -w -v /dev/sda
Checking for bad blocks in read-write mode
From block 0 to 3907018583
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done 
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done 
Pass completed, 0 bad blocks found. (0/0/0 errors)

Zároveň je potřeba počítat s určitou dávkou trpělivosti. Na desce Cubieboard2 trvala tato kontrola 7 dní.

Jako poslední krok před další práci s diskem jsem přepsal disk náhodnými daty a připravil se tak na šifrování. Vykonání posledního příkazu zabralo něco kolem 30h.

badblocks -c 10240 -s -w -t random -v /dev/sda

Další články