O ZFS faz sentido como armazenamento local?

O ZFS faz sentido como armazenamento local?

Eu estava lendo sobre o ZFS e por um momento pensei em usá-lo no meu computador, mas depois de ler sobre seus requisitos de memória pensei duas vezes.

Faz sentido usar o ZFS como armazenamento local ou isso faz mais sentido para servidores usados ​​como armazenamento? (Mesmo para servidores com outros usos parece um exagero).

Responder1

O ZFS não possui requisitos de memória particularmente elevados.

Como apontado nos comentários,Determinadas funcionalidadesdo ZFS (particularmente desduplicação, mas também L2ARC) requerem uma certa quantidade de memória para serem úteis.

No entanto, esses recursos provavelmente não serão usados, a menos que você tenha um caso de uso específico que implique seu uso.

ZFS com seu ARC de primeira camada(Adaptive Replacement Cache) não consome significativamente mais memória do que qualquer outro sistema de arquivos e cache. Por usarARCOem vez de, por exemplo, umMenos usado recentementealgoritmo de cache, em algumas cargas de trabalho ele é capaz de fazer uso mais eficiente do cache RAM disponível.

O que ZFSfazexigiré RAM ECC. Isso é onipresente em servidores, mas raramente encontrado em sistemas pessoais (muitas CPUs Intel de baixo custo nem suportam RAM ECC). Este requisito decorre das propriedades de autocorreção do ZFS, porqueProblemas de RAM podem potencialmente destruir seus dadosao executar o ZFS. Não há código para verificar isso no ZFS, provavelmente em parte porqueparece não haver uma maneira 100% certa de diferenciar o softwarese o sistema usa RAM ECC.

Se o ZFS faz sentido depende do que você está tentando fazer, da mesma forma que o NTFS faz sentido também depende do que você está tentando fazer. No entanto, o ZFS oferece vários recursos que poucos ou nenhum outro sistema de arquivos oferece e que podem ser muito úteis em determinados cenários.Algunsdestes são:

  • Integridade de dados ponta a ponta garantida. Você saberá com certeza que, se uma leitura específica for bem-sucedida, ela retornará os mesmos dados que foram originalmente gravados naquele local. Isso significa que não existe corrupção silenciosa de dados; você recupera seus dados ou recebe um erro de E/S.
  • Distribuição e redundância com reconhecimento de sistema de arquivos. Os controladores RAID normais tratam todo o dispositivo de armazenamento como apenas um grande monte de blocos, sem nenhum conhecimento de nenhuma estrutura de dados no disco. Como o ZFS combina gerenciamento de volume e sistema de arquivos, ele é capaz de tomar decisões mais inteligentes diante de erros. Ele também possui um regime de resilver "mais importante primeiro", o que significa que os dados que são críticos para o funcionamento do sistema de arquivos são resilverados primeiro após uma falha, e os dados menos críticos ficam esperando, independentemente de onde os dados estão no disco. armazenado.
  • Cache em camadas. Por exemplo, você pode ter um RAM ARC, complementado por um SSD L2ARC rápido, com a maior parte do armazenamento de dados em HDDs rotacionais. Para cargas de trabalho em que o conjunto de dados de trabalho pode ser estimado com um grau razoável de precisão, isso pode fornecer enormes melhorias de desempenho de E/S a um custo relativamente baixo e certamente sem a necessidade de usar todo o SSD.
  • Sistemas de arquivos praticamente gratuitos. Com o ZFS, criar um “sistema de arquivos” é um pouco diferente da criação de um diretório na maioria dos sistemas de arquivos contemporâneos. Os sistemas de arquivos podem ter cotas diferentes, tanto máximas quanto garantidas. Por esse motivo, com o ZFS, os sistemas de arquivos são frequentemente recomendados para serem usados ​​como limites administrativos; por exemplo, em um servidor grande, o diretório inicial de cada usuário pode ser seu próprio sistema de arquivos. Isso isola partes da árvore de diretórios umas das outras sem a sobrecarga implícita na criação de partições regulares e sistemas de arquivos separados. Eu uso sistemas de arquivos para separar, por exemplo, meus arquivos de e-mail por ano ou fotografias por mês.
  • Instantâneos praticamente gratuitos. Não sei quantas vezes o fato de ter conseguido voltar à aparência de um arquivo algumas horas antes me salvou de algum erro embaraçoso. Os backups fornecem capacidade semelhante (e ainda são necessários, porquenenhuma quantidade de RAID é um backup), mas os snapshots estão muito mais disponíveis. No ZFS, um instantâneo em si requer apenas alguns quilobytes de armazenamento de metadados, independentemente da quantidade de dados no sistema de arquivos relevante, e não tem custo significativo de desempenho.

Nenhum deles precisa ser usado apenas porque você usa o ZFS.Mas eles estão lá, geralmente a apenas um comando de distância, caso você queira ativá-los.

Agora, isso é "exagero"?Isso realmente depende muito do que você está tentando fazer.Eu executo o ZFS (com ECC RAM) no meu sistema doméstico. Na maior parte, ele tem funcionado silenciosamente, não fazendo mais barulho do que qualquer outro sistema de arquivos faria (e provavelmente menos), mas na verdade me salvou da corrupção de dados pelo menos uma vez (um matagal encontrou um punhado de setores que estavam apresentando problemas, ereparou os dados de forma automática e silenciosasem nenhuma intervenção necessária de minha parte). Pessoalmente, eu acho queSalvei esses dados por um motivo,e esse motivo é mais provável que eu queira consultar os dados mais tarde. Considere agora queo universo odeia seus dados.

Com os tamanhos de armazenamento cada vez maiores e as taxas de erro de bits essencialmente constantes (por classe de mídia), os erros de E/S não se tornarão menos comuns. Olhando para meu revendedor preferido, tanto a Seagate quanto a HGST oferecem HDDs de 8 TB a preços altos, mas não extremos, e certamente ao alcance dos indivíduos. Isso é cerca de 6,4 × 10 ^ 13 bits. Com uma taxa de erro de 10 ^ -14 bits,até mesmo uma única passagem completa de leitura de mídiaéestatisticamente altamente provávelencontrar um problema de E/S que torne um setor inteiro (4 KiB) ilegível. (Quando atingimos HDDs de 10 TB, estatisticamenteuma única leitura de disco completo encontrará pelo menos um setor ilegível.) Houve estudos mostrando quenão detectadoerros de leitura acontecem com muito mais frequência do que gostaríamos de admitir, desanimam os esforços dos fabricantes de HDD em melhorar os algoritmos ECC no disco, embora eu não tenha um link prontamente disponível. Sistemas de arquivos contemporâneos como NTFS, ext4, UFS+, HFS+ e assim por diante simplesmente não estão preparados para lidar com tal situação.

Esse é o nicho que sistemas de arquivos como ZFS e Btrfs pretendem preencher.

informação relacionada