O cache de gravação de alterações no SSD para evitar a rotação do HDD? ZFS, mas (provavelmente) não L2ARC

1

Eu tenho um servidor doméstico, que - entre outras coisas - armazena meus documentos, arquivos de correio, etc. Ele usa um ZFS RAIDZ, baseado em hdds giratórios. O servidor também executa um serviço IMAP off-line, sincronizando meu e-mail em intervalos de 5 minutos.

O problema é que frequentemente não preciso acessar e-mails (por exemplo, durante a noite ou quando estou ausente nos finais de semana). Ainda assim, os discos continuam girando, fazendo barulho e desperdiçando energia elétrica, e o único processo que os acorda é essa verificação de e-mail. Eu posso desativar o processo de sincronização para a noite, mas estou procurando uma solução mais universal.

Pensei em colocar as pastas de e-mail em um SSD, que mantém o sistema de qualquer maneira.

No entanto, quero que meu e-mail seja seguro. Armazená-lo apenas em um SSD enquanto um armazenamento RAIDZ seguro está à mão é algo que eu não chamaria de sábio. Então, minha ideia é sincronizar o armazenamento de mensagens SSD com o array RAIDZ uma ou duas vezes por dia - acho que preciso de algo como um cache de gravação muito atrasado .

Pensei em chamar rsync entre SSD e RAIDZ, mas isso tem uma desvantagem: se um email antigo for corrompido no SSD, o erro será propagado para o array. Talvez rsync --ignore-existing faça o trabalho, mas talvez exista algo que funcione melhor?

    
por Paweł Rumian 31.03.2014 / 13:31

1 resposta

1

I thought about calling rsync between SSD and RAIDZ, but this has a drawback: if an old mail gets corrupted on the SSD, the error will propagate to the array. Perhaps rsync --ignore-existing will do the job, but maybe there is something that could work better?

Não deve haver necessidade de passar por tais aros.

Basta usar o ZFS para criar um segundo pool com suporte de armazenamento SSD.

  • Você terá as mesmas garantias de integridade de dados que em sua matriz de "arquivamento" RAIDZ
  • Você usa os mesmos comandos de gerenciamento ( zfs , zpool ) para gerenciar o armazenamento
  • Você pode adicionar redundância ao seu armazenamento SSD, seja pelo atributo copies no sistema de arquivos ou por meio de hardware redundante (espelhamento ou RAIDZ), para permitir que o ZFS conserte (em vez de detectar) qualquer possível degradação. limitações do seu nível de redundância escolhido

O uso do ZFS em ambos os lados também tem a vantagem de você poder zfs send | zfs receive copiar conjuntos de dados entre os dois locais. Se quiser, você pode manter o e-mail "ativo" em um sistema de arquivos separado do e-mail de "arquivamento", o que permitiria acesso rápido e de baixa potência a dados ativos, mantendo dados de arquivamento mais lentos, mas muito mais baratos por GB. Eu faço algo muito parecido e funciona como um encanto.

Separar classes de armazenamento (SSDs e HDDs e possivelmente com diferentes níveis de redundância) é um bom uso para vários pools em um único sistema, porque permite em cada instância específica, escolha características de armazenamento apropriadas para o tipo de dados com o qual você está trabalhando e seus padrões de acesso. Como qualquer conjunto de dados do ZFS pode ser disponibilizado em qualquer ponto de montagem, alternar entre várias características de armazenamento disponíveis por meio de diferentes pools pode ser feito quase sem falhas.

O próprio ZFS não se importa muito com o tipo de mídia de armazenamento que você usa para armazenar os dados; portanto, com uma configuração semelhante, você obtém recursos semelhantes (mas características de desempenho muito diferentes) com SSDs como com HDDs.

    
por 23.05.2014 / 10:03

Tags