我如何任意寫入磁碟/區塊儲存並檢查寫入情況?

我如何任意寫入磁碟/區塊儲存並檢查寫入情況?

我想監視連接到虛擬 Linux 伺服器的區塊儲存設備,作為初步測試,只是為了了解其工作原理,我的想法是

  1. 將任意數量的記憶體(KB數量級)寫入區塊
  2. 確認寫入成功(區塊可存取)
  3. 確認寫入的記憶體量正確
  4. 刪除記憶體區塊
  5. 確認刪除的數量釋放了指定的空間量

如何具體寫入區塊儲存單元中的記憶體位址?我覺得用C或python都可以做到。我可以看到該單元存在於 和 中/dev/vdc/sys/block/vdc但我不確定如何準確地監視它,或者我上面的想法是否是一個好方法。

CentOS6/7

答案1

您可以使用以下命令寫入和讀取記憶體區塊dd

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

/dev/vdc使用零作為輸入將 2 個 512 位元組的區塊寫入區塊 123 和 124 。您可以使用任何內容作為輸入:/dev/urandom,一些產生位元模式的過程,...

您可以使用 再次讀回它們dd,例如以十六進制顯示它們:

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

你應該會看到類似的東西

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

因為hexdump合併相同的行。

更多詳細信息,請參閱man dd.

您可能會重新考慮讀取和寫入「記憶體區塊」的要求,從命令列保留和存取記憶體並不那麼容易。

如果你想用 C 或 Python 來做,請詢問堆疊溢位, 不在這裡。

相關內容