Eu tenho trabalhado com isso na minha cabeça durante todo o dia, e queria expandir e obter alguns comentários / opiniões sobre essa configuração, e como eu posso lidar com isso se acontecer de falhar.
Eu tenho um sistema Ubuntu Server no qual o sistema de arquivos mora em um disco relativamente pequeno, e os dados principais que ele armazena ficam em 5 discos configurados no RAID5 usando o MDADM.
Os dados armazenados na matriz RAID são de prioridade média. Não existem dados pessoais confidenciais do usuário, portanto, uma perda não significaria o fim do mundo. No entanto, eu gostaria de um pouco de redundância à medida que crescem as unidades, então o RAID 5 é a escolha óbvia.
Assim, se uma unidade na matriz falhar, posso substituí-la antes que qualquer coisa catastrófica aconteça. Se outra unidade falhar enquanto a primeira está sendo substituída, então eu acabei de ser atingido por uma luz de azar.
O que eu estou querendo saber é o que eu posso fazer com a unidade que contém o sistema operacional. No momento, o que estou fazendo é usar o rsync para fazer o backup dos dados em um local remoto uma vez por noite. E uma vez por semana, esse local remoto espalha o sistema de arquivos e o armazena (ele sempre mantém 4 dos tarballs mais recentes). Minha lógica é que isso resulta no menor tráfego entre as caixas, o que é bom, já que o servidor reside em minha casa, e ainda assim terei uma espécie de backups semanais "completos" no terminal remoto, bem como um backup noturno. A linha rsync no meu script de backup é a seguinte:
rsync --info=progress2 --numeric-ids -aAXPve ssh /* <remote>:~/server_backup --exclude=~/Download/* --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found --delete
Enfim, eu encontrei unidades com falha na matriz RAID. É fácil e é uma satisfação saber que tudo o que você precisa fazer é trocá-lo, informar ao MDADM que substituiu a unidade e esperar um ou dois dias para que a nova unidade seja completamente adicionada à matriz. Eu ainda tenho que encontrar o drive do sistema de arquivos falhando, no entanto. É por isso que estou aqui tentando obter opiniões / feedback sobre o que devo fazer.
Eu considerei adicionar outra pequena unidade para o sistema operacional, e espelhar os dois usando RAID 1. A parte positiva, eu acho, é que se uma unidade for completamente fechada, a outra irá salvar meu sistema de arquivos. A desvantagem é que, se houver algum tipo de corrupção, ou eu realmente estragar algo, os dados são imediatamente espelhados entre os dois dispositivos. Basicamente eu gosto da ideia de ter backups incrementais e completos mais do que uma configuração espelhada para o sistema de arquivos.
Ok, mas então o que acontece naquele dia fiel em que a unidade do sistema de arquivos falha?
Eu vou à loja, compro uma nova unidade, conecto-a, então o que acontece?
Eu tenho que instalar o Ubuntu na unidade e reverter o comando rsync?
O que acontece com a minha partição RAID?
Esta é uma forma de perguntar sobre onde os metadados RAID são armazenados?
Foi na unidade do sistema operacional? Será que chegou ao meu repositório remoto que contém os backups incrementais via rsync? Ela reside apenas no superbloco das unidades RAID?
Se eu for buscar uma nova unidade para o sistema de arquivos, instalar o Ubuntu e adicioná-lo ao meu servidor, o que ele verá? Será que vai ver o array?
Se eu rsync todas as minhas alterações de volta do servidor de backup remoto para o meu servidor local, será então ver o array?
Ou estou errado em assumir qualquer um dos casos?
Eu quero estar preparado para quando esta unidade finalmente morrer. Fui diligente em fazer backups off-site do rsync, mas quero ter certeza se tudo o que tenho feito é uma enorme perda de tempo, e o que posso fazer para garantir que posso continuar usando meu sistema depois uma falha catastrófica da unidade que contém o sistema de arquivos.