テクノロジーガイド

RAID1:故障したHDDの交換とテスト

1 min read システム運用 更新されました 09 Oct 2025
RAID1の故障HDDを置換して復旧する手順
RAID1の故障HDDを置換して復旧する手順

RAID1で故障したディスクを置換し、同期を完了してブートローダーを再インストールする手順です。mdadmでデバイスをfail/removeし、パーティションをsfdiskでコピーし、mdadmで再追加して同期完了を確認します。

前提条件

  • 対象はソフトウェアRAID1です。mdadmコマンドに慣れていることを想定します。
  • ここでは例として /dev/sdb が故障した想定です。/dev/sda が故障する場合はデバイス名を入れ替えて読んでください。

重要: 実機で操作する前に、可能ならテスト環境で手順を確認してください。誤操作でデータを失う可能性があります。

故障をシミュレーションする

任意の方法で故障を再現できます。電源を落として物理的にディスクを抜くか、ソフト的にデバイスを失効させます。例:

mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3

続けて取り外しを指示します:

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3

システムをシャットダウンします:

shutdown -h now

故障ディスクの代わりに新しいHDDを装着し、システムを起動します。システムは通常通り起動するはずです。

配列の状態を確認する

起動後、配列がデグレードしていることを確認します:

cat /proc/mdstat

期待される出力の例:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0]
      104320 blocks [2/1] [U_]

md1 : active raid1 sda2[0]
      513984 blocks [2/1] [U_]

md2 : active raid1 sda3[0]
      4618560 blocks [2/1] [U_]

unused devices: 
[root@server1 ~]#

また fdisk -l で新しいディスクがパーティションテーブルを持たないことを確認できます。例:

fdisk -l

(出力は元の例参照)

パーティションテーブルをコピーする

故障していないディスク(例: /dev/sda)のパーティションテーブルを新しいディスク(/dev/sdb)に複製します:

sfdisk -d /dev/sda | sfdisk /dev/sdb

エラーが出る場合は –force オプションを試します:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

成功すると、新しいディスクに同じパーティション構成が書き込まれます。

古いRAID情報を消去して再追加する

新ディスクの各パーティションに残っている可能性のあるスーパーブロック情報を消します:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

その後、各mdデバイスに新しいパーティションを追加します:

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3

同期の監視

同期中は /proc/mdstat を監視します:

cat /proc/mdstat

同期が進行中の例:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

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

md2 : active raid1 sdb3[2] sda3[0]
      4618560 blocks [2/1] [U_]
      [===>.................]  recovery = 15.4% (715584/4618560) finish=4.9min speed=13222K/sec

unused devices: 
[root@server1 ~]#

完了後は全て [UU] になっていることを確認します。

ブートローダーの再インストール

必要ならGRUBを両方のディスクにインストールします。grubコマンドで対話的に作業する例:

grub

grubプロンプトで:

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

これで両方のディスクから起動可能になります。

確認と後片付け

  • 再起動して問題なく起動することを確認します。
  • mdadm –detail /dev/mdX で各アレイの状態を確認します。
  • 監視ツールや通知設定がある場合は、復旧完了をトリガーしておきます。

トラブルシューティングのポイント

  • sfdisk の書き込みが失敗する: デバイス名が正しいか、ディスクが完全に接続されているかを確認します。
  • 同期が非常に遅い: I/O負荷やケーブル不良、ディスクのSMARTエラーを疑います。
  • GRUBがインストールできない: パーティションのブートフラグやファイルシステムの整合性を確認してください。

代替アプローチ

  • dd でパーティションの最初のセクタを丸ごとコピーする(注意: リスク高)
  • バックアップから復元して再構築する(大容量データや複雑な構成の場合)
  • 新規ディスクに手動でパーティションを作成し、mdadm –add で参加させる

ロール別チェックリスト

  • システム管理者: デバイス名確認、mdstat監視、GRUB再インストール
  • ストレージ担当: ケーブルと電源の物理チェック、SMARTログの確認
  • 運用担当: 通知と監視の更新、手順のログ保存

1行用語集

  • mdadm: Linux のソフトウェアRAID管理ツール
  • sfdisk: パーティションテーブルのダンプ/書き込みを行うツール
  • /proc/mdstat: Linuxが管理するRAIDの状態表示ファイル

リンク

まとめ

この手順では、RAID1で故障したディスクを安全に置換し、パーティションを複製してmdadmで再追加、同期完了後にGRUBを両ディスクへ再インストールします。同期を必ず監視し、問題があればログやディスクヘルスを確認してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

Androidでカメラの遅延を解消する完全ガイド
スマートフォン

Androidでカメラの遅延を解消する完全ガイド

削除したファイルを復元不能にする方法(3つの手順)
セキュリティ

削除したファイルを復元不能にする方法(3つの手順)

MySQL スレーブ設定ガイド(SSL対応)
データベース

MySQL スレーブ設定ガイド(SSL対応)

Windows 11でExplorer Patcherをアンインストールする
Windows

Windows 11でExplorer Patcherをアンインストールする

Sea of Thieves パケットロス対処ガイド
ゲームネットワーク

Sea of Thieves パケットロス対処ガイド

Hulu エラー RUNUNK13 を完全に解決するガイド
トラブルシューティング

Hulu エラー RUNUNK13 を完全に解決するガイド