以前は、ドライブmdadm
とsda
の(sdb
)を使用してソフトウェアRAIDを設定していました。 sdb
が失敗し、システムを再起動する唯一の方法は、2番目のハードドライブを取り外すことでした。
これで、RAIDセットアップに新しいsdb
とsdc
を追加しました。 sda
は最も古く(失敗する可能性が最も高い)、起動元のドライブです(どうすれば確認できますか?)。
sda
が失敗した場合でも、マシンを起動できることを(GRUB構成などを介して)確認およびテストするにはどうすればよいですか?.
fdisk -l
:
Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000080
Device Boot Start End Blocks Id System
/dev/sda1 * 1 30064 241489048+ fd Linux raid autodetect
/dev/sda2 30065 30394 2650725 5 Extended
/dev/sda5 30065 30394 2650693+ fd Linux raid autodetect
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 30064 241489048+ fd Linux raid autodetect
Partition 1 does not start on physical sector boundary.
/dev/sdb2 30065 30394 2650725 5 Extended
/dev/sdb5 30065 30394 2650693+ fd Linux raid autodetect
Partition 5 does not start on physical sector boundary.
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 30064 241489048+ fd Linux raid autodetect
Partition 1 does not start on physical sector boundary.
/dev/sdc2 30065 30394 2650725 5 Extended
/dev/sdc5 30065 30394 2650693+ fd Linux raid autodetect
Partition 5 does not start on physical sector boundary.
Disk /dev/md0: 247.3 GB, 247284695040 bytes
2 heads, 4 sectors/track, 60372240 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Alignment offset: 512 bytes
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table
Disk /dev/md1: 2714 MB, 2714238976 bytes
2 heads, 4 sectors/track, 662656 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Alignment offset: 512 bytes
Disk identifier: 0x00000000
Disk /dev/md1 doesn't contain a valid partition table
これは古い栗です。簡単に言えば、「grub-install」はソフトウェアRAIDの多くの場合、間違った答えです。これは、3ウェイRAID-1アレイの例です。/bootパーティションは/ dev/md0に保存されます。これにより、各ディスクにGRUB)がインストールされるため、1つのディスクに障害が発生した場合でも、他のディスクの1つから起動できます。
# grub
grub> find /grub/stage1
(hd0,0)
(hd1,0)
(hd2,0)
grub> device (hd0) /dev/sda
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/sdc
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
GRUBの将来のバージョンでは、はるかにスマートになりますが、CentOS 6/RHEL6には古いGRUBが付属しています。
テストするには:grub.confファイル(/ bootの下)の「timeout = 5」値をtimeout = 30のような値に変更します。次に、システムの電源を再びオンにする前に、2つのドライブの場所を交換します。または、BIOSでハードドライブの起動順序を変更します。
(当然のことながら...適切なバックアップがあり、それを正しい構成に戻す方法を知っていることを確認してください。使い捨てシステムでこれをテストすることは常に良い考えです。)