디스크 복제 : 전체 프로세스의 속도를 높일 수 있습니까?


0

두 개의 동일한 USB 3.0 하드 디스크 (750GB)가 있습니다. 그 중 하나는 비어 있으며 첫 번째 디스크의 미러 (백업)로 사용하고 싶습니다.

두 디스크 모두 USB 3.0 포트에 연결되어 있으며 읽기 및 쓰기 속도가 매우 빠릅니다 (최대 110MB / s, 최대 60MB / s, 읽기 100MB / s, 쓰기 55MB / s).

dd 도구를 사용하여이 작업을 시도했습니다.

dd if=/dev/sdc | pv | dd of=/dev/sdd

최대 속도는 20MB / s 이하입니다. 어떻게 든 속도를 높일 수 있습니까?


두 드라이브가 동시에 활성화되어있을 때 USB에서이 속도를 유지합니까?
Hennes

답변:


5

블록 크기를 추가하면 속도가 빨라질 수 있습니다. 예 : dd if=/dev/sdc bs=1M.

사용하려는 bs는 예측하기 어렵지만 기본값은 512 바이트로 보입니다. 즉, 750x1024x1024x2 척으로 750GiB를 전송한다는 의미입니다. 1M을 블록 크기로 사용하면 척 (및 시스템 호출) 수가 2048 개 줄어 듭니다. 이로 인해 많은 오버 헤드가 제거됩니다.

dd 및 SAS 및 SATA 연결 디스크를 사용한 자체 테스팅은 512 바이트에서 4KB로 크게 증가하지만 이후에는 훨씬 적은 증가를 보입니다.

두 번째 : 두 디스크가 동일한 USB3 컨트롤러에 연결되어 있습니까? 그런 다음 USB 컨트롤러 대역폭을 공유하고 있습니다. 두 개의 다른 USB 컨트롤러가 속도를 높여야합니다. (필자는 컨트롤러를 작성했지만 USB 포트는 작성하지 않았다는 것을 유의하십시오. 하나의 컨트롤러는 일반적으로 여러 포트를 제어합니다).

USB2는 종종 최대 30 또는 35MB / 초의 속도로 보관합니다. 디스크 중 하나를 USB 2 커넥터로 옮기고 다른 하나는 USB 3 포트에 남겨 둡니다. USB3 포트가 두 채널을 유지하는 (내부) 대역폭을 가지고 있지 않다고 가정하면 속도가 두 배 빨라질 수 있습니다. (블록 크기 설정에서 얻은 부스트에 추가로).

셋째, '거울'이라는 용어의 사용은 약간 혼란 스럽다. 대부분의 경우 '거울'은 RAID-1 RAID-1 미러에서 2 개의 USB 디스크를 사용할 수 있습니다. 그런 식으로 그들은 항상 동일한 내용을 얻습니다. 또한 무언가를 삭제하면 두 드라이브에서 삭제됩니다.


0

RAID-1에서와 같이 미러에 대해 말하면 백업이 아님을주의하십시오. 미러를 사용하면 한 드라이브의 물리적 인 장애를 극복 할 수는 있지만 파일을 삭제하면 도움이되지 않습니다.

한 드라이브에서 다른 드라이브로 모든 파일을 복제하려면 rsync 사용을 고려해야합니다. 이렇게하면 모든 물리적 블록을 복사하는 대신 파일 만 복사됩니다. 드라이브가 얼마나 꽉 찼는 지에 따라 상당히 빨라질 수 있습니다. 또한 변경된 파일 만 복사되기 때문에 후속 동기화에서 훨씬 빨라질 수 있습니다.

물리적 블록 복사를 주장하는 경우 먼저 직접 연결된 드라이브에 복사 한 다음 두 번째 USB 드라이브로 복사하는 것이 좋습니다. 이렇게하면 두 드라이브가 USB 리소스를 놓고 경쟁 할 수 없으며 현재의 방식보다 더 빠를 수도 있습니다. 분명히 이것은 직접 연결된 드라이브에 여유 공간이 750GB가 있어야합니다.

mdadm을 사용하여 RAID-1 구성을 설정할 것을 고려할 수 있습니다. 아마 더 빨리되지는 않겠지 만, 당신이하려고하는 것과 더 잘 어울릴 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.