Shell Script Para Monitorar a Conclusão do Conjunto RAID

2

Como posso pausar a execução do meu script de shell depois de chamar o seguinte comando até que a matriz de raid seja montada? Pelo que entendi, este é um processo assíncrono e o status do array de ataque precisa ser pesquisado.

mdadm --create -l10 -n4 / dev / md0 / dev / xvdh *

    
por VinnyD 27.10.2012 / 17:49

2 respostas

1

Como você está criando um novo RAID 10, você pode começar a usar o array imediatamente. A ressincronização inicial continuará em segundo plano. Você só precisa esperar que ele seja concluído se você construir um array RAID 5 (e também é uma boa idéia para um RAID 6).

Veja Criação da Matriz Inicial no Linux RAID Wiki para mais detalhes.

    
por 27.10.2012 / 23:54
2

Editar Sáb 27 de outubro 17:03:42 CDT 2012:

Embora seja verdade que você possa trabalhar com a matriz RAID 10 antes de terminar a sincronização, concluí que responderia à pergunta sobre como pausar durante o processo de nova sincronização.

É assim que você pausa o script para o processo de re-sincronização (IMO / AFAIK / etc.):

# Add this where you want to pause...
while [ -n "$(mdadm --detail /dev/md0 | grep -ioE 'State :.*resyncing')" ]; do
    sleep 1
done

Para usar o exemplo acima, todo o script seria:

mdadm --create -l10 -n4 /dev/md0 /dev/xvdh*

while [ -n "$(mdadm --detail /dev/md0 | grep -ioE 'State :.*resyncing')" ]; do
    sleep 1
done

mke2fs -t ext4 -F /dev/md0

Por favor, note que o script acima não foi testado e pode conter erros.

    
por 27.10.2012 / 17:54

Tags