Předpokládám, že když proženu soubory checksum výpočty, tak během čtení se tyto vadné bloky detekují.
Znamená to, že na úrovni hardwaru dojde k nějakému triggeru odděleného od file systému, který remapuje vadné bloky a fyzická data, tak jak se jich podaří přečíst, se na toto nové místo překopírují?
No při čtení se zjistí, že kontrolní součet dat na disku nesedí a disk udělá I/O chybu. Sektor je sice označený (jako pending ve SMART), ale nic se samo nepřemapuje, protože nejde přečíst to, co se má přemapovat. Sektor se nechá, tak jak je. Třeba ddrescue jej bude číst několikrát, aby z něj vydoloval alespoň nějaká data.
K přemapování dojde až když se do tohoto sektoru zapíše (ralocated ve SMART) . Teda disk ho přemapuje do záložního sektoru a zapíše to tam a starý sektor už nikdy nečte.
Díky za vysvětlení. Takže k té detekci vadných sektorů a označení sektoru dochází jenom během čtení?
Existuje na to nějaký ucelený software tedy kombinace syncu a kontroly integrity dat pro domácí použití?
Mě zatím napadá jenom ten ruční postup:
1) Na archivačním disku vygeneruju nový textový soubor s hashema jednotlivých souborů a ty pak diffnu se starším pro kontrolu integrity dat, jestli mezitím nějaké neschnily.
2) Přes sync tool pošlu do archivačního disku diference a nový data ze zdrojového disku (zdrojový je jen jeden).
3) Zdrojový hlavní disk a archivační disk mám synchronizovaný.
4) Spočítám na zdrojovém a archivačním disku hashe a porovnám:
- tímto můžu ověřit, že nová data a diference se zapsaly správně na archivní disk -> bloky těchto nových a diferenčních "správných" dat jako reference má jenom zdrojový disk
- tímto můžu detekovat, že na zdrojovém disku mohlo dojít k poškození dat, které nebyly součástí synchronizace -> pro tyto data je reference (správná data) na archivním disku