신뢰할 수없는 느린 WAN을 통한 ZFS 동기화 ZFS 복제 또는 rsync?


10

WAN을 통한 오프 사이트 백업 작업을 맡았습니다. 두 스토리지 박스 모두 ZFS를 실행하는 FreeBSD 기반 NAS 박스입니다.

일주일에 한두 번, 15-60 기가의 사진 데이터가 사무실 NAS에 덤프됩니다. 저의 임무는 VERY SLOW DSL 연결 (~ 700Kb / s 업로드)을 사용하여이 데이터를 사이트 외부에서 최대한 안정적으로 얻는 방법을 알아내는 것입니다. 수신 박스의 모양은 30Mb / s, 5Mb / s에서 훨씬 우수합니다.

현장에서 하드 드라이브를 운반하면 데이터가 훨씬 빨리 이동하지만이 경우에는 옵션이 아닙니다.

내 옵션은 다음 중 하나 인 것 같습니다.

  • ssh를 통한 ZFS 증분 전송
  • 재 동기화

rsync는 시간을 존중하는 솔루션이며, 방해가되는 경우 보내기를 재개 할 수있는 가장 중요한 기능이 있습니다. 많은 파일을 반복하고 중복 제거에 대해 알지 못하는 단점이 있습니다.

ZFS 스냅 샷 전송은 약간 적은 데이터를 전송할 수 있습니다 (파일 시스템에 대해 더 많은 정보를 알고 있으며 중복 제거를 수행하고 rsync보다 메타 데이터 변경 사항을 더 효율적으로 패키징 할 수 있음). 복사하기보다 파일 시스템 상태를 올바르게 복제 할 수 있다는 이점이 있습니다. 개별 파일 (디스크를 많이 사용함)

ZFS 복제 성능에 관심이 있습니다 [1] (단, 기사는 1 년 전임). 또한 문제가 발생하면 전송을 다시 시작할 수있는 것에 대해 우려하고 있습니다. 스냅 샷 기능에 포함되지 않은 것 같습니다. 전체 시스템을 완전히 전환해야합니다.

[1] http://wikitech-static.wikimedia.org/articles/z/f/s/Zfs_replication.html

두 옵션 중 하나를 사용하면 지정된 포트를 통해 트래픽을 라우팅 한 다음 라우터의 QOS를 사용하여 트래픽의 우선 순위를 정할 수 있습니다. 양도하는 데 며칠이 걸리기 때문에 각 전송 중에 두 사이트의 사용자에게 큰 부정적인 영향을 피해야합니다.

그래서 ... 그게 내 문제입니다. 좋은 옵션을 놓친 적이 있습니까? 다른 사람이 비슷한 것을 설정 했습니까?


Unison을 고려하십시오 .
sampablokuper

답변:


8
  1. 하루에 최대 6GB를 전송할 수 있고 (제로 오버 헤드 및 경쟁 트래픽 제로 가정) "주당 한두 번"빈도로 "15-60 기가"를 이동해야하는 경우 15-120으로 작동합니다. 주당 GB 또는 하루에 2-17GB입니다. 최대 수요를 계획해야하고 17GB가 이론상 최대 최대 6GB를 훨씬 초과 하므로 매우 심각한 대역폭 문제가있을 수 있습니다. 연결을 업그레이드하려면 무엇이 필요합니까? 연결을 업그레이드 할 수없는 경우 일정에 따라 (예 : 매주) 실제 미디어를 우편으로 발송하는 옵션을 고려하십시오.

  2. 대역폭 계산을 좀 더 이해하기 쉽게 할 수 있다고 가정하면 rsync 가 최선의 선택 일 수 있습니다. 중복 제거 인식은 중복성이 높은 데이터 (예 : 가상 머신 이미지)를 복제 할 때 매우 유용하지만 고유 한 디지털 컨텐츠 (오디오, 비디오, 사진)에 대해서는 이점이 거의 없습니다. 동일한 파일의 사본을 실수로 저장했습니다.


가용 대역폭을 사용할 수 있다고 생각하며 대부분의 데이터 덤프는 범위의 작은 끝을 향합니다. 실제로 지난 한 달 동안의 데이터로 판단하면 하루 평균 약 2-3 기가 될 것입니다. 즉시 복제가 필요하지 않습니다.
Paul McMillan

그렇습니다. 실제 미디어를 우편으로 보내는 것이 훨씬 낫습니다. 옵션이기를 바랍니다.
Paul McMillan

중복 제거에 대한 좋은 지적. 복사되는 내용의 대부분은 복제되지 않습니다. 사용자는 그다지 밀도가 없습니다.
Paul McMillan

1
내가 추가 할 유일한 것은 아마도 rsync를 사용하지 않는 것입니다. 동기화 프로세스가 아닌 전송 프로세스로 사용했기 때문에 rsync의 속도가 느려졌습니다. 그런 다음 기존 데이터의 대부분이 변경되지 않았으며 새 데이터 만 복사하면된다는 것을 깨달았습니다. 새 파일에만 cp를 사용했는데 훨씬 빨랐습니다. 변경된 파일이 있거나 파일의 일부만있는 경우 rsync를 사용합니다. 따라서 새 파일을 분리하고 재개 가능한 전송 방법을 선택하는 것이 좋습니다. 또한 압축은 CPU 및 RAM / 대역폭 절충 (양쪽 끝)입니다.
Scott McClenning

흠 ... 올바른 구성으로 rsync를 비교적 빠르게 진행할 수 있다는 것을 읽었습니다. 얼마나 많은 최적화를 시도 했습니까?
Paul McMillan

13

조사를 마친 후에 스냅 샷을 보내는 것이 옳다고 생각합니다. ZFS SENDRECEIVE명령을 bzip2로 파이프 한 다음 해당 파일을 다른 시스템으로 재 동기화 할 수 있습니다.

내가 사용한 소스는 다음과 같습니다.

게시 된 복제 스크립트가있는 게시물을 찾지 못했지만 백업 스크립트 를 게시 한 사람을 찾았습니다 . 즉, 나는 그것을 이해하지 못하여 정크 일 수 있습니다.

많은 웹 사이트에서이 작업을 자주 수행하기 위해 크론 작업을 설정하는 것에 대해 이야기했습니다. 이 경우, 오프 사이트 데이터가 최신 상태이므로 대역폭과 사용자에게 미치는 영향을 줄이면서 복제 / 백업 할 수 있으며 재난 복구 기능이 좋습니다. (시작할 때 데이터의 초기 청크 후에)입니다.

다시 말하지만, 난 당신이 사용하는 많은 이점이있을 것 같다 스냅 샷을 보내는 올바른 생각이 있다고 생각 SEND/을 RECEIVE.

편집 : 방금 / 사용을 지원 하고 rsync에 대해 이야기 할 수 있는 video1 video2 를 보았습니다 ( 3m49에서 시작). Ben Rockwood가 연사였으며 여기에 그의 블로그 링크가 있습니다.SENDRECEIVE


1
rsync의 사용은 실제 파일 확산이 아닌 일시 중지 / 다시 시작 기능으로 제한됩니다. 이는 파일 시스템 자체 (및 생성 된 변경 파일)가 rsync보다 더 잘 알고 있기 때문에 의미가 있습니다.
Paul McMillan

추가 참고 사항 : gzip 및 bzip을 현대적으로 빠르게 대체하는 ZSTD는 다중 스레드 및 20 개 이상의 압축 수준을 지원합니다. 또한 '적응 압축'이라는 옵션 기능이 있습니다. 이 모드에서는 시간을 절약하기 위해 가능한 한 많은 압축을 수행하면서 네트워크 파이프를 가득 채우는 데 필요한만큼 압축 수준이 자동으로 조정됩니다. 이렇게하면 너무 많은 압축을 수행하여 병목 현상이 발생하거나 네트워크 속도가 너무 느려 압축을 놓칠 수 없습니다.
Allan Jude

2

백업의 목적은 무엇이며 어떻게 액세스해야합니까?

백업이 주로 재해 복구 용인 경우 파일 시스템을 마지막 증분 시점의 상태로 되돌릴 수 있으므로 ZFS 스냅 샷이 바람직 할 수 있습니다.

그러나 백업에서 실수로 삭제되었거나 손상된 파일에 대한 액세스 권한을 사용자에게 제공해야하는 경우 rsync가 더 나은 옵션 일 수 있습니다. 최종 사용자는 스냅 샷의 개념을 이해하지 못하거나 NAS가 최종 사용자에게 이전 스냅 샷에 대한 액세스 권한을 제공하지 않을 수도 있습니다. 두 경우 모두 rsync를 사용하여 파일 시스템을 통해 사용자가 쉽게 액세스 할 수있는 백업을 제공 할 수 있습니다.

rsync를 사용하면 --backup 플래그를 사용하여 변경된 파일의 백업을 보존 할 수 있으며 --suffix 플래그를 사용하면 이전 버전의 파일 이름을 바꾸는 방법을 제어 할 수 있습니다. 따라서 이전 버전의 파일과 같은 날짜가있는 백업을 쉽게 만들 수 있습니다.

file_1.jpg
file_1.jpg.20101012
file_1.jpg.20101008
etc.

이 명령을 find 명령이 포함 된 cronjob과 쉽게 결합하여 필요에 따라 이전 파일을 제거 할 수 있습니다.

두 솔루션 모두 파일이 백업으로 작동하기에 충분한 메타 정보를 보존 할 수 있어야합니다 (rsync는 --perms, --owner 등 플래그를 제공함). rsync를 사용하여 데이터 센터간에 많은 양의 데이터를 백업하고 설정에 매우 만족합니다.


2

ZFS는 '재개 가능한 전송'기능을 제공 받아 올해 3 월 경에 중단 된 복제를 계속할 수 있습니다. 이 기능은 Matt Ahrens와 다른 사람들에 의해 완성되었으며 곧 업스트림에 출시 될 예정입니다.


'재개 가능한 전송'은 꽤 오랫동안 OpenZFS (FreeBSD, Linux, MacOS 등)에있었습니다. 또한 '압축 전송'기능도 있습니다.이 기능은 복제 스트림의 일부로 데이터가 디스크에있는 그대로 압축 상태를 유지합니다.
Allan Jude

0

아마도 WAN 압축 장치가 해결책이 될까요? 우리는 Riverbed를 사용하고 있으며 매우 만족합니다 (예 : NetApp SnapMirror는 최대 80-90 %까지 압축률이 높음)

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