Aumentar o RAID

Tive que aumentar um RAID 1, de 2TB para 3TB, em Linux.

O RAID 1 era constituído pelos dispositivos /dev/sdc1 e /dev/sdd1, cada um com 1.922.599.672 bytes.
Constituiam o dispositivo /dev/md1.

Desliguei a máquina, retirei um dos discos – o /dev/sdc – e adicionei um disco de 3TB.

No arranque, o RAID não arrancou corretamente. Ao invés, arrancou como /dev/md127, como é usual sempre que há problemas. Tive que o parar com o comando

mdadm --stop /dev/md127

Entrei no fdisk, para criar uma partição no disco, e ele queixou-se de que não podia criar uma partição maior do que 2TB.


Device does not contain a recognized partition table.
The size of this disk is 2.7 TiB (3000592982016 bytes). DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

Estranhei aquela coisa da partição DOS, mas como já tinha tido um problema semelhante há 4 anos atrás, decidi usar o gdisk.

Com o gdisk criei uma partição de 3TB e defini-a como Linux RAID, com o código FD00, ao invés do FD do fdisk.

Depois de ter parado o RAID incompleto (mdadm --stop /dev/md127), tentei iniciar o novo RAID:

mdadm --assemble /dev/md1 /dev/sdc1 /dev/sdd1

mas a máquina queixou-se:

mdadm: /dev/sdc1 has no superblock - assembly aborted

Tive então que aplicar os comandos seguintes:

mdadm --zero-superblock /dev/sdc
mdadm --zero-superblock /dev/sdc1
mdadm --assemble --run /dev/md1 /dev/sdd1
mdadm --add /dev/md1 /dev/sdc1

Depois, para verificar que tudo estava OK, corri o comando seguinte, que me mostrou o RAID a ser construído:

cat /proc/mdstat

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md1 : active raid1 sdc1[2] sdd1[1]
1953382336 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.0% (707264/1953382336) finish=184.0min speed=176816K/sec

———————

Quando o mdstat chegou a 100%, parei a máquina e fiz o mesmo para o /dev/sdd.
Após terminar, montei o RAID no sistema de ficheiros, usando a informação do /etc/fstab:

mount -a

———————

Por fim, para estender o /dev/md1 para 3TB, executei os seguintes comandos

e2fsck -f /dev/md1
mdadm --grow /dev/md1 --size=2881959520
resize2fs /dev/md1

Note-se que o parâmetro size vem em kilobytes.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.