パフォーマンステスト中にエラーが発生し、ddコマンドで/ dev / mapper / deviceに13 TBのデータが生成されました。システムがクラッシュしていないのはなぜですか?ハードドライブ - 250GB

パフォーマンステスト中にエラーが発生し、ddコマンドで/ dev / mapper / deviceに13 TBのデータが生成されました。システムがクラッシュしていないのはなぜですか?ハードドライブ - 250GB

だから私の組み込みデバイスの暗号化と一般的なデータストレージのパフォーマンステストを実行したいと思います。

これは私が全く期待していたものではありません!

何が起こったのか説明できますか?ddコマンド出力が1843200 + 0レコードですが、ファイルdf -hシステムのディスク容量が次のように表示されるのはなぜですか?13TB

たぶん私がしたことを説明するかもしれません。私のワークフローは次のとおりです。

dd if=/dev/urandom of=enc_per_test.img bs=512 count=2097152

dd if=/dev/urandom of=normal_per_test.img bs=512 count=2097152

予想通り、それぞれ1GBずつ2つの画像を受け取ります。

losetup /dev/loop1 enc_per_test.img 

losetup /dev/loop2 normal_per_test.img

その後、私は次を実行します。

dmsetup -v create enc_per_test --table "0 $(blockdev --getsz /dev/loop1) crypt <crypt_setup> 0 /dev/loop1 0 1 sector_size:512"

mkfs.ext4 /dev/mapper/enc_per_test

mkdir /mnt/enc_per_test

mount -t ext4 /dev/mapper/enc_per_test /mnt/enc_per_test/

期待どおりにインストールさdf-hれたenc_per_testが表示されます。

 Filesystem ############## Size ### Used ## Avail ## Use% ### Mounted on #####           

 /dev/mapper/enc_per_test ## 976M ## 2.6M ## 907M ## 1% #### /mnt/enc_per_test

キャッシュを消去します。

echo 3 > /proc/sys/vm/drop_caches

最後に、ddコマンドを実行してenc_per_testを入力します。

time dd if=/tmp/random of=/dev/mapper/enc_per_test conv=fsync

1843200+0 records in
1843200+0 records out
943718400 bytes (944 MB, 900 MiB) copied, 152.098 s, 6.2 MB/s

それで私は「大丈夫、大丈夫」と思いました。これが私が望むものです。 df -hでどのように見えるかを見てみましょう。

 Filesystem ############## Size ### Used ## Avail ## Use% ### Mounted on #####           

 /dev/mapper/enc_per_test ## 13T ## 13T ## 0 ## 100% #### /mnt/enc_per_test

ここで何が起こっているのでしょうか?df -h見せる理由13TBデータ保存の。私のデバイスに約250GBのハードドライブがあるので、これは不可能です。

答えとヒントを提供していただきありがとうございます!

答え1

/dev/mapper/enc_per_test(デバイス)に存在するファイルシステムを/mnt/enc_per_test/(マウントポイント)にマウントします.

次にdd書き込みを選択します。装備、ファイルシステム内の通常のファイルではなく(マウントポイントの下などof=/mnt/enc_per_test/blobdd./tmp/random

dfマウントされたファイルシステムを照会します。特定のファイルシステムの場合、fieldsSizeなどUsedはファイルシステムがそれ自体知って報告する内容です。おそらく、ファイルシステムに関するいくつかのデータ、メタデータ、および情報はまだキャッシュ内の古い値として利用可能であるため、十分に正常であるように見えますが、明らかに新しい項目をデバイスから読み取る必要があります。書いたごみの一部を読み、したがって、驚くべき価値

タイトルの内容が間違っています。 「dd13TBのデータを生成したコマンド」が正しくありません。任意の値が得られた13Tために表示されます。df以前ファイルシステム

関連情報