대량의 다중 사용자 데이터를 백업하는 데 어떤 프로토콜(CIFS, SFTP 또는 WebDav)을 사용해야 합니까?

대량의 다중 사용자 데이터를 백업하는 데 어떤 프로토콜(CIFS, SFTP 또는 WebDav)을 사용해야 합니까?

나는 정기적으로 수 테라바이트의 서버 데이터(높은 빈도와 낮은 빈도 변경)를 백업하는 외부 "저장 상자"를 설치하고 싶은 Linux 서버(Ubuntu 16.04)를 가지고 있으며, 아마도 사용자의 속성(소유자/그룹)을 추적할 수 있습니다. ) / 권한).

이러한 스토리지 박스 제공업체는 FTP, FTPS, SFTP, SCP, Samba/CIFS, HTTPS, WebDAV와 같은 프로토콜을 제공합니다.

어떤 백업 도구를 고려해야 합니까? rsync를 제안한다면 먼저 데이터를 로컬로 마운트하고 싶기 때문에 어떤 프로토콜을 마운트해야 합니까? 사용자 속성을 백업하는 것이 가능합니까(예: 서버와 호스트 간에 사용자 매핑)?

답변1

실제로는 네트워크의 세부 사항과 저장 장치의 설계 방식에 따라 다릅니다.

저장소 디렉터리를 파일 시스템으로 반드시 마운트해야 하는 경우 분명히 SMB/CIFS 또는 SSHFS(저장 장치에서 유효한 SFTP 지원만 필요함)를 사용해야 합니다. 둘 중에서 SMB는 대량 전송(둘 중 하나가 승리할 가능성이 높음)을 제외하고 거의 항상 더 나은 성능을 달성합니다. NFSv4 지원을 받을 수 있다면(OEM이 뭐라고 말하든 Ubuntu 상자라면 반드시 얻을 수 있어야 함) 대부분의 경우 SMB/CIFS 및 SSHFS보다 낫습니다.

네트워크를 통해 데이터를 전송하려는 경우 솔직히 옵션이 그다지 좋지 않습니다. 귀하의 경우 일반 FTP(및 SSL을 통한 FTP인 FTPS)는 형편없고 WebDAV(HTTP 또는 HTTPS를 통한)는 대량 저장 시나리오용으로 설계되지 않았기 때문에 SFTP와 SCP를 사용할 것입니다(DAV는 Distributed Authoring의 약자). 웹 서버에 컨텐츠를 푸시하기 위해 FTP의 대안으로 설계되었다는 사실을 훌륭하게 설명하는 버전 관리). 이상적인 세계에서는 rsync(전송할 파일이 많은 경우)를 사용하거나 netcat(파일 하나만 복사해야 하는 경우)을 사용합니다.문서).

답변2

Duplicity를 사용하는 것이 좋습니다(그러나 멀티 테라바이트 규모로 테스트하지는 않았습니다). 백엔드가 많고 증분 백업이 청크(기본적으로 25MB)로 분할되어 청크만 다운로드하면 됩니다. , 이는 실제로 필요한 복원입니다. 잘 작동하므로 scp/sftp와 함께 사용하는 것이 좋습니다.

네트워크 전송 속도로 파일을 백업해야 하는 경우 이러한 프로토콜 중 어느 것도 이상적이지 않습니다. 그러나 하나의 대규모 백업의 경우 몇 기가바이트의 이중성만 매일(또는 시간별) 증분 백업해도 괜찮습니다.

답변3

구현과 의미론 사이의 동형성을 깨뜨리는 작업을 수행하지 마십시오.

클라이언트 운영 체제의 관점에서 파일 소유권은 의미상 메타데이터입니다.

백업서버에 파일이 업로드되면,파일의 클라이언트 소유권메타데이터 아님서버 운영 체제 관점에서. 서버에 있는 파일의 메타데이터는 다음과 같아야 합니다.서버 운영 체제의 파일 소유권.

따라서 서버에서는 서버 파일의 원본 이미지에 대한 메타데이터를 클라이언트에 기록하기 위해 또 다른 독립적인 데이터 구조가 필요하다. 예를 들어 데이터베이스.

백업 서버의 관점에서 해당 서버의 파일 시스템에 있는 파일은 파일 내용이 다음과 같은 의미를 가지더라도 일반 파일로 처리됩니다.클라이언트 파일 미러링, 서버 운영 체제는 파일의 내용을 결코 이해할 수 없기 때문입니다.


실제로 파일의 모든 속성 중에서 파일이 서버에 업로드된 후에도 "마지막 수정 타임스탬프"만 메타데이터로 간주될 수 있습니다. 이 속성이 파일 콘텐츠의 버전을 나타내기 때문입니다.

관련 정보