Remoção de RAID-1 e unidade regular (usando RAID-1 como medida de backup)

2

A utilização do RAID-1 de 2 partições do mdadm (uma na unidade de disco rígido interna do laptop e outra na unidade de disco rígido externa) é uma boa ideia.

Eu quero que o sistema funcione como RAID-1 se as duas unidades estiverem presentes, funcione como volume normal (degradad RAID-1) se o HDD externo for desconectado e rapidamente ressincronize quando eu conectar novamente o HDD externo.

Perguntas:

  1. É uma boa ideia?
  2. O bitmap com intenção de gravação será suficiente para essa tarefa ou eu preciso de algo mais?
  3. Devo considerar fazer isso no nível do sistema de arquivos (3b. se sim, como?).

Requisitos básicos são:

  1. Ressincronize rapidamente quando eu adiciono novamente a unidade externa (desde que eu não tenha alterado essa partição).
  2. Dados mais ou menos consistentes na unidade removida, se eu removê-los durante a operação de gravação / ressincronização.

Se eu remover a unidade durante a ressincronização, espero que os dados sejam um pouco inconsistentes, mas espere a conclusão rápida da ressincronização quando a adicionar novamente. Por exemplo. Eu quero que a unidade restante rastreie o que foi alterado (pode haver muitas alterações) e que sincronize apenas as partes que precisam dela.

    
por Vi. 30.03.2010 / 04:54

3 respostas

0

Parece que a ideia da matriz RAID-1 baseada em external_HDD funciona.

O array começa a degradar e rastreia as alterações nele usando bitmap com intenção de gravação.

Quando conecto meu HDD externo, meu script udev detecta que uma das partições é adequada para minha matriz e a adiciona. Ele sincroniza (instantaneamente, se não houver alterações) e, em seguida, age como uma aceleração para o acesso de leitura.

Quando eu desconectar meu disco rígido externo (incluindo a remoção repentina), outro udev scripts registra que a unidade foi removida e a matriz se degradou novamente.

No entanto, há queda perceptível no desempenho de gravação, mas é aceitável para esse uso.

Outra vantagem é que eu posso formatar temporariamente essa partição para algum outro uso e depois trazê-la de volta para o array (com uma reconstrução completa).

    
por 31.03.2010 / 10:36
1

Eu diria que isso não é uma boa ideia. Tudo o que você está protegendo contra, no máximo, são problemas de unidade física / elétrica, e você só tem uma cópia do backup que é muito vulnerável ao ser atualizada.

Se ocorrer uma falha na outra unidade, ou na sua máquina em geral, durante a ressincronização você pode ficar com a unidade principal parada e a unidade "bakcup" tendo uma atualização parcial (ou seja, possivelmente muito corrompida) sistema de arquivo. Esta é uma das razões pelas quais a maioria das soluções de backup inclui vários backups (outro motivo é que você pode ter pelo menos um backup off-line (e de preferência externo) enquanto atualiza o outro), mas é agravado pelo fato de que a ressincronização RAID é não será reconhecido pelo sistema de arquivos, portanto não será capaz de fazer nada para garantir que uma ressincronização parcial deixe o sistema de arquivos perto de um estado consistente (por exemplo, pode sincronizar dados gravados antes de blocos de registro relacionados e em).

Se você está RAIDando todo o seu sistema dessa maneira, então o impacto no desempenho da escrita pode ser bastante significativo também (veja posts como link ), mas se você está apenas RAIDando em sistemas de arquivos que não vê muita atividade de gravação, isso pode não ser uma preocupação para você.

Se você usar essa técnica, certifique-se de executar sync antes de forçar a ejeção da unidade.

Já pensou em usar o rsync para atualizar o sistema de arquivos de backup? Isso seria mais lento em sua melhor solução (já que uma varredura completa dos tamanhos e datas dos arquivos é necessária mesmo que nada tenha mudado, o que pode ser significativo se o sistema contiver muitos arquivos), mas é rápido o suficiente e certamente mais rápido uma ressincronização completa onde o driver RAID para decidir isso é necessário.

    
por 31.03.2010 / 12:49
0

Um problema que vejo é que o sistema de arquivos no HDD externo removido pode estar em um estado que não pode ser montado, embora sistemas de arquivos modernos com registro no diário, etc., diminuam esse risco.

Mas se você estiver usando o mdadm, eu posso supor que você está usando algum sabor do Linux e recomendaria o uso do rsync. Isso seria rápido, pois somente os arquivos alterados seriam copiados e também permitiria que você criasse uma pasta com a data atual no disco rígido externo e, em seguida, criasse um backup completo do disco rígido interno, mas dificultando a conexão dos arquivos. o backup anterior, usando apenas o espaço para os novos dados. Dessa forma, você pode recuperar facilmente um arquivo que pode ter sido excluído no disco rígido interno.

    
por 31.03.2010 / 15:27