GNU/Linux >> Tutoriels Linux >  >> Linux

Le raid Linux disparaît après le redémarrage

Cette recette a fonctionné pour moi après avoir eu le même problème. J'ai cherché partout sur le net pour essayer de trouver la réponse, et j'ai finalement trouvé ça, et toujours pas d'aide.

Le problème tel que je le vois est multiple.

  1. mdadm réaffecte les fichiers de l'appareil à partir de /dev/md0 à quelque chose comme /dev/md127 au prochain redémarrage. Vous ne pouvez donc pas simplement utiliser le fichier de périphérique dans le fichier fstab. J'ai fini par utiliser l'UUID, à partir du système de fichiers créé.

  2. Presque tous les didacticiels de configuration de lecteur RAID sur le Web montrent la création du périphérique RAID à l'aide des fichiers de périphérique du pilote comme ceci :

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
    

    Au lieu de cela, j'ai utilisé les fichiers de périphérique de partition, comme ceci :

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
    

    La deuxième forme nécessite la création correcte de partitions sur chaque disque en utilisant gdisk ou fdisk . J'ai utilisé gdisk et lui a attribué le type fd00 , qui est une partition raid.

  3. On parle beaucoup de la nécessité de mettre à jour /etc/mdadm/mdadm.conf . C'est faux. J'ai volontairement supprimé ce fichier. Ce n'est pas nécessaire. (Voir ci-dessous)

C'est vraiment tout ce qu'il y a aussi. La recette complète suit...

Partitionnez chaque disque avec une partition de type fd00 , RAID Linux :

[email protected]:~# gdisk /dev/sda
Command (? for help): n
Partition number (1-128, default 1):
First sector (2048-3907029134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): fd00
Changed type of partition to 'Linux RAID'

Command (? for help): p
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Model: ST2000DM001-1ER1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): F81E265F-2D02-864D-AF62-CEA1471CFF39
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)

Number Start (sector) End (sector) Size Code Name
1
2048 3907029134 1.8 TiB FD00 Linux RAID

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.

Vous devriez maintenant voir à la fois les périphériques de disque et les périphériques de partition dans /dev

[email protected]:~# ls /dev/sd[a-d]*
/dev/sda /dev/sda1 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1

Créez maintenant le RAID de votre choix avec mdadm en utilisant les fichiers de périphérique de partition, pas les périphériques de disque

[email protected]:~# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: chunk size defaults to 512K
mdadm: /dev/sda1 appears to contain an ext2fs file system
size=471724032K mtime=Sun Nov 18 19:42:02 2018
mdadm: /dev/sda1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=2930265540K mtime=Sun Nov 18 23:58:02 2018
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

Vérifiez maintenant en /dev/disk pour voir s'il y a un UUID associé à votre nouveau /dev/md0 RAID.Il ne devrait pas y en avoir.

[email protected]:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2

Créez le nouveau système de fichiers, et après cela, vous devriez maintenant avoir un UUID avec /dev/md0

[email protected]:~# mkfs.ext4 -F /dev/md0
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 2685945088 4k blocks and 335745024 inodes
Filesystem UUID: 7bd945b4-ded9-4ef0-a075-be4c7ea246fb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

Voilà, ça y est.

[email protected]:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 9 Nov 22 04:43 7bd945b4-ded9-4ef0-a075-be4c7ea246fb -> ../../md0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2

Modifiez votre /etc/fstab et ajoutez le montage pour votre nouveau RAIDAssurez-vous d'utiliser l'UUID et non le fichier de périphérique.

[email protected]:~# cat /etc/fstab
UUID=e79571b6-eb75-11e8-acb0-e0d55e117fa5 / ext4 defaults 0 0
UUID=4777-FB10 /boot/efi vfat defaults 0 0
/swap.img none
swap sw 0 0
UUID=7bd945b4-ded9-4ef0-a075-be4c7ea246fb /md0/tweets ext4 auto 0 0

Ici, ne cherchez pas /etc/mdadm/mdadm.conf Ce n'est pas nécessaire.

[email protected]:~# ls -l /etc/mdadm
total 0

Redémarrer

[email protected]:~# reboot
Connection to 192.168.0.131 closed by remote host.
Connection to 192.168.0.131 closed.

Le RAID est monté, mais mdadm a renommé le fichier de périphérique de md0 à md127

C'est une bonne chose que nous ayons utilisé l'UUID et non le fichier de l'appareil lui-même.

[email protected]:~# df /md0/tweets
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md127 10658016696 73660 10120737636 1% /md0/tweets

Regardez md0 est parti de /dev

[email protected]:~# ls /dev/md*
/dev/md127

/dev/md:

C'est ça. Maintenant, je profite de mon RAID0 de 10 téraoctets qui fonctionne à plus de 600 Mo/s

[email protected]:~# hdparm -tT /dev/md127

/dev/md127:
Timing cached reads: 26176 MB in 1.99 seconds = 13137.47 MB/sec
Timing buffered disk reads: 1878 MB in 3.00 seconds = 625.13 MB/sec

Votre /proc/mdstat indique qu'aucune des personnalités RAID (c'est-à-dire RAID1, RAID5, etc.) n'a été chargée, donc aucune tentative n'est faite pour même essayer d'activer un ensemble RAID.

Failed to start mdadm.service: Unit mdadm.service is masked.

Ce message indique mdadm.service a été désactivé de la manière la plus forte possible :aucune tentative explicite ne sera faite pour démarrer le service, et même si quelque chose d'autre dépend de ce service, il ne sera pas démarré.

Comme dans la question liée par roaima, essayez d'exécuter ces commandes en tant que root :

dpkg-reconfigure mdadm    # Choose "all" disks to start at boot
update-initramfs -u       # Updates the existing initramfs

Le premier va reconfigurer le mdadm package et devrait détecter tous les ensembles RAID et vous permettre de choisir les ensembles RAID à activer automatiquement au démarrage :généralement, "tous" est une bonne réponse. Cela devrait également prendre en charge le mdadm.service être masqué, si j'ai bien compris.

Une fois cela fait, la deuxième commande mettra à jour votre initramfs, de sorte que les fichiers de configuration mis à jour seront également mis à jour dans votre initramfs, et les scripts qui seront exécutés dans les premières phases de démarrage obtiendront l'information qu'il existe un ensemble RAID qui devrait être activé.


Linux
  1. Forcer le redémarrage d'un serveur Linux distant

  2. Linux - Redémarrer uniquement l'espace utilisateur ?

  3. Comment redémarrer Linux en utilisant la ligne de commande

  4. Commande de redémarrage Linux

  5. mdadm :commande introuvable

Commande de redémarrage Linux (redémarrer)

10 choses à faire après l'installation de Linux Mint 16 Petra

Commande de redémarrage sous Linux avec des exemples

Comment redémarrer Linux Mint 20

Choses à faire après l'installation de Linux Mint 20 "Ulyana"

RAID Linux