Remover disco da matriz mdadm, Raid 0

1

Eu tenho um volume RAID 0 de 2 discos mdadm, total de 4TB, criado no servidor Ubuntu 14.04. O volume está menos da metade cheio e eu estou olhando para o medo dos discos, mantendo os dados para que eu possa usar um dos discos em outra máquina.

Idealmente, gostaria de poder fazer isso sem comprar outra unidade para cópia de dados.

Obrigado!

    
por uint32 19.05.2015 / 21:47

1 resposta

1

Se a matriz de ataque for particionada, você poderá usar gparted para reduzir e / ou mover os sistemas de arquivos dentro dela até que a segunda metade do disco não seja usada. Se não for particionado, você precisará reduzir o sistema de arquivos com resize2fs (assumindo que ele é ext [234]). Dê-se um pouco de espaço extra só para ter certeza. Então você pode converter o raid0 em um raid4 degradado, que suporta a reformulação (raid0 não, mas um raid4 degradado é essencialmente a mesma coisa que um raid0). Em seguida, você pode reformular o array para apenas um disco e remover o segundo disco.

resize2fs /dev/md2 2800M  # 2 3gb drives, left an extra 200mb of margin
mdadm -G /dev/md2 -l raid4
mdadm -G /dev/md2 -Z 2900M
e2fsck -f /dev/md2 # make sure you didn't break things
mdadm -G /dev/md2 -n 2 --backup=backup
mdadm -D /dev/md2 # watch until it is done reshaping
mdadm -G /dev/md2 -l raid0 # drop the second disk and go back to ( single disk ) raid0
mdadm -G /dev/md2 -Z max
resize2fs /dev/md2  # maximize the fs to use the full disk

No processo de teste, descobri que resize2fs não me permitiria diminuir o tamanho do fs para metade do tamanho original, mesmo que tenha sido apenas 33% usado. Eu enviei um patch para corrigir esse erro de cálculo de tamanho mínimo.

    
por psusi 24.05.2015 / 16:47