그래서 내 임베디드 장치의 암호화 및 일반 데이터 저장에 대한 성능 테스트를 수행하고 싶습니다.
이것은 내가 전혀 기대했던 것이 아닙니다!
방금 무슨 일이 일어났는지 설명해 주실 수 있나요? 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
마운트된 파일 시스템을 쿼리합니다. 특정 파일 시스템의 경우 fields Size
등 Used
은 파일 시스템이 자체적으로 알고 보고하는 내용입니다. 아마도 파일 시스템에 대한 일부 데이터, 메타데이터 및 정보는 여전히 캐시에서 이전 값으로 사용 가능하므로 충분히 정상인 것처럼 보이지만 분명히 새로운 항목을 장치에서 읽어야 합니다. 당신이 쓴 쓰레기의 일부가 읽혔고,그러므로 놀라운 가치
제목의 내용이 잘못되었습니다. " dd
13TB의 데이터를 생성한 명령"이 올바르지 않습니다. 임의의 값을 얻었 13T
기 때문에 나타납니다 .df
이전에파일 시스템.