mdadm não monta após o reinício

2

Eu tenho 2 discos com a próxima estrutura:

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   3,7T  0 disk
├─sda1        8:1    0   2,7T  0 part
└─sda2        8:2    0 931,5G  0 part
sdb           8:16   0   2,7T  0 disk
└─sdb1        8:17   0   2,7T  0 part

sda1 e sdb1 fazem parte do md0 se eu executar

mdadm --misc --detail /dev/md0

retorno

mdadm: cannot open /dev/md0: No such file or directory

Meu 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

# 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

# This configuration was auto-generated on Thu, 03 Mar 2016 21:53:00 +0100 by mkconf
ARRAY /dev/md/0  metadata=1.2 UUID=6ca17528:517621d3:e1c460a2:529955dd name=rp3-0:0

Se eu executar

sudo mdadm -A /dev/md0

ou

sudo mdadm --assemble --scan

retorno

mdadm: /dev/md/0 has been started with 2 drives.

e a nova estrutura de disco é:

sda           8:0    0   3,7T  0 disk
├─sda1        8:1    0   2,7T  0 part
│ └─md0       9:0    0   5,5T  0 raid0
└─sda2        8:2    0 931,5G  0 part
sdb           8:16   0   2,7T  0 disk
└─sdb1        8:17   0   2,7T  0 part
  └─md0       9:0    0   5,5T  0 raid0

A linha fstab para raid é

/dev/md0        /mnt/ext        ext4    defaults,nobootwait,nofail      0       0

nobootwait e nofail são para não travar o systemd na inicialização.

Quando eu reinicio o sistema, o raid0 desaparece. Como posso fazer para persistir o ataque após cada reinicialização?

Obrigado.

    
por Álvaro de la Vega Olmedilla 04.03.2016 / 23:53

2 respostas

0

Você só precisa do gancho conf e initrd / initramfs. Isso pode variar de acordo com a distro.

Primeiro, adicione o conf:

mdadm -D --scan > /etc/mdadm.conf

se você puder encontrar um diretório como / etc / mdadm / talvez sua distro exija o arquivo lá ... link simbólico ou simplesmente use esse caminho.

Em segundo lugar, certifique-se de que os ganchos initd do mdadm estejam instalados e ativados. (o pacote mdadm normal deve tê-los ... Eu só mencionei isso no caso de sua distro ser estranha, então você sabe procurar por um segundo pacote)

Por exemplo, em Arch:

$ pacman -Ql mdadm | grep hook
mdadm /usr/lib/initcpio/hooks/
mdadm /usr/lib/initcpio/hooks/mdadm

$ grep mdadm /etc/mkinitcpio.conf 
HOOKS="base ... mdadm lvm2 filesystems ..."

E com base no debian:

$ dpkg -L mdadm | grep initr.*hook
/usr/share/initramfs-tools/hooks
/usr/share/initramfs-tools/hooks/mdadm

(I'm not really sure where the hook is enabled, but I think it should be enabled by default... someone else please fill that in)

E depois que esses arquivos e pacotes estiverem instalados, você terá que reconstruir seu initramfs e possivelmente atualizar-grub apenas no caso:

Baseado em arco:

# mkinitcpio -p /etc/mkinitcpio.d/somekernel.preset
# update-grub

Baseado no Debian:

# update-initramfs -u
# update-grub

Além disso, lembre-se de usar um UUID em vez de / dev / md0 no seu fstab para uma inicialização mais confiável. (por exemplo, se você inicializá-lo em um disco de resgate e modificá-lo, às vezes ele muda para / dev / md127 e às vezes é teimoso e difícil de voltar para 0). Veja man fstab para sintaxe e blkid para os UUIDs.

    
por 05.03.2016 / 13:43
0

É uma solução, mas depois de muitas horas, a única solução é editar etc/rc.local . Eu adicionei esta linha antes de exit 0

$ sudo mdadm -A /dev/md0 && sudo mount /dev/md0 /mnt/ext

E agora, após cada reinicialização, o RAID é montado com êxito.

    
por 05.03.2016 / 13:51