Como já foi dito, existem algumas maneiras de fazer isso:
-
Um sistema de arquivos unidos, embora sejam geralmente destinados a casos de uso bastante específicos (ou seja, oferecendo uma versão gravável de um sistema de arquivos readonly ou fornecendo um cache rápido local para um sistema de arquivos remoto lento). situação
-
Distribuição de LVM
-
RAID em várias formas
Destes, o que você deve escolher é RAID, usando 5, ou o RAID10 especial de 3 unidades do linux (que é essencialmente o que os controladores RAID de hardware da IBM chamam de RAID1E) - assim, se uma unidade morre, os dados são seguros para que você possa conecte outra unidade e recrie a matriz. Com as outras opções, se uma unidade tiver problemas, você potencialmente perderá todos os dados nas três unidades. A escolha entre RAID5 e RAID10 depende do que o sistema é usado. Com o RAID5, você terá um volume de 3.6T, mas há problemas de desempenho de gravação que afetam alguns casos de uso (como o trabalho pesado no banco de dados), com RAID10 de 3 unidades que você obterá o mesmo ou às vezes melhor cargas de trabalho pesadas), mas o espaço útil será de apenas 2,7 TB.
Você poderia usar o RAID0, é claro, mas isso teria o mesmo problema "um morre, todos os dados se foram".
A migração sem perder os dados é possível (já que dois de seus drives estão começando vazios) mas não é recomendado e ainda requer algum tempo de inatividade (ou pelo menos quando os dados são somente leitura):
- Crie a matriz RAID em um estado degradado usando as duas unidades (isto é, sua matriz R5 de duas unidades está se comportando como se uma unidade tivesse falhado)
- Pare seus usuários escrevendo no volume existente (ou apenas bloqueie o acesso a ele completamente)
- Copie os dados para o novo array
- Altere os detalhes de montagem para que a nova cópia seja a cópia ativa.
(Neste ponto, você pode reativar o acesso de gravação.)
- Remover o sistema de arquivos antigo
- Adicione o terceiro dispositivo agora vazio à matriz RAID como substituto da unidade "com falha" e a matriz será criada (isso pode levar algum tempo em unidades grandes como essa, especialmente se houver uso ativo dos dados na mesmo tempo)
- Quando a reconstrução da matriz estiver concluída (você pode monitorar o progresso via
/proc/mdstat
), tudo estará feito, você estará usando todas as três unidades e terá proteção contra qualquer uma delas que falhe a qualquer momento.
Antes de fazer o acima, eu strongmente recomendo que seus backups sejam atualizados e testados caso algo dê errado. Sendo esse o caso, é provavelmente mais rápido & mais seguro para atualizar & Verifique seus backups, construa o array normalmente e reconstrua os dados do backup mais recente.