Nota: isto só funciona para o RAID 1, que é um espelho linear simples.
Removendo uma unidade de uma matriz RAID:
mdadm /dev/md0 --fail /dev/sdb1
mdadm /dev/md0 --remove /dev/sdb1
mdadm --zero-superblock /dev/sdb1
O mesmo para todas as outras partições md / sdb. Então você pode fazer o que quiser com /dev/sdb
.
Quanto ao RAID, ele é degradado (1 de 2 drives). É possível não degradar (1 de 1 unidade):
mdadm --grow /dev/md0 --raid-devices=1 --force
Dessa forma, a camada RAID ainda existe sem realmente fazer nada. Mas deixa a opção de adicionar facilmente uma segunda unidade no futuro, retomando assim as operações de RAID. E não há necessidade de alterar outras configurações.
Se você quiser se livrar do RAID 1 ao mesmo tempo, você teria que determinar o deslocamento de dados e, em seguida, mover o deslocamento da partição de acordo.
# mdadm --examine /dev/sda1
Data Offset : 2048 sectors
$ cat /sys/block/sda/sda1/start
2048
$ cat /sys/block/sda/sda1/size
268613632
Neste exemplo, você tem um deslocamento de dados de 2048
, a própria partição começa em 2048
e é 268613632
large.
Você precisa remover essa partição e criar uma nova partição 2048+2048
- 268613632-2048
. Ou seja Aumente os setores de início por offset e reduza o tamanho por setores de compensação, de forma que o setor final da partição permaneça inalterado.
Você pode fazer isso com qualquer particionador de sua escolha, em parted
seria:
# parted /dev/sda
) unit s
) print free
) rm 1
) print free
) mkpart primary 4096s 268611583s
) name 1 mynonraidroot
Após a reinicialização, a nova partição deve apontar para o sistema de arquivos diretamente, e o próprio RAID não existiria mais. (Se você fizer este passo a partir de um sistema de recuperação, você não precisará reiniciar, e você também pode mdadm --zero-superblock /dev/sda1
antes de mudar a partição, assumindo que você já parou o RAID).
Em uma etapa final, você teria que remover mdadm.conf
, update bootloader e initramfs para se livrar de quaisquer referências remanescentes para a configuração do RAID.