Eu não tenho certeza de como eu deveria ser específico na minha pergunta, então vou fazer uma pergunta geral de acordo com o título que visa onde eu acho que é a questão, e então descrever a situação geral, caso alguém tenha outras ideias:
Estou sincronizando dois conjuntos de snapshots de btrfs com buttersink por meio de uma conexão ssh. Os 2 snapshots contêm versões ligeiramente diferentes de um único arquivo muito grande (1.5TB) A transferência foi muito rápida, o diferencial foi de apenas 5MB, mas como os dados foram transferidos horas atrás, o buttersink está fazendo ALGO, mas não terminando o processo. O que é isso? Esse comportamento é esperado? No lado remoto, nem o poder de processamento (vserver) nem o disco IO (arquivo contêiner formatado pelo btrfs em montagem CIFS) podem ser impressionantes.
Antecedentes:
Eu quero fazer um backup diferencial, criptografado através de uma conexão comparativamente lenta (25MBit up, mas comparado a um volume de 1.5TB, que é bastante lento). O backup vai para um vserver remoto que, por sua vez, monta o backupspace no data center via CIFS. O vserver não é um site confiável, criptologicamente, toda a criptografia deve ser feita localmente.
Então eu criei o seguinte plano:
1. Produtividade local: sistema de arquivos BTRFS
2. Backup local: arquivo contêiner formatado em BTRFS no sistema de arquivos BTRFS |
3. Remoto: Arquivo contêiner formatado em BTRFS em sistema de arquivos não criptografado e formatado em BTRFS em montagem CIFS
a. O sistema de arquivos interno BTRFS é para backup local eficiente de 1. para 2: 1. já sabe o que é alterado, e pode transferir diretamente apenas as mudanças para 2., sem passar por enormes Maildirs e esse tipo de coisa. b. O sistema de arquivos BTRFS externo é para backup eficiente do arquivo contêiner para o armazenamento remoto: 2. já sabe quais partes do contêiner são alteradas e pode transferir diretamente apenas as alterações para 3., sem calcular um conjunto de somas de verificação rsync de um 1.5 Arquivo TB.
Neste momento, tenho um instantâneo de um arquivo de dados aleatório local e remotamente e um instantâneo do mesmo arquivo com criptografia e btrfs localmente. O aprox. 5MB delta onde é transferido quase imediatamente (para que a vantagem esperada funcione), mas desde então, tudo está parado. Alguma ideia do porquê?
Algumas perguntas e respostas antecipadas: As:
- "Por que você não está apenas usando o rsync?" - Se eu rsync meus arquivos para o local remoto, eles não serão criptografados remotamente. Se eu ressincronizar o contêiner criptografado, ele calculará as somas de verificação para descobrir o que é diferente. Isso leva algum tempo e poder de processamento para 1,5 TB. Isso será especialmente difícil no lado remoto com o suporte CIFS e o pequeno vserver. BTRFS já sabe o que é diferente.
- "Por que você não está usando duplicidade?" - A duplicidade me deixa com um backup completo + deltas. Eu não quero manter muitos deltas. Eu aprendi que a duplicidade precisa de uma atualização completa regular. Eu não quero fazer upload de 1,5 TB em uma base regular. O BTRFS sempre manterá um estado limpo onde meu instantâneo atual é tão bom quanto o meu primeiro, e eu sempre posso deletar qualquer instantâneo entre ou desde o começo.
- "Por que você não está usando o encfs?" - Não parece ser totalmente seguro: link
Além disso, muitas das mesmas razões dadas para o rsync.