..png)
VM 스토리지를 위한 새로운 백업 서버가 되어야 하는 새로 설치된 Ubuntu 서버가 있습니다. 서버에는 4개의 NIC가 있으며 그 중 2개는 SAN에 연결하는 데 사용되는 10Gbit(사실 최신 드라이버가 포함된 Intel x540-T2)입니다. nfs-share를 로컬로 마운트하고 ~30개의 파일, 약 15개의 vm-image 및 해당 로그 파일이 있는 디렉터리를 복사하는 동안 속도 차이를 비교했습니다. 이미지 크기는 8GB에서 600GB 사이입니다.
사용:
cp -rf /mnt/nfs-share /backup-storage/
결과적으로 bmon은 약 600MiB/s를 보여줍니다.
사용
rsync -av /mnt/nfs-share /backup-storage/
bmon은 처음 몇 초 동안 일부 패킷을 표시하고 약 30초 동안 중단된 후 최대 약 60-75MiB/s까지 구축됩니다. CPU는 60%정도 됩니다.
rsync
와 동일한 성능을 사용하려면 무엇을 변경해야 하며 변경할 수 있습니까 cp
?
답변1
cp
나는 이러한 차이점이 와 . 사이에 상당히 잘 확립되어 있다고 생각합니다 rsync
. 이 기사를 참조로 참조하세요.rsync 성능 살펴보기.
The four commands tested were:
rsync $SRC $DEST
echo $SRC | cpio -p $DEST
cp $SRC $DEST
cat $SRC > $DEST/$SRC
The results for rsync, cpio, cp, and cat were:
user sys elapsed hog MiB/s test
5.24 77.92 101.86 81% 100.53 cpio
0.85 53.77 101.12 54% 101.27 cp
1.73 59.47 100.84 60% 101.55 cat
139.69 93.50 280.40 83% 36.52 rsync
나는 rsync
매일 사용합니다. 상황을 개선하기 위해 할 수 있는 일이 있습니다.
예를 들어 다음 스위치를 사용해 볼 수 있습니다 -W
.
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
또한 3.x 버전이 있는지 확인하는 것이 좋습니다 rsync
. 최신 버전으로 업그레이드하면서 눈에 띄는 개선이 이루어졌습니다.
답변2
rsync를 cp와 동일한 성능으로 만드는 방법은 철자를 "cp"로 쓰는 것입니다.
최종 효과는 동일하더라도 두 명령 간의 차이는 중요합니다. 특히 rsync는 일부 파일이나 파일의 일부를 복사해야 하는지 여부를 확인하기 위해 많은 읽기 작업을 수행합니다.
rsync를 사용하려는 이유가 있나요? cp는 "맹목적으로" 복사하기 때문에 더 높은 원시 성능을 볼 수 있습니다. 일련의 트리거 조건에 대해 rsync의 "델타 전송" 메커니즘이 사용되는 경우 보고한 방식으로 전송 속도가 떨어지고 CPU 사용이 상당히 증가하는 것을 볼 수 있습니다.
답변3
이 사용 사례의 경우 rsync
불필요하게 복잡한 시스템입니다. 파일 수정 시간과 파일 크기 비교를 기반으로 한 동기화에 문제가 없으면 양쪽 끝에서 파일 시스템 메타데이터만 수집하여 비교하고 변경된(또는 새) 파일을 (로컬) 명령으로 복사해야 합니다 cp
.
이 작업을 수행하는 작고 간단한 동기화 장치에 관심이 있을 수 있습니다.Fitus/Zaloha.sh
다음과 같이 사용됩니다:
$ Zaloha.sh --sourceDir="test_source" --backupDir="test_backup"
분석 단계의 최대 속도를 위해 복원 스크립트 생성을 건너뛸 수도 있습니다. 옵션을 사용하십시오 --noRestore
. 또한 빠른 버전을 설치한 경우 이를 사용할 수 있는 mawk
옵션을 제공하세요 .--mawk
Zaloha.sh
명령을 통해 파일 시스템 메타데이터를 수집합니다 find
. 남은 질문 중 하나는 find
NFS 공유의 성능에 관한 것입니다.