Raid1 degradado após cada reinicialização

2

Após a configuração, a saída cat / proc / mdstat é semelhante a:

proxmox:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc2[1] sdb2[0]
      293024832 blocks [2/2] [UU]

unused devices: <none>

Além disso, depois de configurar o raid1 como novo, recebi o seguinte:

proxmox:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=fbda4051:61cbc27f:7f2b1f39:e153e83f

Mas, após a reinicialização, o cat / proc / mdstat produz:

proxmox:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sdc[1]
      293024832 blocks [2/1] [_U]

unused devices: <none>

Por que está usando o sdc1 agora?

Além disso, agora eu recebo:

proxmox:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=fbda4051:61cbc27f:7f2b1f39:e153e83f
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=fbda4051:61cbc27f:9822ee23:9b948649


proxmox:~# dmesg | grep md0
md/raid1:md0: active with 1 out of 2 mirrors
md0: detected capacity change from 0 to 300057427968
 md0: p1 p2
md0: p2 size 586049840 exceeds device capacity, limited to end of disk

De onde vieram as duas partições em / dev / md0? Eu nunca fiz eles. Além disso, sdc1 e sdc2 não estão listados na árvore / dev .

Aqui está a saída do fdisk:

proxmox:~# fdisk -l /dev/sdb

Disk /dev/sdb: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x3bd84a48

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1           2       10240   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2               2       36482   293024920   fd  Linux raid autodetect
Partition 2 does not end on cylinder boundary.

proxmox:~# fdisk -l /dev/sdc

Disk /dev/sdc: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x371c8012

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1           2       10240   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdc2               2       36482   293024920   fd  Linux raid autodetect
Partition 2 does not end on cylinder boundary.

Um pouco de informação: Servidor rodando o Proxmox v1.9, que é debian lenny 64bit. sda é o disco rígido do sistema (Hardware RAID). O sdb e o sdc são novos drives Raptor de 300 GB.

    
por Sparctus 28.11.2011 / 20:51

2 respostas

2

Primeiro, verifique o hardware físico, como conexões, cabos e placas encaixadas corretamente. Para o disco em si, verifique os dados do SMART em / dev / sdb para garantir que o próprio disco não falhe periodicamente. Os Raptors da Western Digital são rápidos, mas propensos a falhas, tive uma falha em mim do nada (nem mesmo os dados da SMART previam isso). Use smartctl para ler os dados SMART e executar testes. Vem no pacote smartmontools:

apt-get install smartmontools

Puxe os dados e procure por anomalias ou erros registrados:

smartctl -a /dev/sdb

Por fim, execute um autoteste manual, que levará cerca de dois minutos. long pode ser substituído por short e é mais completo, mas demora muito mais ("dezenas de minutos"):

smartctl -t short /dev/sdb

Quando o teste estiver concluído, analise os resultados:

smartctl -l selftest /dev/sdb

Se tudo estiver limpo, você pode passar para a depuração da pilha mdadm.

Sua disposição de partição é um pouco estranha nos dispositivos RAID. Se esses dispositivos forem dedicados ao RAID, você não precisará de uma tabela de partições. Supondo que não haja dados, é recomendável mantê-lo simples e usar os dispositivos de bloco diretamente. No fdisk eles apareceriam assim:

Disk /dev/sdb: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table

Para eliminar quaisquer problemas com o particionamento e começar do zero, apenas some alguns zeros no início de cada disco;

dd if=/dev/zero of=/dev/sdb count=128 bs=4096k

Repita para / dev / sdc. Crie o array usando esses dois dispositivos:

mdadm --create --raid-devices=2 --level=raid1 --bitmap=internal --assume-clean --name=RAID1 /dev/sdb /dev/sdc

Não se esqueça de verificar o dmesg para qualquer saída relacionada ao disco!

    
por 28.11.2011 / 21:41
0

O Proxmox não suporta RAID por software:

For production only hardware raid is possible. if you use an custom softraid you will run now and in future versions into problems means it will NOT work. It´s quite interesting that people does not believe us that Proxmox VE will not work with soft raid - again: we are the developers and we should know it!?

P.S. Os desenvolvedores nunca parecem explicar "por que" isso não funciona ... Isso só diz que não funciona.

link

Mesmo que "este" problema não seja devido ao Proxmox, geralmente não valerá a pena o esforço, porque não funcionará no final de qualquer forma ...

    
por 28.11.2011 / 21:44