wie kann ich beliebig auf einen Datenträger/Blockspeicher schreiben und prüfen, wie der Schreibvorgang verlaufen ist?

wie kann ich beliebig auf einen Datenträger/Blockspeicher schreiben und prüfen, wie der Schreibvorgang verlaufen ist?

Ich möchte ein Blockspeichergerät überwachen, das an einen virtuellen Linux-Server angeschlossen ist. Als vorläufigen Test, nur um zu verstehen, wie das funktioniert, ist meine Idee,

  1. Schreiben Sie eine beliebige Speichermenge (im KB-Bereich) in den Block
  2. Bestätigen Sie, dass der Schreibvorgang erfolgreich war (auf den Block kann zugegriffen werden).
  3. Bestätigen Sie, dass die geschriebene Speichermenge korrekt war
  4. Löschen Sie den Speicherblock
  5. Bestätigen Sie, dass der gelöschte Speicherplatz den angegebenen Speicherplatz freigegeben hat.

Wie schreibe ich gezielt in die Speicheradressen der Blockspeichereinheit? Ich denke, ich kann das mit C oder Python machen. Ich sehe, dass die Einheit in /dev/vdcund existiert /sys/block/vdc, aber ich bin mir nicht sicher, wie ich sie genau überwachen soll oder ob meine obige Idee eine gute Methode ist.

CentOS6/7

Antwort1

Sie können Speicherblöcke schreiben und lesen mit dd:

dd if=/dev/zero of=/dev/vdc bs=512 count=2 seek=123

schreibt 2 Blöcke mit 512 Bytes in die Blöcke 123 und 124 und /dev/vdcverwendet dabei Nullen als Eingabe. Sie können alles als Eingabe verwenden: /dev/urandom, einen Prozess, der ein Bitmuster erzeugt, ...

Diese kannst Du mit wieder auslesen ddund Dir zB in Hex anzeigen lassen:

dd if=/dev/vdc bs=512 count=1 skip=123 | hexdump -C

Sie sollten etwa Folgendes sehen:

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

weil hexdumpidentische Zeilen zusammengeführt werden.

Weitere Details mit man dd.

Sie können Ihre Anforderungen zum Lesen und Schreiben von „Blöcken aus dem Speicher“ überdenken, da es nicht so einfach ist, über die Befehlszeile Speicher zu reservieren und darauf zuzugreifen.

Wenn Sie es in C oder Python machen möchten, fragen Sie bitte nachPaketüberfluss, nicht hier.

verwandte Informationen