O servidor Debian degradou o array mdadm em cada inicialização

4

Eu tenho um servidor Debian com ataque MD (2 ativos, um sobressalente):

Personalities : [raid1] 
md1 : active raid1 sdc2[0] sdb2[1] sda2[2](S)
      1068224 blocks [2/2] [UU]

md0 : active raid1 sdc1[2](S) sdb1[1] sda1[0]
      487315584 blocks [2/2] [UU]
      bitmap: 5/233 pages [20KB], 1024KB chunk

unused devices: <none>

Sempre que eu inicializo este servidor, o array fica degradado e ele começa a sincronizar o disco reserva. A coisa é, parece ser porque há um disco USB conectado a ele, que atualmente é /dev/sdd . Ele inicializa bem quando este disco não está presente. /dev/sdd1 , a única partição, não tem superblocos md, e o tipo de partição é Linux, não auto-detecção de raid.

Este é o detalhe do dispositivo de espelho para md0 :

mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Sun Jun  8 04:10:39 2008
     Raid Level : raid1
     Array Size : 487315584 (464.74 GiB 499.01 GB)
  Used Dev Size : 487315584 (464.74 GiB 499.01 GB)
   Raid Devices : 2
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Tue Sep 15 09:23:33 2015
          State : active 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

           UUID : 9e408fbb:563a5459:f999b789:24d3b44e
         Events : 0.83145

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

       2       8       33        -      spare   /dev/sdc1

Os detalhes de /dev/sdc1 realmente mostram que é de reposição:

mdadm --examine /dev/sdc1
/dev/sdc1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 9e408fbb:563a5459:f999b789:24d3b44e
  Creation Time : Sun Jun  8 04:10:39 2008
     Raid Level : raid1
  Used Dev Size : 487315584 (464.74 GiB 499.01 GB)
     Array Size : 487315584 (464.74 GiB 499.01 GB)
   Raid Devices : 2
  Total Devices : 3
Preferred Minor : 0

    Update Time : Sat Sep 12 21:09:59 2015
          State : clean
Internal Bitmap : present
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1
       Checksum : 7761bb13 - correct
         Events : 83145


      Number   Major   Minor   RaidDevice State
this     2       8       33        2      spare   /dev/sdc1

   0     0       8        1        0      active sync   /dev/sda1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       33        2      spare   /dev/sdc1

Realmente nada fora do comum.

Alguma ideia?

Editar:

O conteúdo relevante de /etc/mdadm/mdadm.conf :

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=9e408fbb:563a5459:f999b789:24d3b44e
   spares=1
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=e4578e57:9e0fd9e9:c7736f30:0e251564
   spares=1

Esse tipo de correspondência corresponde à saída de mdadm --detail --scan :

ARRAY /dev/md0 metadata=0.90 spares=1 UUID=9e408fbb:563a5459:f999b789:24d3b44e
ARRAY /dev/md1 metadata=0.90 spares=1 UUID=e4578e57:9e0fd9e9:c7736f30:0e251564

É talvez a nova linha?

  • Kernel 3.2.0-4-686-pae.
  • Debian 7.8
  • mdadm - v3.2.5 - 18 de maio de 2012
por Halfgaar 15.09.2015 / 09:29

1 resposta

5

Acho que você pode ter um mdadm.conf muito antigo no initramfs e / ou o mdadm se confunde durante a descoberta e a inicialização dos arrays.

Tente dizer ao mdadm para considerar apenas discos no barramento PCI, adicionando a seguinte linha no mdadm.conf:

DEVICE /dev/disk/by-path/pci*

Indo mais longe, você pode especificar diretamente os próprios discos. Certifique-se de usar um endereçamento independente de pedido (por exemplo, por UUIDs) e que você coloque o sobressalente na última entrada:

DEVICE /dev/disk/by-uuid/<uuid1>
DEVICE /dev/disk/by-uuid/<uuid2>
DEVICE /dev/disk/by-uuid/<uuid3>

Para ir ainda mais longe, após a etapa anterior, você também pode adicionar devices = attributes às tags ARRAY, fornecendo o layout exato de sua raid para o mdadm. Considere a ordem dos dispositivos aqui também.

Depois disso, não esqueça de atualizar o initramfs, já que o mdadm.conf também faz parte do processo de inicialização:

sudo update-initramfs -k all -u
    
por 15.09.2015 / 10:16