Nossa, eu não ouvi falar de ninguém usando o NBD há algum tempo.
Você já pensou em usar o DRBD ?
Os recursos incluem recuperação automática de falhas de rede e ressincronização diferencial.
Melhor ainda, indo à linha principal !
Atualmente, tenho um RAID nível 1 de 2 HDs de 500 GB. O RAID é gerenciado pelo servidor 1 e as unidades estão em dois servidores diferentes.
O RAID funciona muito bem quando eu o configuro, no entanto, em horários aleatórios a conexão parece ter caído e o mdadm o marca como defeituoso e mesmo assim eu uso o nbd-client com a opção -persist; O mdadm se recusa a ver o disco como bom. A única maneira de obter essa unidade de desconexão de volta na matriz RAID é:
mdadm -r / dev / md0 / dev / nbd1
mdadm -a / dev / md0 / dev / nbd1
Meu problema com isso é que ele causa um RESYNC COMPLETO de 500 GB pela rede.
Eu tenho 2 perguntas para este problema:
Existe uma maneira de dizer ao mdadm para não concluir uma ressíncrona completa, porque ele completa uma ressincronização antes de se desconectar, portanto não consigo ver uma boa razão para executar uma ressincronização COMPLETA?
Eu estaria melhor com o rsync porque tudo que eu preciso é apenas uma cópia de backup de qualquer dado que eu escreva / delete? Eu sugiro isso porque o rsync, supostamente, apenas transfere os dados delta (ou alterados) em vez do que o mdadm parece estar fazendo.
Nossa, eu não ouvi falar de ninguém usando o NBD há algum tempo.
Você já pensou em usar o DRBD ?
Os recursos incluem recuperação automática de falhas de rede e ressincronização diferencial.
Melhor ainda, indo à linha principal !
Usando a sugestão para usar o DRBD, porque este é exatamente o cenário para o qual foi projetado. Você também tem a capacidade de mascarar erros de disco locais - se o disco local falhar, o DRBD pode atender a blocos do disco remoto, de modo que, até onde o SO saiba, ainda tenha um disco totalmente funcional.
O DRBD também possui a infraestrutura necessária para gerenciar o failover e a consistência de maneiras superiores ao uso de uma solução simples de software RAID.
Enquanto eu nunca pensaria em fazer RAID 1 de rede sobre NBD, e sou um grande fã de DRBD para todas as coisas "armazenamento de HA", há um ponto em sua pergunta que é aplicável a outras situações de mdadm. Você disse:
Is there a way to tell mdadm not to complete a full resync
Sim, existe. Verifique mdadm
(8) para "bitmap de intenção de gravação" - basicamente, é uma maneira de o mdadm lembrar quais blocos estão em sincronia e apenas ressincronizar aqueles que ele não sabe estarem atualizados. Na sua situação eu ainda usaria o DRBD, mas para grandes conjuntos RAID locais, ele pode ajudar muito depois de uma falha também.
Vou sugerir algo diferente de DRBD ... e isso é GlusterFS . Ele tem um monte de mecanismos de armazenamento diferentes, você pode simular o RAID em vários dispositivos de bloco, distribuindo-os, espelhando ou tendo uma estrutura de matriz semelhante a RAID-5.
Você também pode fazer coisas legais, como criptografia. A única desvantagem é que é baseado em FUSE, mas em recentes núcleos RHEL / CentOS isso é bom. Está tudo bem no Ubuntu / Debian também.
(Eu não trabalho para gluster, mas eu uso em algumas instalações de grande escala, e é um sistema de arquivos de rede muito bom.)
Sim, o RAID é a tecnologia errada para usar neste cenário. Você quer ir com o rsync ou ver alguns dos sistemas de arquivos distribuídos que estão sendo desenvolvidos.
Tags rsync mdadm linux software-raid