Linux Raid: O mdadm --grow um raid1 enquanto está montado?

Linux Raid: O mdadm --grow um raid1 enquanto está montado?

Tenho 2 unidades de 500 GB em uma configuração RAID1 que precisei atualizar para obter mais espaço. Eu mdadm --fail'ed cada unidade por vez e usei dd para copiar cada unidade para sua respectiva unidade maior (2 TB cada), removi as unidades menores e as substituí pelas unidades maiores, remontei a matriz e forcei uma ressincronização. Agora tenho um RAID1 de 500 GB em unidades de 2 TB e desejo aumentá-lo.

O plano é usar mdadm --manage /dev/md0 --grow para aumentá-los, inicializar um CD de resgate, montar o array nesse ambiente e fazer o resize2fs neles. Posso usar mdadm --grow em um sistema de arquivos montado e ativo? Além disso, preciso de mais opções para garantir que a operação de crescimento permaneça no raid1?

Responder1

Desculpe, sei que não estou respondendo da maneira certa, mas não consegui descobrir como registrar meu usuário não registrado.

Eu não poderia simplesmente copiar os dados, pois não corria o risco de perder novos dados que apareciam nas unidades antigas durante a cópia. Eu precisava fazer com que o servidor perdesse o mínimo de tempo de atividade possível, para não poder desativá-lo durante a cópia. Eu realmente só poderia poupar tempo de inatividade suficiente para trocar unidades.

Consegui fazer funcionar:

Removi uma unidade antiga conectada em uma nova unidade, sincronizei a partição raid com a nova unidade, desconectei a unidade antiga restante, substituí-a pela nova unidade restante, sincronizei novamente mdadm --grow'ed it resize2fs'ed it

o grow e o resize2fs aconteceram ao vivo. Foi um drama bastante baixo.

Responder2

Sim, você pode desenvolver um ataque online, mas não tenho certeza se você pode desenvolver um FS online. Você não precisa de opções mais específicas.

A velocidade de reconstrução padrão é limitada, você pode acelerá-la (fazê-la usar mais recursos), repetindo um valor para /proc/sys/dev/raid/speed_limit_max e /proc/sys/dev/raid/speed_limit_min

Responder3

Abordagem errada.

Basta inserir as duas novas unidades, criar um array e copiar os dados.

Responder4

Olhe parahttps://raid.wiki.kernel.org/index.php/Growing

Quando novos discos são adicionados, as partições raid existentes podem ser aumentadas para usar os novos discos. Após o novo disco ter sido particionado, o array de nível RAID 1/4/5/6 pode ser aumentado, por exemplo, usando este comando (assumindo que antes de crescer ele contém três unidades):

mdadm --add /dev/md1 /dev/sdb3
mdadm --grow --raid-devices=4 /dev/md1

O processo pode levar muitas horas ou até dias. Há uma seção crítica no início, da qual não é possível fazer backup. Para permitir a recuperação após uma falha de energia inesperada, uma opção adicional --backup-file=pode ser especificada. Certifique-se de que este arquivo esteja em um disco diferente ou ele anulará o propósito.

informação relacionada