予備テストで仮想Linuxサーバーに接続されているブロックストレージデバイスを監視し、それがどのように機能するかを理解したいと思います。
- ブロックに必要な量のメモリ(KB単位)を書き込む
- 書き込み成功の確認(ブロックアクセス可能)
- 正しい量のメモリが記録されていることを確認してください。
- メモリブロックの削除
- 削除された量によって指定された量のスペースが確保されることを確認する
ブロックストレージのメモリアドレスに具体的に書き込む方法は? 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
0を入力として使用して、ブロック123と124に512バイトの2つのブロックを書き込みます。何でも入力として使用できます:/dev/urandom
ビットパターンを生成するいくつかのプロセス...
もう一度読むことができますdd
。たとえば、次のように16進数で表示します。
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にしたい場合はお問い合わせください。スタックオーバーフロー、ここではありません。