깨진 파이프(32), io.c(820)의 소켓 IO 오류(코드 10)로 인해 rsync가 실패하는 이유는 무엇입니까? [폐쇄]

깨진 파이프(32), io.c(820)의 소켓 IO 오류(코드 10)로 인해 rsync가 실패하는 이유는 무엇입니까? [폐쇄]

내 서버용 새 하드 드라이브를 구입했고 내 파일을 재구성하려고 합니다. 첫 번째 전송에서는 rsync약 3GB가 완벽하게 복사되었습니다. 그러나 rsync해당 명령을 사용하면 두 번째 전송이 실패합니다.

$ sudo /usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 rsync -aEHAXPx /media/a/ /media/b --delete
...
rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(820) [sender=3.1.1]

첫 번째 실행에서는 800GB 중 약 550GB를 복사한 후 중단되었습니다. 가장 최근 시도에서는 1GB만 복사하는 데 성공한 후 실패했습니다. 관련성이 있는지는 모르겠지만 출처는 다음과 같습니다.시간을 거슬러드라이브에 많은 수의 하드 링크가 포함되도록 증분 백업합니다. 이 오류를 수정하고 명령을 완료하려면 어떻게 해야 합니까?

rsync 버전 3.1.1 프로토콜 버전 31을 실행 중입니다.

답변1

dmesg | grep rsync

[85852.560086] 메모리 부족: 프로세스 4242(rsync) 점수 194 종료 또는 하위 프로세스 희생 [85852.562695] 프로세스 4243(rsync) 종료 total-vm: 121948kB, anon-rss: 65752kB, file-rss: 4kB – Sparhawk

해결책:

  • rsync 속도를 디스크 속도보다 느리게 변경하세요. --bwlimit=6000.. USB 2는 60MB/s /4(드라이브 2개 읽기 및 쓰기용) 또는 /10(비SSD 검색용)...또는 2GB RAM 및 USB3.0을 갖춘 XU4를 구입하세요.
  • 커널 메모리 매개변수 변경echo 100 > /proc/sys/vm/watermark_scale_factor
  • 작동 중 강제 메모리 삭제echo 3 > /proc/sys/vm/drop_caches
  • 4.9.29 커널을 사용하고 있는지 확인하세요.uname -r

관련 정보