web-dev-qa-db-ja.com

USBにブートしてRAIDをブートしたい

4つのディスク(mdadm)を含むLinuxソフトウェアRAID5があります。

これが私のlsblkです:

NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda           8:0    0  5.5T  0 disk
├─sda1        8:1    0  953M  0 part
└─sda2        8:2    0  5.5T  0 part
  └─md0       9:0    0 16.4T  0 raid5
    ├─md0p1 259:0    0    4G  0 md    [SWAP]
    ├─md0p2 259:1    0   30G  0 md    /
    └─md0p3 259:2    0 16.3T  0 md    /media/data
sdb           8:16   0  5.5T  0 disk
├─sdb1        8:17   0  953M  0 part
└─sdb2        8:18   0  5.5T  0 part
  └─md0       9:0    0 16.4T  0 raid5
    ├─md0p1 259:0    0    4G  0 md    [SWAP]
    ├─md0p2 259:1    0   30G  0 md    /
    └─md0p3 259:2    0 16.3T  0 md    /media/data
sdc           8:32   0  5.5T  0 disk
├─sdc1        8:33   0  953M  0 part
└─sdc2        8:34   0  5.5T  0 part
  └─md0       9:0    0 16.4T  0 raid5
    ├─md0p1 259:0    0    4G  0 md    [SWAP]
    ├─md0p2 259:1    0   30G  0 md    /
    └─md0p3 259:2    0 16.3T  0 md    /media/data
sdd           8:48   0  5.5T  0 disk
├─sdd1        8:49   0  953M  0 part  /boot
└─sdd2        8:50   0  5.5T  0 part
  └─md0       9:0    0 16.4T  0 raid5
    ├─md0p1 259:0    0    4G  0 md    [SWAP]
    ├─md0p2 259:1    0   30G  0 md    /
    └─md0p3 259:2    0 16.3T  0 md    /media/data
sde           8:64   1  7.2G  0 disk
└─sde1        8:65   1  953M  0 part

そのため、RAID内に/ bootを配置する際に問題が発生した場合(これが不可能であることに気づかなかった)、各物理ディスクの前面に同一の1GBパーティションを作成しました。これは、手動でポイントできるように、各物理ディスク間で/ bootをミラーリングすることを目的としています。プライマリ/ bootのあるドライブに障害が発生した場合は、grub2をセカンダリに変換します。

ただし、実際に代わりに実行したいのは、フラッシュドライブまたはSDカードに/ bootを配置し、代わりにそこを参照するようにgrub2を構成することです。次に、各ドライブに1GBのパーティションも必要ありません。また、grub-installを実行してgrubを別のパーティションにポイントする必要もありません。フラッシュドライブのバックアップイメージを作成して、新しいフラッシュドライブに書き込むことができます。現在のものが死んだ場合。これは高速で効率的であり、物理ディスクから完全に独立しています。

明らかに、ソフトウェアRAID内に/ bootを配置したいと思います。ただし、それは不可能なので、フラッシュドライブに保存したいと思います。これは私がそれを達成するためにしたことです:

[rootとして]

dd if=/dev/sda1 of=/dev/sde1
mount /dev/sde1 /media/usbboot
grub-install --boot-directory=/media/usbboot /dev/sde1
umount /media/usbboot
reboot

[そしてファンクションキーを使用してUSBドライブを起動します]

私は何かが足りませんか?

2
James Wilmoth

私が始めたのは(2013年頃から)、すべてのドライブにわたって/bootパーティション用のRAID1を作成することでした。各ドライブの1GBはそれほど多くありません。 Grubは、デバイスが4つある場合でも、RAID1から簡単に起動します。

以前は/bootをUSBに保存していましたが、十分なバックアップをとることができず、再構築する必要がありましたとにかく。推奨される方法で行う方がはるかに優れており、長期的には簡単です。私を信じて。

これが私のレイアウトです:

# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
sda       8:0    0   1.8T  0 disk
├─sda1    8:1    0   953M  0 part
│ └─md0   9:0    0 952.4M  0 raid1  /boot
├─sda2    8:2    0  18.6G  0 part
│ └─md1   9:1    0  37.2G  0 raid10 /
├─sda3    8:3    0   3.7G  0 part
│ └─md2   9:2    0   7.5G  0 raid10 [SWAP]
├─sda4    8:4    0     1K  0 part
└─sda5    8:5    0   1.8T  0 part
  └─md3   9:3    0   3.6T  0 raid10 /mnt/data
sdb       8:16   0   1.8T  0 disk
├─sdb1    8:17   0   953M  0 part
│ └─md0   9:0    0 952.4M  0 raid1  /boot
├─sdb2    8:18   0  18.6G  0 part
│ └─md1   9:1    0  37.2G  0 raid10 /
├─sdb3    8:19   0   3.7G  0 part
│ └─md2   9:2    0   7.5G  0 raid10 [SWAP]
├─sdb4    8:20   0     1K  0 part
└─sdb5    8:21   0   1.8T  0 part
  └─md3   9:3    0   3.6T  0 raid10 /mnt/data
sdc       8:32   0   1.8T  0 disk
├─sdc1    8:33   0   953M  0 part
│ └─md0   9:0    0 952.4M  0 raid1  /boot
├─sdc2    8:34   0  18.6G  0 part
│ └─md1   9:1    0  37.2G  0 raid10 /
├─sdc3    8:35   0   3.7G  0 part
│ └─md2   9:2    0   7.5G  0 raid10 [SWAP]
├─sdc4    8:36   0     1K  0 part
└─sdc5    8:37   0   1.8T  0 part
  └─md3   9:3    0   3.6T  0 raid10 /mnt/data
sdd       8:48   0   1.8T  0 disk
├─sdd1    8:49   0   953M  0 part
│ └─md0   9:0    0 952.4M  0 raid1  /boot
├─sdd2    8:50   0  18.6G  0 part
│ └─md1   9:1    0  37.2G  0 raid10 /
├─sdd3    8:51   0   3.7G  0 part
│ └─md2   9:2    0   7.5G  0 raid10 [SWAP]
├─sdd4    8:52   0     1K  0 part
└─sdd5    8:53   0   1.8T  0 part
  └─md3   9:3    0   3.6T  0 raid10 /mnt/data
1
Canadian Luke