btrfs 스냅샷을 온라인 스토리지로 보내 데이터를 백업할 계획입니다. 스토리지는 LUKS 암호화된 컨테이너 파일로 cifs 공유에 마운트됩니다.
이후 전송은 매우 빠르지만, tc를 사용하여 합리적인 양의 업스트림을 남겨두면 1.3TB의 첫 번째 전송에는 23일이 소요됩니다. 이제 이론적으로는 내 연결이 이를 처리할 수 있지만 다시 연결하는 것은 가능합니다. 내가 이해한 바에 따르면, 그냥 사용하면 다시 시작해야 합니다.
btrfs send ... | btrfs receive ...
이를 수행하는 저장 및 복원 방법이 있습니까? uttersink를 찾았지만 S3 복원만 허용하는 것 같습니다.
어떤 아이디어가 있나요?
완전히 다른 솔루션을 제안하려면 의견을 자유롭게 활용하십시오. 헤츠너 수납박스 입니다 (https://www.hetzner.de/de/hosting/storagebox/bx40). FTP, FTPS, SFTP, SCP(SSH는 아님, paramiko도 작동하지 않음), Samba/CIFS, HTTPS, WebDAV 액세스 권한이 있습니다. 암호화되지 않은 데이터는 저장용으로 신뢰해서는 안 됩니다. 두 사이트 모두 사용 가능한 공간이 과도하지 않습니다. 변경되는 작은 파일이 많이 있으므로 정기적인 전체 백업(한 달에 한 번) 없이 이중화하는 것은 불가능해 보입니다. 같은 이유로 로컬 버전을 원격 위치에서 로컬로 설치된 버전과 비교할 때 rsync가 느릴 가능성이 높습니다. 다른 당사자가 시간이 지남에 따라 단일 파일의 여러 버전을 수집할 수 있으므로 EncFS는 저장할 수 없는 것으로 보입니다.
답변1
btrbk
지원하다:
백업 복원(일정 기간 동안 백업 대상에 액세스할 수 없는 경우)
buttersink
지원하다:
로컬 btrfs 파일 시스템, SSH를 통한 원격 btrfs 파일 시스템 또는 S3 버킷.
또는 수동으로 이 작업을 수행할 수 있습니다.
- stdout을 통해 쉘 파이프에 쓰는 대신
-f
옵션을 사용하여send
파일에 데이터를 씁니다.
btrfs send -f outfile
- 선호하는 재개 가능한 전송 방법을 사용하여
rsync
파일을 전송합니다 (예: btrfs receive -f outfile
stdin 대신 outfile에서 데이터를 읽는 데 사용됩니다 .
답변2
내가 아는 바로는 원격 저장소가 파일 시스템으로 노출됩니다. 나는 나 자신을 사용하지 않지만 btrfs
나는생각하다스냅샷은 하나의 큰 "전체 백업" 파일 뒤에 여러 개의 작은 "증분" 파일이 오는 것과 같습니다.
이를 바탕으로 재부팅이 가능하기 때문에 계속 사용하겠습니다 rsync
. 원격 호스트에 사용 가능한 서버가 없으면 rsync
펑키 증분 diff 알고리즘을 사용할 수 없지만 rsync
소스 파일이 변경되지 않았다고 가정하고 도달한 바이트 오프셋에서 벗어난 후 계속할 수 있습니다.
test -t 2 && progress=--progress
rsync -av $progress --partial --append --sparse /path/to/source.img /path/to/remote/storage/
gzip
소스 파일을 전송하기 전에 유용한 작업을 수행 할 수 있다면 그렇게 하십시오. (둘 다 로컬에서 로컬로의 파일 전송과는 아무런 관련이 없습니다. --rsyncable
)rsync -z
rsync