GNU/Linux >> Znalost Linux >  >> Linux

Linuxový raid po restartu zmizí

Tento recept se mi osvědčil poté, co jsem měl stejný problém. Hledal jsem po celém netu a snažil se najít odpověď a nakonec jsem narazil na tohle a stále žádná pomoc.

Problém, jak ho vidím, je mnohočetný.

  1. mdadm znovu přiřadí soubory zařízení z /dev/md0 na něco jako /dev/md127 při příštím restartu. Nemůžete tedy použít pouze soubor zařízení v souboru fstab. Nakonec jsem použil UUID z vytvořeného souborového systému.

  2. Téměř všechny návody k nastavení disku RAID na webu ukazují vytvoření zařízení RAID pomocí souborů ovladače zařízení, jako je tento:

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

    Místo toho jsem použil soubory zařízení oddílu, jako je tento:

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

    Druhá forma vyžaduje správné vytvoření oddílů na každém disku pomocí gdisk nebo fdisk . Použil jsem gdisk a přiřadil jej jako typ fd00 , což je oddíl raid.

  3. Hodně se mluví o potřebě aktualizovat /etc/mdadm/mdadm.conf . To je špatně. Záměrně jsem ten soubor smazal. Není to potřeba. (Viz níže)

To je opravdu všechno. Celý recept následuje...

Rozdělte každý disk na jeden oddíl typu 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.

Nyní byste měli vidět jak disková zařízení, tak zařízení oddílů v /dev

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

Nyní vytvořte RAID podle svého výběru pomocí mdadm pomocí souborů zařízení oddílu, nikoli diskových zařízení

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

Nyní zkontrolujte /dev/disk abyste zjistili, zda je k vašemu novému /dev/md0 spojeno nějaké UUID RAID. Žádný by neměl být.

[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

Vytvořte nový souborový systém a poté byste měli mít UUID s /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

Voila, tady to je.

[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

Upravte svůj /etc/fstab a přidejte připojení pro váš nový RAIDUjistěte se, že používáte UUID, nikoli soubor zařízení.

[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

Tady nehledejte /etc/mdadm/mdadm.conf Není to potřeba.

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

Restartovat

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

RAID je připojen, ale mdadm přejmenoval soubor zařízení z md0 na md127

Dobře, že jsme použili UUID a ne skutečný soubor zařízení.

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

Podívejte se, md0 je pryč z /dev

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

/dev/md:

A je to. Nyní si užívám svého 10 terabajtového RAID0, který pracuje rychlostí přes 600 MB/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

Vaše /proc/mdstat označuje, že nebyla načtena žádná z osobností RAID (tj. RAID1, RAID5 atd.), takže není učiněn žádný pokus o aktivaci sady RAID.

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

Tato zpráva označuje mdadm.service byla zakázána nejsilnějším možným způsobem:nebude učiněn žádný explicitní pokus o spuštění služby, a i když na této službě závisí něco jiného, ​​nebude spuštěna.

Stejně jako v otázce, na kterou odkazuje roaima, zkuste tyto příkazy spustit jako root:

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

První překonfiguruje mdadm a měl by detekovat všechny sady RAID a nechat vás vybrat, které sady RAID se automaticky aktivují při spouštění:obvykle je dobrou odpovědí "vše". To by se také mělo postarat o mdadm.service být maskovaný, pokud jsem to správně pochopil.

Jakmile to uděláte, druhý příkaz aktualizuje váš initramfs, takže aktualizované konfigurační soubory budou aktualizovány i ve vašem initramfs a skripty, které budou spuštěny v nejranějších fázích bootování, získají informaci, že existuje sada RAID který by měl být aktivován.


Linux
  1. Jak vypnout nebo restartovat Linux

  2. Jak restartovat Linux pomocí příkazového řádku

  3. Příkaz pro restart systému Linux

  1. mdadm:příkaz nenalezen

  2. Jak přesunu softwarový RAID pro Linux na nový počítač?

  3. Jak naplánuji restart na Linuxu?

  1. Linux:Naplánujte spuštění příkazu jednou po restartu (ekvivalent RunOnce)

  2. Linuxový mdadm software RAID 6 – podporuje obnovu bitové korupce?

  3. Musím po aktualizaci linuxového jádra restartovat server?