ヘルプ:RAID構成ハードディスク交換
提供: すだちWiki
メインページ > Help:目次 > Help:自宅サーバーの管理(CentOS7) > 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
