dd는 입력 파일을 출력 장치로 루프합니까?

dd는 입력 파일을 출력 장치로 루프합니까?

/dev/zeroHDD 지우기를 사용하면 속도가 너무 느려지므로 준비된 1GB 랜덤 파일이나 제로 파일을 사용하겠습니다.

하지만 이 파일을 어떻게 반복할 수 있나요 dd?

dd if=loopfile of /dev/sdx 

답변1

/dev/zero전혀 느리지 않으며 아마도 필요한 것일 수도 있습니다 dd bs=1M. 초당 몇 GB를 처리해야 하므로 HDD/SSD가 병목 현상이 발생합니다.

# dd bs=1M status=progress if=/dev/zero of=/dev/null
234309550080 bytes (234 GB, 218 GiB) copied, 11 s, 21.3 GB/s

아니면 그냥 태그만 하세요 shred.

# shred -v -n 1 /dev/eraseme

이는 전체 하드 드라이브 속도에서 (의사) 무작위 데이터로 작동해야 합니다. 0이어야 한다면 무작위 데이터보다 빠르지 않습니다 -n 0 -z.shred

답변2

여기서 문제는 기본 블록 크기가 dd512바이트이므로 KB당 2개의 시스템 호출과 2개의 IO 요청이 필요하다는 것입니다. GB당 200만 개가 있는데 속도가 느린 것도 당연합니다.

  • dd.Use를 사용하지 마세요 cat(많은 경우에 훨씬 빠르며, 거의 (만약) 느린 경우는 없습니다):

    cat /dev/zero >/dev/sdX
    
  • 반드시 사용해야 한다면 dd블록 크기를 합리적인 값으로 늘리십시오.

    dd if=/dev/zero bs=32M of=/dev/sdX
    
  • 의사 무작위 데이터로 디스크를 지우려는 경우 다음을 고려하십시오.데이터베이스 관리 네트워크일단 통과. (여러 번 패스할 필요는 없습니다. 한 번이면 충분합니다. 그렇지 않으면망치.)

관련 정보