GNU/Linux >> Linux Esercitazione >  >> Linux

Simulare un dispositivo a blocchi difettoso con errori di lettura?

Non è un dispositivo di loopback che stai cercando, ma piuttosto un device-mapper.

Usa dmsetup per creare un dispositivo supportato dal target "errore". Apparirà in /dev/mapper/<name> .

La pagina 7 della presentazione del Device Mapper (PDF) contiene esattamente ciò che stai cercando:

dmsetup create bad_disk << EOF
  0 8       linear /dev/sdb1 0
  8 1       error
  9 204791 linear /dev/sdb1 9
EOF

Oppure tralascia il sdb1 parti e inserire l'obiettivo "errore" come dispositivo per i blocchi 0 - 8 (invece di sdb1 ) per creare un puro disco di errore.

Vedere anche l'appendice Device Mapper da "RHEL 5Logical Volume Manager Administration".

C'è anche un flakey bersaglio - una combinazione di linear e error che a volte riesce. Anche un delay introdurre ritardi intenzionali per i test.


Sembra che le funzionalità integrate di iniezione di errori di Linux sarebbero una buona idea da usare.

Blog:http://blog.wpkg.org/2007/11/08/using-fault-injection/
Riferimento:https://www.kernel.org/doc/Documentation/fault-injection/fault-injection.txt


Linux
  1. Come risolvere:errore:autorizzazioni insufficienti per il dispositivo con ADB [Suggerimento rapido]

  2. Errore nell'utilizzo di GRANT con IDENTIFIED by password in MySQL

  3. Questo errore su Upstart/systemd con Runit?

  4. Errori sulla clonazione del disco con Cat?

  5. "Impossibile trovare il dispositivo con uuid [UUID]" - errore con il comando pvs

Comando Lsblk in Linux (Elenca dispositivi a blocchi)

Come correggere l'errore di conversione con Calibre

Come creare un dispositivo a blocchi virtuali (dispositivo di loop/filesystem) in Linux

Corruzione dei metadati di LVM VG con "Errore di checksum"

L'enumerazione del dispositivo USB non riesce:descrittore del dispositivo read/64, errore -32

Rilettura della tabella delle partizioni non riuscita con errore 16:dispositivo o risorsa occupata