ヘルプ:RAID構成ハードディスク交換

提供:あわ自由帳

メインページ > Help:目次 > Help:自宅サーバーの管理(CentOS)  > RAID構成ハードディスク交換

※GRUB(ブートローダー)のインストールが正常に動作するか確認中です。

RAID1を構成するハードディスクの片系故障を想定して、故障ハードディスクを交換してRAIDの再構築を行う。

RAIDデバイス状態確認

[root@host2 ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
      524288 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sda2[0] sdb2[1]
      487728128 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

故障ハードディスク切り離し

ここでは、マスタ側ハードディスク(/dev/sda)故障を前提とする。

[root@host2 ~]# mdadm --manage /dev/md126 --fail /dev/sda1 ← RAIDデバイス(/dev/md0)を構成する/dev/sda1を故障状態にする
mdadm: set /dev/sda1 faulty in /dev/md126

[root@host2 ~]# mdadm --manage /dev/md127 --fail /dev/sda2 ← RAIDデバイス(/dev/md1)を構成する/dev/sda2を故障状態にする
mdadm: set /dev/sda2 faulty in /dev/md127

[root@host2 ~]# cat /proc/mdstat ← RAIDデバイス状態確認
Personalities : [raid1]
md126 : active raid1 sda1[0](F) sdb1[1] ← RAIDデバイス(/dev/md0)を構成する/dev/sda1の故障状態(F)確認
      524288 blocks super 1.2 [2/1] [_U]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sda2[0](F) sdb2[1] ← RAIDデバイス(/dev/md1)を構成する/dev/sda2の故障状態(F)確認
      487728128 blocks super 1.2 [2/1] [_U]
      bitmap: 2/4 pages [8KB], 65536KB chunk

unused devices: <none>

[root@host2 ~]# mdadm --manage /dev/md126 --remove /dev/sda1 ← RAIDデバイス(/dev/md0)を構成する/dev/sda1を削除する
mdadm: hot removed /dev/sda1 from /dev/md126

[root@host2 ~]# mdadm --manage /dev/md127 --remove /dev/sda2 ← RAIDデバイス(/dev/md1)を構成する/dev/sda2を削除する
mdadm: hot removed /dev/sda2 from /dev/md127

[root@host2 ~]# cat /proc/mdstat ← RAIDデバイス状態確認
Personalities : [raid1]
md126 : active raid1 sdb1[1] ← RAIDデバイス(/dev/md0)を構成する/dev/sda1が表示されいないことを確認
      524288 blocks super 1.2 [2/1] [_U]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdb2[1] ← RAIDデバイス(/dev/md1)を構成する/dev/sda2が表示されいないことを確認
      487728128 blocks super 1.2 [2/1] [_U]
      bitmap: 3/4 pages [12KB], 65536KB chunk

unused devices:

ハードディスク交換

[root@host2 ~]# halt ← システム停止

ハードディスク交換
※マスタ側ハードディスクを交換する場合は、スレーブ側ハードディスクをマスタ側へ接続し、新ハードディスクをスレーブ側へ接続する(BIOSがマスタ側からブートしようとするため)

システム起動

新ハードディスク初期化

[root@host2 ~]# fdisk -l /dev/sda ← 既存ハードディスクパーティション確認

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x0003744d

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     1052671      525312   fd  Linux raid autodetect
/dev/sda2         1052672   976773119   487860224   fd  Linux raid autodetect
[root@host2 ~]# fdisk /dev/sdb ← 新ハードディスクパーティション設定
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

コマンド (m でヘルプ): n ← n(新規パーティション作成)応答
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p ← p(基本パーティション)応答
パーティション番号 (1-4, default 1): 1 ← 1(パーティション番号)応答
最初 sector (2048-976773167, 初期値 2048): 2048 ← 2048(/dev/sda1のパーティション割当て開始位置)応答
Last sector, +sectors or +size{K,M,G} (2048-976773167, 初期値 976773167): 1052671 ← 1052671(/dev/sda1のパーティション割当て終了位置)応答
Partition 1 of type Linux and of size 513 MiB is set

コマンド (m でヘルプ): n ← n(新規パーティション作成)応答
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p ← p(基本パーティション)応答
パーティション番号 (2-4, default 2): 2 ← 2(パーティション番号)応答
最初 sector (1052672-976773167, 初期値 1052672): 1052672 ← 1052672(/dev/sda2のパーティション割当て開始位置)応答
Last sector, +sectors or +size{K,M,G} (1052672-976773167, 初期値 976773167): 976773119 ← 976773119(/dev/sda2のパーティション割当て終了位置)応答
Partition 2 of type Linux and of size 465.3 GiB is set

コマンド (m でヘルプ): t ← t(システムID設定)応答
パーティション番号 (1,2, default 2): 11 ← 1(パーティション番号)応答
Hex code (type L to list all codes): fd ← fd(RAIDシステムID)応答
Changed type of partition 'Linux' to 'Linux raid autodetect'

コマンド (m でヘルプ): t ← t(システムID設定)応答
パーティション番号 (1,2, default 2): 2 ← 2(パーティション番号)応答
Hex code (type L to list all codes): fd ← fd(RAIDシステムID)応答
Changed type of partition 'Linux' to 'Linux raid autodetect'

コマンド (m でヘルプ): a ← a(ブート可能フラグ設定)応答
パーティション番号 (1,2, default 2): 1 ← 1(パーティション番号)応答

コマンド (m でヘルプ): p ← p(パーティション表示)応答

Disk /dev/sdb: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000bab93

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1   *        2048     1052671      525312   fd  Linux raid autodetect
/dev/sdb2         1052672   976773119   487860224   fd  Linux raid autodetect
Boot、Start、Endが既存ハードディスク/dev/sdaと同じ設定になっていることを確認

コマンド (m でヘルプ): w ← w(パーティションをディスクへ書き込み)応答
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

新ハードディスクをRAIDデバイスへ組み込む

[root@host2 ~]# mdadm --manage /dev/md126 --add /dev/sdb1 ← /dev/sdb1をRAIDデバイス(/dev/md0)へ組み込む
mdadm: re-added /dev/sdb1

[root@host2 ~]# mdadm --manage /dev/md127 --add /dev/sdb2 ← /dev/sdb2をRAIDデバイス(/dev/md1)へ組み込む
mdadm: added /dev/sdb2

[root@host2 ~]# watch cat /proc/mdstat ← RAIDデバイス同期状態確認
RAIDデバイス同期中状態
Personalities : [raid1]
md126 : active raid1 sdb1[0] sda1[1]
      524288 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdb2[2] sda2[1]
      487728128 blocks super 1.2 [2/1] [_U]
      [>....................]  recovery =  0.9% (4600448/487728128) finish=86.6m
in speed=92976K/sec
      bitmap: 3/4 pages [12KB], 65536KB chunk

unused devices:
・
・
・
RAIDデバイス同期完了状態
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      4088448 blocks [2/2] [UU]

unused devices: 

CTRL+Cキー押下で終了

GRUB(ブートローダー)インストール

BIOS ベースマシンへの GRUB 2 の再インストール

rub2-install コマンドを使用すると、ブート情報が更新され、不明なファイルが復元されます。ファイルは、破損していない場合のみ復元されます。
システムが正常に稼働している場合は、grub2-install device コマンドを使用して GRUB 2 を再インストールします。

旧ハードディスクへ GRUB 2 インストール

[root@host2 ~]# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

新ハードディスクへ GRUB 2 インストール

[root@host2 ~]# grub2-install /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.

UEFI ベースマシンへの GRUB 2 の再インストール

yum reinstall grub2-efi shim コマンドを使用すると、ブート情報が更新され、不明なファイルが復元されます。ファイルは、破損していない場合のみ復元されます。
システムが正常に稼働している場合は、yum reinstall grub2-efi shim コマンドを使用して GRUB 2 を再インストールします。以下に例を示します。

[root@host2 ~]# yum reinstall grub2-efi shim