성능 테스트 중 오류가 발생하여 dd 명령으로 /dev/mapper/device에 13TB의 데이터가 생성되었습니다. 시스템이 충돌하지 않은 이유는 무엇입니까? 하드 드라이브 - 250GB

성능 테스트 중 오류가 발생하여 dd 명령으로 /dev/mapper/device에 13TB의 데이터가 생성되었습니다. 시스템이 충돌하지 않은 이유는 무엇입니까? 하드 드라이브 - 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/blob).dd/tmp/random

df마운트된 파일 시스템을 쿼리합니다. 특정 파일 시스템의 경우 fields SizeUsed은 파일 시스템이 자체적으로 알고 보고하는 내용입니다. 아마도 파일 시스템에 대한 일부 데이터, 메타데이터 및 정보는 여전히 캐시에서 이전 값으로 사용 가능하므로 충분히 정상인 것처럼 보이지만 분명히 새로운 항목을 장치에서 읽어야 합니다. 당신이 쓴 쓰레기의 일부가 읽혔고,그러므로 놀라운 가치

제목의 내용이 잘못되었습니다. " dd13TB의 데이터를 생성한 명령"이 올바르지 않습니다. 임의의 값을 얻었 13T기 때문에 나타납니다 .df이전에파일 시스템.

관련 정보