私は仮想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
ゼロを入力として使用して、512 バイトの 2 つのブロックをブロック 123 と 124 に書き込みます。入力には、ビット パターンを生成するプロセスなど、/dev/vdc
何でも使用できます。/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でやりたい場合は、スタックオーバーフロー、ここではありません。