GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Raid verschwindet nach Neustart

Dieses Rezept hat bei mir funktioniert, nachdem ich das gleiche Problem hatte. Ich habe das ganze Internet durchsucht, um die Antwort zu finden, und bin schließlich darauf gestoßen, und immer noch keine Hilfe.

Das Problem, wie ich es sehe, ist vielfältig.

  1. mdadm weist die Gerätedateien von /dev/md0 neu zu zu etwas wie /dev/md127 beim nächsten Neustart. Sie können also nicht einfach die Gerätedatei in der fstab verwenden. Am Ende habe ich die UUID aus dem erstellten Dateisystem verwendet.

  2. Fast alle Anleitungen zum Einrichten von RAID-Laufwerken im Internet zeigen die Erstellung des RAID-Geräts mithilfe der Treibergerätedateien wie folgt:

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

    Stattdessen habe ich die Partitionsgerätedateien wie folgt verwendet:

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

    Die zweite Form erfordert die ordnungsgemäße Erstellung von Partitionen auf jeder Festplatte mit gdisk oder fdisk . Ich habe gdisk verwendet und ihm den Typ fd00 zugewiesen , die eine RAID-Partition ist.

  3. Es wird viel darüber geredet, dass /etc/mdadm/mdadm.conf aktualisiert werden muss . Das ist falsch. Ich habe diese Datei absichtlich gelöscht. Es wird nicht benötigt. (Siehe unten)

Das ist wirklich alles, was es auch gibt. Vollständiges Rezept folgt...

Partitionieren Sie jedes Laufwerk mit einer Partition vom Typ fd00 , Linux-RAID:

[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.

Jetzt sollten Sie sowohl die Festplattengeräte als auch die Partitionsgeräte in /dev

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

Erstellen Sie nun mit mdadm das RAID Ihrer Wahl, indem Sie die Gerätedateien der Partition verwenden, nicht die Festplattengeräte

[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.

Jetzt /dev/disk einchecken um zu sehen, ob Ihrem neuen /dev/md0 eine UUID zugeordnet ist RAID.Es sollte keines geben.

[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

Erstellen Sie das neue Dateisystem, und danach sollten Sie jetzt eine UUID mit /dev/md0 haben

[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

Voila, da ist es.

[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

Ändern Sie Ihre /etc/fstab und fügen Sie den Mount für Ihr neues RAID hinzu. Achten Sie darauf, die UUID und nicht die Gerätedatei zu verwenden.

[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

Hier, siehe Nr. /etc/mdadm/mdadm.conf Es ist nicht erforderlich.

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

Neustart

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

Das RAID ist gemountet, aber mdadm hat die Gerätedatei von md0 umbenannt bis md127

Gut, dass wir die UUID und nicht die eigentliche Gerätedatei verwendet haben.

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

Sieh mal, md0 ist aus /dev verschwunden

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

/dev/md:

Das ist es. Jetzt genieße ich mein 10-Terabyte-RAID0, das mit über 600 MB/s arbeitet

[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

Ihr /proc/mdstat zeigt an, dass keine der RAID-Persönlichkeiten (d. h. RAID1, RAID5 usw.) geladen wurden, sodass nicht einmal versucht wird, ein RAID-Set zu aktivieren.

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

Diese Nachricht zeigt mdadm.service an wurde auf die stärkste Weise deaktiviert:Es wird kein ausdrücklicher Versuch unternommen, den Dienst zu starten, und selbst wenn etwas anderes von diesem Dienst abhängt, wird er nicht gestartet.

Versuchen Sie, wie in der von roaima verlinkten Frage, diese Befehle als root auszuführen:

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

Der erste konfiguriert den mdadm neu Paket und sollte alle RAID-Sets erkennen und Sie auswählen lassen, welche RAID-Sets beim Booten automatisch aktiviert werden sollen:normalerweise ist "all" eine gute Antwort. Dies sollte sich auch um mdadm.service kümmern maskiert, wenn ich das richtig verstanden habe.

Sobald dies erledigt ist, aktualisiert der zweite Befehl Ihr initramfs, sodass die aktualisierten Konfigurationsdateien auch in Ihrem initramfs aktualisiert werden, und die Skripte, die in den frühesten Phasen des Bootvorgangs ausgeführt werden, erhalten die Information, dass ein RAID-Set vorhanden ist das sollte aktiviert werden.


Linux
  1. Linux – Nur Userspace neu starten?

  2. So starten Sie Linux über die Befehlszeile neu

  3. Linux-Neustartbefehl

  4. Wie verschiebe ich ein Linux-Software-RAID auf eine neue Maschine?

  5. Muss ich den Server nach einem Linux-Kernel-Update neu starten?

Linux-Neustart (Neustart)-Befehl

10 Dinge, die nach der Installation von Linux Mint 16 zu tun sind Petra

Neustartbefehl unter Linux mit Beispielen

So starten Sie Linux Mint 20 neu

Dinge, die nach der Installation von Linux Mint 20 „Ulyana“ zu tun sind

Linux-RAID