GNU/Linux >> Linux Esercitazione >  >> Linux

Btrfs può tracciare/evitare i blocchi danneggiati?

Ho un HDD di cui non mi fido del tutto, ma voglio comunque usare (mining burstcoin, dove se ricevo un blocco danneggiato in un file, perderò solo pochi centesimi).

Come posso dire a btrfs di contrassegnare determinati blocchi come danneggiati (ad esempio da badblocks uscita)?

Se non riesco a contrassegnare i blocchi come danneggiati, tutti i blocchi danneggiati identificati da btrfs scrub da evitare in futuro se il file che li utilizza viene eliminato?

Risposta accettata:

Purtroppo no.

btrfs non tiene traccia dei blocchi danneggiati e btrfs scrub non impedisce al file successivo di colpire gli stessi blocchi danneggiati.

Questo post della mailing list btrfs suggerisce di usare ext4 con mkfs.ext4 -c (questo "crea un elenco di blocchi danneggiati e quindi
non utilizzerà quei settori"
).
Il suggerimento di utilizzare btrfs su mdadm 3.1+ con RAID0 non funzionerà.

Sembra che LVM non supporti la riallocazione di badblock.

Una soluzione alternativa consiste nel creare un dispositivo escludendo i blocchi noti per essere dannosi:btrfs su dmsetup.

La wiki di btrfs Project Ideas dice:

Non rivendicato — ancora nessuna patch — Non ancora nel kernel

Attualmente btrfs non tiene traccia dei blocchi danneggiati, blocchi del disco che molto probabilmente perdono i dati scritti su di essi. Btrfs dovrebbe accettare un elenco nel formato di output di badblocks, memorizzarlo in un nuovo btree (o forse nell'albero extent corrente, con un nuovo flag), riposizionare tutti i dati contenuti nei blocchi e riservare questi blocchi in modo che non possano essere utilizzati per future assegnazioni. Inoltre, è possibile insegnare a scrub a verificare la presenza di blocchi danneggiati quando viene rilevato un errore di checksum. Ciò renderebbe lo scrub molto più utile; gli errori di checksum sono generalmente causati dal disco, ma mentre scrub rileva i file interessati, che in uno scenario di backup offre l'opportunità di ricrearli, il file successivo per riutilizzare i blocchi danneggiati inizierà invece a ricevere errori. Questi due elementi corrisponderebbero a una funzione ext4 (usata tramite e2fsck).

Si prega di commentare se lo stato cambia e aggiornerò questa risposta.

Correlati:Debian – Come installare un singolo pacchetto da Debian testing o unstable su stable?
Linux
  1. È possibile recuperare i file sovrascritti?

  2. Come verificare la presenza di blocchi danneggiati su un volume fisico Lvm?

  3. Come posso evitare di scaricare pacchetti ogni volta che installo Ubuntu??

  4. Come controllare un disco per blocchi danneggiati o errori del disco su CentOS / RHEL

  5. Possiamo usare il codice C in Python?

Come controllare i settori danneggiati o i blocchi danneggiati sul disco rigido in Linux

Come controllare il disco rigido per settori o blocchi danneggiati in Linux

Come controllare i blocchi danneggiati o i settori danneggiati sul disco rigido in Linux

Il tema del colore può legarsi a un buffer?

Come posso evitare la verifica dell'host di SSH per gli host conosciuti?

Eseguire la scansione dei blocchi danneggiati sulla partizione root in Linux