当サイトはプロモーションが含まれています。

RAID1構成時のHDD交換方法(Parted版)

HDD

以前、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が同期中なので、これが完了すれば作業完了です。