GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ein fehlerhaftes Blockgerät mit Lesefehlern simulieren?

Sie suchen kein Loopback-Gerät, sondern einen Device-Mapper.

Verwenden Sie dmsetup um ein Gerät zu erstellen, das durch das "Fehler"-Ziel unterstützt wird. Es wird in /dev/mapper/<name> angezeigt .

Seite 7 der Device-Mapper-Präsentation (PDF) enthält genau das, wonach Sie suchen:

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

Oder lassen Sie die sdb1 weg Teile zu und setzen Sie das "Error"-Target als Gerät für die Blöcke 0 - 8 (anstelle von sdb1 ), um eine reine Fehlerdiskette zu erstellen.

Siehe auch The Device Mapper Anhang von „RHEL 5Logical Volume Manager Administration“.

Es gibt auch einen flakey Ziel - eine Kombination aus linear und error das gelingt manchmal. Auch ein delay absichtliche Verzögerungen beim Testen einzuführen.


Es scheint, als wäre es eine gute Idee, die eingebauten Fehlerinjektionsfunktionen von Linux zu verwenden.

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


Linux
  1. Fehler bei der Verwendung von GRANT mit IDENTIFIED by password in MySQL

  2. Dieser Fehler über Upstart/systemd mit Runit?

  3. Fehler beim Klonen der Festplatte mit Cat?

  4. So erstellen Sie ein virtuelles Blockgerät (Loop-Gerät/Dateisystem) in Linux

  5. RPM:Paketinstallationsfehler:cpio:Lesen fehlgeschlagen

Lsblk-Befehl in Linux (Blockgeräte auflisten)

So beheben Sie Konvertierungsfehler mit Calibre

Tastenanschlag in Linux mit Python simulieren

O_RDWR auf Named Pipes mit poll()

Das erneute Lesen der Partitionstabelle ist mit Fehler 16 fehlgeschlagen:Gerät oder Ressource ausgelastet

Erstellen Sie ein Blockgerät im RAM