array RAID-5 sendo dividido na reinicialização (Ubuntu)

3

Configurei uma matriz RAID-5 no Ubuntu 13.04 (kernel 3.8.0-27-generic) usando o mdadm - v3.2.5 - 18 de maio de 2012. Parece funcionar bem e ter ótimo humor:

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdb3[0] sdd1[3] sdc1[1]
      2929994752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

No entanto, na reinicialização, a matriz é dividida em duas matrizes separadas para o que parece não ser uma boa razão. Na inicialização, recebo a solicitação:

*** WARNING: Degraded RAID devices detected. ***
Press Y to start the degraded RAID or N to launch recovery shell

Para o qual eu geralmente respondo sim e deixo cair em um shell initramfs que eu imediatamente saio. Quando estou de volta ao sistema, minha matriz RAID foi dividida assim:

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : inactive sdb3[0]
      1464997976 blocks super 1.2

md127 : inactive sdc[1] sdd[2]
      2930275120 blocks super 1.2

Eu também entendi no sentido inverso:

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md127 : inactive sdb3[0]
      1464997976 blocks super 1.2

md0 : inactive sdc[1] sdd[2]
      2930275120 blocks super 1.2

Embora o sdc e o sdd pareçam ter formado um pouco de clique. Eu posso remontar a matriz muito bem, emitindo:

$ mdadm --stop /dev/md0
$ mdadm --stop /dev/md127
$ mdadm -A /dev/md0 /dev/sdb3 /dev/sdc1 /dev/sdd1 

Depois disso eu posso montar o volume LVM que fica no md0 e agir como se nada tivesse acontecido (não é reconstruído nem nada). O que eu realmente gostaria, no entanto, é não ter que passar por essas etapas. Meu arquivo mdadm.conf contém a linha:

ARRAY /dev/md0 metadata=1.2 UUID=e8aaf501:b564493d:ee375c76:b1242a82

do qual usei o nome sob o aconselhamento de esta postagem no fórum . Executar detalhes e verificações produz isso:

$ mdadm --detail --scan
mdadm: cannot open /dev/md/mimir:0: No such file or directory
ARRAY /dev/md0 metadata=1.2 name=turbopepper:0 UUID=e8aaf501:b564493d:ee375c76:b1242a82

Observe a matriz "mimir". Esta é uma matriz vestigial de quando eu estava jogando com matrizes antes. Eu não sei de onde está sendo detectado (não está no mdadm.conf e nenhuma referência é feita no fstab). Provavelmente precisa ir, mas não consigo descobrir de onde vem (na verdade, pode ser o culpado).

Qualquer ajuda seria apreciada em fazer com que a matriz persistisse durante a reinicialização sem intervenção.

Caso seja pertinente, aqui estão mais alguns resultados que podem ou não ser úteis.

$ fdisk -l /dev/sdb /dev/sdc /dev/sdd

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x7f0e98a6

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      499711      248832   fd  Linux raid autodetect
/dev/sdb2          499712   976771071   488135680   fd  Linux raid autodetect
/dev/sdb3       976771072  3907029167  1465129048   fd  Linux raid autodetect

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
81 heads, 63 sectors/track, 574226 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00052c9c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  2930277167  1465137560   fd  Linux raid autodetect

Disk /dev/sdd: 1500.3 GB, 1500301910016 bytes
81 heads, 63 sectors/track, 574226 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bd694

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048  2930277167  1465137560   fd  Linux raid autodetect

Eu imagino que o motivo pelo qual o sdc e o sdd estão juntos durante a divisão é que eles são drives idênticos.

$ cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 metadata=1.2 UUID=e8aaf501:b564493d:ee375c76:b1242a82

# This file was auto-generated on Sun, 08 Dec 2013 00:39:01 -0500
# by mkconf $Id$
    
por fromClouds 08.12.2013 / 21:25

1 resposta

1

Uma de suas partições, provavelmente a sdb3, ainda tem um superbloco antigo para a matriz "mimir" que é verificada pelo mdadm na inicialização. Deve ser corrigível emitindo

mdadm --zero-superblock /dev/sdb3

e lendo a partição para o array depois.

    
por 09.12.2013 / 10:16