だから私の組み込みデバイスの暗号化と一般的なデータストレージのパフォーマンステストを実行したいと思います。
これは私が全く期待していたものではありません!
何が起こったのか説明できますか?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/blob
)dd
./tmp/random
df
マウントされたファイルシステムを照会します。特定のファイルシステムの場合、fieldsSize
などUsed
はファイルシステムがそれ自体知って報告する内容です。おそらく、ファイルシステムに関するいくつかのデータ、メタデータ、および情報はまだキャッシュ内の古い値として利用可能であるため、十分に正常であるように見えますが、明らかに新しい項目をデバイスから読み取る必要があります。書いたごみの一部を読み、したがって、驚くべき価値
タイトルの内容が間違っています。 「dd
13TBのデータを生成したコマンド」が正しくありません。任意の値が得られた13T
ために表示されます。df
以前ファイルシステム