以前、RAID1構成時のHDD交換方法という記事で、fdiskを用いたHDDの交換方法を記事にしましたが、今回はpartedを用いてみました。
環境
- CentOS 6.3
- 1TB HDD 2台
- B側HDDが故障
手順
1.サーバーをシャットダウンして、故障したB側HDDを交換します。(もし、故障したHDDがマスター側だった場合には、スレーブ側HDDをマスター側に差替えて、新HDDをスレーブ側にしておきます)
2.旧HDDのパーティションを確認します。
parted /dev/sda -s unit s -s print
モデル: ATA TOSHIBA DT01ACA1 (scsi)
ディスク /dev/sda: 1953525168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 2048s 2099199s 2097152s primary ext4 boot, raid
2 2099200s 18876415s 16777216s primary raid
3 18876416s 1953523711s 1934647296s primary raid
3.新HDDのパーティションを旧HDDのパーティションに合わせます。
※partedは操作がリアルタイムに反映されるので、パーティションを操作する際には注意が必要です。
parted /dev/sdb
GNU Parted 2.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) unit s
(parted) mklabel
新しいディスクラベル? msdos
(parted) mkpart
パーティションの種類? primary/プライマリ/extended/拡張? primary
ファイルシステムの種類? [ext2]?
開始? 2048s
終了? 2099199s
(parted) mkpart
パーティションの種類? primary/プライマリ/extended/拡張? primary
ファイルシステムの種類? [ext2]?
開始? 2099200s
終了? 18876415s
(parted) mkpart
パーティションの種類? primary/プライマリ/extended/拡張? primary
ファイルシステムの種類? [ext2]?
開始? 18876416s
終了? 1953523711s
(parted) set
パーティション番号? 1
反転するフラグ? boot
新しい状態? [on]/off?
(parted) set
パーティション番号? 1
反転するフラグ? raid
新しい状態? [on]/off?
(parted) set
パーティション番号? 2
反転するフラグ? raid
新しい状態? [on]/off?
(parted) set
パーティション番号? 3
反転するフラグ? raid
新しい状態? [on]/off?
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
4.新HDDのパーティションを確認します。
※もし、旧HDDのパーティションと違いがあった場合には、やり直しが必要です。
parted /dev/sdb -s unit s -s print
モデル: ATA TOSHIBA DT01ACA1 (scsi)
ディスク /dev/sdb: 1953525168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 2048s 2099199s 2097152s primary boot, raid
2 2099200s 18876415s 16777216s primary raid
3 18876416s 1953523711s 1934647296s primary raid
5.新HDDをRAIDに組み込みます。
mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2
mdadm: added /dev/sdb2
mdadm --manage /dev/md2 --add /dev/sdb3
mdadm: added /dev/sdb3
6.GRUBを新旧HDDにインストールします。
grub
Probing devices to guess BIOS drives. This may take a long time.
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd1)"... 27 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+27 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> quit
quit
7.最後にRAIDの同期状況を確認します。
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[3] sda1[2]
1048564 blocks super 1.0 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md1 : active raid1 sdb2[3] sda2[2]
8387576 blocks super 1.1 [2/2] [UU]
md2 : active raid1 sdb3[3] sda3[2]
967322492 blocks super 1.1 [2/1] [_U]
[====>................] recovery = 21.7% (210390976/967322492) finish=93.4min speed=135060K/sec
bitmap: 5/8 pages [20KB], 65536KB chunk
unused devices:
上記、md2が同期中なので、これが完了すれば作業完了です。