web-dev-qa-db-ja.com

RAID障害(ソフトウェアRAID)の後に起動する方法は?

以前は、ドライブmdadmsdaの(sdb)を使用してソフトウェアRAIDを設定していました。 sdbが失敗し、システムを再起動する唯一の方法は、2番目のハードドライブを取り外すことでした。

これで、RAIDセットアップに新しいsdbsdcを追加しました。 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
4
jaynp

これは古い栗です。簡単に言えば、「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でハードドライブの起動順序を変更します。

(当然のことながら...適切なバックアップがあり、それを正しい構成に戻す方法を知っていることを確認してください。使い捨てシステムでこれをテストすることは常に良い考えです。)

6
tgharold