Sistema de arquivos estável para arquivos grandes (backups) para linux

18

Qual sistema de arquivos seria melhor para backups? Eu estou interessado principalmente na estabilidade (especialmente na incorruptibilidade de arquivos durante reinicializações duras, etc.), mas a eficiência com que ele lida com arquivos grandes (> 5 GB) também é importante.

Além disso, quais parâmetros de montagem devo usar?

O kernel é Linux> = 2.6.34.

EDIT: Eu não quero métodos de backup. Eu preciso do sistema de arquivos para armazená-los.

Maciej Piechotka
fonte
Quantos dados você está fazendo backup diariamente, semanalmente, mensalmente? Quantos dados você planeja reter e por quanto tempo?
Stefan Lasiewski
Tem que ser Linux? Você já considerou o ZFS (Uma versão estável e antiga 14) no FreeBSD 8.1?
Stefan Lasiewski
É um armazenamento temporário de backup para laptop - até que seja enviado para o disco rígido externo. A partir do FreeBSD - embora seja um sistema maravilhoso, não combina comigo nesta aplicação.
Maciej Piechotka

Respostas:

13

Você pode usar o ext4, mas eu recomendo montar com o journal_datamodo que desativa o desalocação (alocação atrasada), o que causou alguns problemas anteriores. A desativação do dealloc tornará as novas gravações de dados mais lentas, mas as gravações em caso de falta de energia terão menos chances de perda. Devo também mencionar que você pode desativar o dealloc sem usar o journal_dataque tem outros benefícios (ou pelo menos no ext3), como leituras ligeiramente melhoradas, e acredito que melhor recuperação.

As extensões ainda ajudarão na fragmentação. As extensões tornam a exclusão de arquivos grandes muito mais rápida que o ext3, uma exclusão de qualquer tamanho de dados (arquivo único) deve ser quase instantânea no ext4, mas pode demorar muito tempo no ext3. (qualquer extensão baseada em FS tem essa vantagem)

O ext4 também fscké mais rápido que o ext3.

Uma última nota, houve correções no ext4 até a versão 2.6.31? Eu basicamente garantiria que você não estivesse executando um kernel anterior à 2.6.32, que é um kernel LTS.

xenoterracida
fonte
Se optar por "sólido" ext4, pode valer a pena considerar a mertis e os riscos associados à sua on disk layoutsegurança e, portanto, aos dados em repouso (um aspecto discutido aqui )
humanidadeANDpeace
5

O XFS é sólido e está no kernel há muito tempo. Examine ferramentas como xfs_freeze e veja se é isso que você está procurando. Sei que isso é altamente subjetivo, mas usei o XFS para armazenamento de dados por anos sem incidentes.

dsp
fonte
2
Com base na minha resposta, gostaria de observar que o XFS é baseado em extensões e possui muitas das mesmas vantagens que o ext4. No entanto, eu gostaria de mencionar que ele carrega os mesmos problemas com o dealloc que o ext4 pode ter, o que pode resultar na perda de dados em um cenário de puxar o plug. Não sei se o dealloc pode ser desabilitado no XFS.
Xenoterracide
Sim, não tenho certeza se você pode desativar o recurso, mas o utilitário xfs_freeze garante uma imagem de disco estável. Na página do manual: O sinalizador -f solicita que o sistema de arquivos XFS especificado seja congelado de novas modificações. Quando isso é selecionado, todas as transações em andamento no sistema de arquivos podem ser concluídas, novas chamadas do sistema de gravação são interrompidas, outras chamadas que modificam o sistema de arquivos são interrompidas e todos os dados, metadados e informações de log sujos são gravados no disco. Qualquer processo que tente gravar no sistema de arquivos congelado bloqueará a espera pelo descongelamento do sistema de arquivos.
dsp
Estou menos preocupado com a corrupção de arquivos no meio da gravação, desde que a liberação funcione.
Maciej Piechotka
3

Basta usar uma ferramenta de backup que suporte somas de verificação. Por exemplo, o Dar oferece suporte a backups incrementais. Depois, você pode fazer backup em um sistema de arquivos sólido como o ext3.

Para backups, você quer algo sólido / muito estável. E btrfs ou ZFS simplesmente não estão prontos hoje.

maxschlepzig
fonte
Eu o conto como ext3 #
Maciej Piechotka
0

O btrfs possui soma de verificação transparente de dados gravados em disco e um modo rápido de gravação ordenada que está sempre ativado (e muitos outros recursos compatíveis com backup), o que o torna atraente para backups. Veja https://btrfs.wiki.kernel.org/index.php/Main_Page para mais detalhes.

durin42
fonte
Hmm. Embora possa ser uma boa resposta no futuro, não acho que btrfs ou zfs estejam estáveis ​​no Linux no momento.
Maciej Piechotka 31/08/10
Eu tive o btrfs recomendado para mim pelos usuários do kernel. A última vez que soube que o mantenedor do Mercurial estava rodando em pelo menos uma máquina em tempo integral. Eu uso o ZFS via FUSE diariamente e é sólido, se um pouco lento por causa do FUSE.
durin42
11
O btrfs no formato de disco ainda não é estável ... Eu não o recomendaria até que isso mude. Programadores de kernel podem executar todos os tipos de coisas loucas.
Xenoterracide
O ZFS pode ser estável ... mas, devido à coisa do FUSE, eu não me incomodaria.
Xenoterracide
11
O ZFS no FUSE é um hack. Pode ser um bom truque, eu não confiaria nos seus dados comerciais críticos. Além disso, o ZFS no FUSE tem alguns problemas de velocidade, e a velocidade é crítica quando você faz backup de terabytes de dados.
Stefan Lasiewski
0

Um aspecto imho muito importante que não vi discutido nas outras respostas são os recursos de estabilidade do layout em disco do sistema de arquivos (por exemplo, considere consultar a documentação dos possíveis candidatos ext4 , btrfs )

Embora a base de código e a quantidade de testes dos drivers do sistema de arquivos da base de código sejam realmente importantes como outras respostas já mostradas, uma vez que é a proteção dos dados durante sua leitura e gravação , o layout / formato do disco é a proteção contra riscos aos seus dados em repouso, que são formas de defeitos de hardware, como setores ilegíveis ou apodrecimento silencioso de bits .

Com relação a ext4, que se diz ter boas características em relação à base de código testada há muito tempo ( https://events.static.linuxfound.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0. O pdf mostra que demorou mais para encontrar bugs nele do que, por exemplo, nos mais modernos e mais complexos btrfs), observei a resistência do ext4 em repouso e encontrei algumas deficiências de imho no sistema de arquivos mais elogiado.

Eu consideraria prudente (se escolhido ext4como o " sólido backup fs ") melhorar a capacidade de recuperação (embora "reforçá-lo") usando a e2imageferramenta que os desenvolvedores ext4fornecem

O programa e2image salva os metadados críticos do sistema de arquivos ext2, ext3 ou ext4 localizados no dispositivo em um arquivo especificado por image-file. O arquivo de imagem pode ser examinado por dumpe2fs e debugfs, usando a opção -i para esses programas. Isso pode ajudar um especialista a recuperar sistemas de arquivos corrompidos catastroficamente. No futuro, o e2fsck será aprimorado para poder usar o arquivo de imagem para ajudar a recuperar um sistema de arquivos danificado.

e recomendo .

É uma idéia muito boa criar arquivos de imagem para todos os sistemas de arquivos em um sistema e salvar o layout da partição (que pode ser gerado usando o comando fdisk -l) em intervalos regulares --- no momento da inicialização e / ou toda semana ou assim. O arquivo de imagem deve ser armazenado em algum sistema de arquivos que não seja o sistema de arquivos cujos dados ele contém, para garantir que esses dados estejam acessíveis no caso em que o sistema de arquivos foi gravemente danificado.

Considerando que nem todos os metadados do ext4 layout de disco são fornecidos com redundância (ou seja, o superbloco é armazenado várias vezes como uma cópia, os indoes são armazenados em exatamente 1 lugar apenas), ext4certamente é inferior ao btrfsque forneceria pelo menos somas de verificação para todos os metadados + os dados do conteúdo do arquivo .

Para neutralizar essa "falha" ext4e torná-la mais rock-solidimportante no aspecto do layout do disco , seria razoável suplementar essa redundância e recuperação do conteúdo do arquivo via par2/ parchive

Apesar de a pergunta exigir o foco nas soluções de sistema de arquivos, gostaria de destacar que a maior parte do que um sistema de arquivos fornece (armazenamento em cache, periódicos, recuperação de espaço alocado, alocação de blocos etc.) não é necessariamente algo que beneficia os dados de backup muito quando está sendo escrito e lido apenas a granel e rarley. Para isso, consideraria o uso de um backup parchivesuplementar tarcomo a solução de backup mais ideal, pois a base de código usada no processo é reduzida e, portanto, há menos erros se houver menos "recursos".

humanandpeace
fonte