Tenho duas perguntas aqui baseadas em uma configuração comum. Um aviso rápido: estou usando freenas e ainda não digeri totalmente a terminologia ZFS e a terminologia ZFS freenas açougueiros em sua interface de usuário. Aceitarei respostas que usem o terminal ou a UI do Freenas (pontos extras para ambos;)).
Eu tenho um único volume (zpool?) Com 1 espelho vdev composto por dois discos de 3 TB.
O que éapropriadoprocedimento para remover fisicamente um dos discos e colocá-lo de volta?
Provavelmente imprudentemente, removi um dos discos sem executar nenhum comando. Imediatamente fui alertado que o volume estava DEGRADADO (esperado). Esse status persistiu depois que coloquei a unidade de volta (ela não parecia reconhecer a unidade como removida - ou, se o fez, não sabia como reconectá-la). Eu reiniciei o servidor e agora ele mostra o volume como íntegro, mas em Volume Manager-> Volume Stats, há um 182 na coluna de soma de verificação de uma das unidades, mas não da outra (embora eu não saiba se isso estava lá antes ).
- Como eu deveria ter lidado com a situação?
- Isso pode causar perda de dados ou o ZFS deve se recuperar bem dessa situação?
- Se isso pode causar perda/corrupção de dados/o que quer que seja, como posso verificar e me recuperar disso?
Finalmente, pontos de bônus adicionais para links para cartilhas concisas do ZFS que não são livros didáticos e não se aprofundam em partes inutilmente obscuras dos ZFs. :P
Responder1
Isenção de responsabilidade: eu não usei o FreeNAS pessoalmente, então algumas respostas podem não ser a maneira canônica de fazer isso - consulte o manual com antecedência. Dito isto, eles são do jeito que a Oracle recomenda, então deve haver alguma verdade por trás disso.
- Depende do seu objetivo:
- Se você quisersubstituir uma unidade com defeitocom uma substituição, você faz isso na interface da Web do FreeNAS ou no console com
zpool replace poolname olddevice newdevice
. - Se você quiserremover um disco de um espelho vdev permanentemente(e reduza o espelho para básico, perdendo toda redundância no processo), você faz isso na GUI ou no console com
zpool detach poolname olddevice
(usezpool attach poolname olddevice newdevice
para reconectar). - Se você quiserretirar temporariamente um dispositivo do pool ativo sem removê-lo ou desanexá-lo, use a GUI ou no console com
zpool offline poolname olddevice
. Isso é útil para solucionar problemas de matrizes maiores. Escrevo apenas para completar aqui.
- Se você quisersubstituir uma unidade com defeitocom uma substituição, você faz isso na interface da Web do FreeNAS ou no console com
- Reboot exporta todos os pools e depois os importa. Na importação, o ZFS verifica se todos os discos estão presentes. Então, em vez de reiniciar, você também pode fazer
zpool export poolname
o seguintezpool import poolname
para conseguir o mesmo. É possível que você precise configurar o disco após a inserção (este é o caso em sistemas Illumos padrão) antes de importar o pool. Se não quiser desmontar a piscina, você também pode remover o dispositivo com defeito e substituí-lo. Dessa forma você não tem tempo de inatividade, mas sim resilvering. Pessoalmente, eu sempre escolheria a primeira solução, exceto em arrays grandes, porque é muito mais segura. - Veja a próxima pergunta.
- Se a soma de verificação estiver em apenas uma unidade, tudo bem. Use
zpool clear poolname
para remover a mensagem de erro. Se os erros de soma de verificação ocorreram em ambas as unidades, isso depende do caso específico. Normalmente, o ZFS informaria se e quais arquivos foram afetados.
- Reboot exporta todos os pools e depois os importa. Na importação, o ZFS verifica se todos os discos estão presentes. Então, em vez de reiniciar, você também pode fazer
Resposta de pontos de bônus:
- Páginas de ajuda e documentação da Oracle, conforme link acima
man zpool
man zfs
e para zpoolman /usr/bin/chmod
, sistemas de arquivos e configurações de ACL. Eles também estão disponíveis online na Oracle e são muito bons. Na verdade, você quase não precisa de mais nada, porque eles também têm muitos exemplos do mundo real (muito melhores que as páginas de manual do GNU).- Guia de práticas recomendadas do Solaris
- Piores práticas do FreeNAS (armadilhas a serem evitadas)
- Coisas do Nex7 que ninguém lhe contou sobre o ZFS
- Blog de Constantin Gonzalez
- Folha de dicas do ZFS com comandos mais úteis em formato compacto