[server] 2 개의 Linux 서버 간 다중 스레드 파일 동기화

현재 총 250GB의 220 만 파일에 대해 rsync를 실행 중이며 6 시간 만에 700K 파일이 걸립니다.

누구든지 여러 스레드 로이 작업을 수행 할 수있는 rsync와 같은 도구를 알고 있습니까?



답변

CPU가 여기에 제한 요소가 아닌 것 같습니다. 전송을위한 네트워크 대역폭과 디스크 IO 모두에 의해 제한을받을 수 있습니다. 특히 모든 통계 호출에 대한 대기 시간.

파일 시스템 계층을 더 작은 청크로 분할하여 병렬로 처리 할 수 ​​있습니까?

소스 파일은 무엇이며 작성 또는 수정하는 것은 무엇입니까? 응용 프로그램 수준에서 발생하는 변경 사항을 보낼 수 있습니까?


답변

수신 서버의 디스크 하위 시스템이 여러 디스크가있는 어레이 인 경우 여러 rsync 프로세스를 실행하면 성능이 향상 될 수 있습니다. 기가비트 이더넷을 포화시키기 위해 파일을 NFS 서버 (레이드 그룹당 6 개의 디스크가있는 RAID6)에 복사하기 위해 3 개의 rsync 프로세스를 실행하고 있습니다.

이 사람은 여러 rsync 프로세스를 생성하는 기본 파이썬 하네스에 대해보고합니다.
http://www.reliam.com/company/featured_geek


답변

나는 이것과 비슷한 많은 질문을 읽었습니다. 유일한 대답은 수동으로 복사 / 이동을 분리하는 것입니다. 여기서 IOps가 문제가 될 것입니다. 기분이 나아지면 100TB 이상의 디스크 공간을 차지하는 ~ 200 백만 개의 파일을 이동하는 중입니다.


답변

Linux 용 멀티 스레드 cp 클론 (오픈 소스)을 확인하는 것이 좋습니다.
http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf


답변