infrastruktura:uloziste:provereni-noveho-rotacniho-hdd-pred-zalohovanim-dat

Toto je starší verze dokumentu!


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

Vytvořeno: 12.3.2019

Poznámka k aktuálnosti: Tento článek vychází z praktické zkušenosti z roku 2019 a nemusí odpovídat dnešním verzím nástrojů ani běžné praxi.

Důležité: Tento postup je určený pro klasické rotační HDD. Na SSD a NVMe disky se destruktivní testy typu badblocks -w nebo přepis celého zařízení náhodnými daty běžně nehodí.

smartmontools a badblocks umožňují před nasazením nového rotačního disku udělat základní kontrolu stavu, dlouhé self-testy a případně i destruktivní zápisový test. Tady je dobový praktický postup, který jsem používal před tím, než jsem na nový HDD začal přesouvat zálohy.

Po koupi nového disku dává smysl nejdřív odložit kopírování dat a disk důkladně prověřit. V mém případě šlo o disk připojený k Cubie Board 2 s Armbianem, kde měl sloužit pro zálohy. Po předchozí zkušenosti s odcházejícími disky jsem chtěl nový kus několik dní testovat ještě před tím, než na něj něco důležitého uložím.

První krok byl S.M.A.R.T. self-test. Po koupi je rozumné začít třeba conveyance testem, který může odhalit poškození při přepravě:

smartctl --test=conveyance /dev/sda

Průběh a výsledky testů lze kontrolovat takto:

smartctl -l selftest /dev/sda

Pak následoval krátký a dlouhý test:

smartctl --test=short /dev/sda
smartctl --test=long /dev/sda

Ukázka výpisu:

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         -

Dalším krokem byla kontrola vadných bloků přes badblocks v režimu čtení i zápisu. To je potřeba brát jako destruktivní operaci, která smaže obsah zařízení.

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

Pokud test dopadne dobře, výpis končí například takto:

Pass completed, 0 bad blocks found. (0/0/0 errors)

Na pomalejším zařízení může taková kontrola trvat velmi dlouho. V mém případě na Cubieboardu 2 trvala zhruba 7 dní.

Jako poslední krok jsem tehdy disk ještě přepsal náhodnými daty:

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

Na 32bitovém systému jsem narazil na problém při testování 8TB disku. badblocks skončil chybou o příliš velké hodnotě pro daný datový typ:

badblocks: Hodnota je příliš velká pro daný datový typ
invalid end block (7814026584): must be 32-bit value

Pomohlo zvětšení velikosti bloku:

badblocks -b 4096 -s -w -v /dev/sdb

Pro ověření geometrie disku se hodí:

fdisk -l /dev/sdb

Pointa je v tom, že větší blok znamená menší počet adresovaných bloků, což může obejít limit 32bitového adresování.

Tento postup je zaměřený na rotační disky. U SSD a NVMe dává větší smysl vycházet z jejich vlastních diagnostických nástrojů, S.M.A.R.T./NVMe health dat a zbytečně je nevystavovat dlouhým destruktivním zápisovým testům přes celý disk.

  • infrastruktura/uloziste/provereni-noveho-rotacniho-hdd-pred-zalohovanim-dat.1776935932.txt.gz
  • Poslední úprava: 23.04.2026 11:18
  • autor: Petr Nosek