ヘルプ: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