Redimensionar partições subjacentes no mdadm RAID1


9

Eu tenho um NAS interno e preciso reconfigurar um pouco o uso da minha unidade.

Eu tenho um RAID1 mdadm composto por duas unidades de 3 TB. Cada unidade possui uma partição ext3 que usa a unidade inteira. Preciso encolher a partição ext3 em ambas as unidades e adicionar uma segunda partição ext3 de 8 GB ou mais a uma e trocar a partição de tamanho igual à outra. Eu acho que tenho as etapas descobertas, mas queria alguma confirmação.

  1. Redimensione o mdadm RAID em resize2fs /dev/md0 [size]que o tamanho é um pouco maior que o espaço atualmente usado na unidade
  2. Remova uma das unidades do RAID mdadm /dev/md0 --fail /dev/sda1
  3. Redimensione a unidade removida com
  4. Adicione a nova partição à unidade com parted
  5. Restaure a unidade para o RAID mdadm -a /dev/md0 /dev/sda1
  6. Repita 2-5 para o outro dispositivo
  7. Redimensione o RAID para usar a partição completa mdadm --grow /dev/md0 -z max

Há algo que eu perdi ou não considerei?

Respostas:


6

Sim, você perdeu algo muito importante e eu aprendi da maneira mais difícil. http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162 aponta que agora é estatisticamente inevitável ter setores defeituosos no array RAID.

Se você tiver uma matriz RAID degradada e uma de suas unidades atingir um setor defeituoso, o mdraid desligará a matriz. Isso acontecerá durante a recuperação quando você adicionar novamente a unidade, porque todos os setores das outras unidades precisam ser lidos. Passei bastante tempo me recuperando disso, o que é realmente complicado. \

Portanto, o que você deve fazer de antemão é: reparo de eco> / sys / block / mdX / md / sync_action

(verifique https://raid.wiki.kernel.org/index.php/Scrubbing )


Não consigo executar esses comandos nem como sudo. Estou executando um servidor ubuntu. Você tem alguma idéia do porquê?
precisa

Tarde demais para você, mas para responder: O shell está sendo executado enquanto você e o sudo não estão interpretando o redirecionamento >. Encapsule tudo em um subshell ou use tee. Eu prefiro tee:echo repair | sudo tee /sys/block/mdX/md/sync_action
ibotty

1: O ponteiro para a limpeza é útil e apropriado; 2: agora é 2018 agora, 9 anos depois de 2009. Estou operando várias matrizes RAID5, de 5 discos de 8 a 10 TB cada, há vários anos e nada de ruim aconteceu (exceto um dos gabinetes morrendo ...). Eu acho que o aviso sobre o RAID5 parar de trabalhar foi muito exagerado - a chance de que isso aconteça não é tão grande quanto se imaginava e pode ser ainda mais atenuada, prestando atenção à taxa de erro do disco rígido quando você os compra; 3: Você ainda deve ter sempre um backup de tudo
Zak

3

Seus passos parecem bons, com duas exceções:

  1. Depois resize2fs, você precisa reduzir sua matriz mdadm. Por exemplo, faça mdadm --grow --size xxxo passo nº 1a.

  2. Eu também sugeriria fazer tudo isso enquanto inicializado em um CD de resgate, como SystemRescueCd , e não enquanto / dev / md0 estiver montado. Siga o redimensionamento por fsck, apenas para garantir que está tudo bem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.