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$