テクノロジーガイド

GRUB と /dev/sda の準備 — LVM 上のソフトウェア RAID1

3 min read ストレージ 更新されました 28 Sep 2025
GRUB と /dev/sda の準備 — LVM 上の RAID1
GRUB と /dev/sda の準備 — LVM 上の RAID1

TL;DR

この手順では、稼働中の LVM システム上でソフトウェア RAID1 を完成させるために、GRUB ブートローダをセカンドディスクにインストールし、/dev/sda を RAID アレイに追加するまでを説明します。主要なコマンドは grub シェルでの root/setup、fdisk によるパーティションタイプ変更、mdadm –add、/etc/mdadm.conf の再生成、最後に再起動です。


概要

この記事は、既に RAID を一部構成し、LVM が稼働中の環境で「残りのディスク側のブート設定」と「/dev/sda の RAID 参加」を安全に完了するための具体的な手順を示します。以下は想定される状況の要約です。

  • 既に /dev/sdb に GRUB をインストール済み(または初期手順を実施)で、/dev/md0 (/boot) と /dev/md1 (LVM の物理ボリューム) が存在する。
  • これから /dev/sda 側にも GRUB を導入し、/dev/sda1 を /dev/md0 に、/dev/sda2 を /dev/md1 に参加させる。
  • 作業中は root 権限を使い、可能ならコンソールまたは IPMI/KVM などで直接アクセスすることを推奨します。

重要: コマンド出力や UUID は環境ごとに異なります。ここに示す出力は手順の確認例です。

目次

  • GRUB の準備
  • /dev/sda の準備
  • /etc/mdadm.conf の更新
  • 再起動と検証
  • 受け入れ基準
  • トラブルシューティングとロール別チェックリスト
  • コマンドチートシート
  • 簡易用語集
  • 要約

GRUB の準備

次に、セカンドハードディスク (/dev/sdb) に GRUB ブートローダをインストールします。まず grub を実行して GRUB シェルに入ります。

grub

GRUB シェルで以下のコマンドを入力します。

root (hd0,0)

(GRUB の対話出力例)

grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub>

続けてブートローダのセットアップを行います。

setup (hd0)

(GRUB の対話出力例)

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)"...  15 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>

GRUB シェルで次に /dev/sda 側(GRUB から見ると hd1)も同様に設定します。

root (hd1,0)

(GRUB の対話出力例)

grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub>
setup (hd1)

(GRUB の対話出力例)

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)"...  15 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>

最後に GRUB シェルを終了します。

quit

通常のシェルに戻ったらシステムを再起動して、RAID アレイから正常にブートできるかを確認します。

reboot

注意: リモート環境では再起動により接続が切れる可能性があるため、物理またはリモートコンソール経由での確認をおすすめします。


/dev/sda の準備

再起動後、/dev/md0 がマウントされているか確認します。

df -h

(確認例)

[root@server1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
8.6G  1.4G  6.8G  18% /
/dev/md0               99M   16M   79M  17% /boot
tmpfs                 250M     0  250M   0% /dev/shm
[root@server1 ~]#

次に RAID の状態を確認します。

cat /proc/mdstat

(確認例)

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1]
104320 blocks [2/1] [_U]

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

unused devices: 
[root@server1 ~]#

LVM の PV/VG/LV 情報も確認しておきます。

pvdisplay
[root@server1 ~]# pvdisplay
--- Physical volume ---
PV Name               /dev/md1
VG Name               VolGroup00
PV Size               9.90 GB / not usable 22.69 MB
Allocatable           yes (but full)
PE Size (KByte)       32768
Total PE              316
Free PE               0
Allocated PE          316
PV UUID               u6IZfM-5Zj8-kFaG-YN8K-kjAd-3Kfv-0oYk7J

[root@server1 ~]#
vgdisplay
[root@server1 ~]# vgdisplay
--- Volume group ---
VG Name               VolGroup00
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  9
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               9.88 GB
PE Size               32.00 MB
Total PE              316
Alloc PE / Size       316 / 9.88 GB
Free  PE / Size       0 / 0
VG UUID               ZPvC10-cN09-fI0S-Vc8l-vOuZ-wM6F-tlz0Mj

[root@server1 ~]#
lvdisplay
[root@server1 ~]# lvdisplay
--- Logical volume ---
LV Name                /dev/VolGroup00/LogVol00
VG Name                VolGroup00
LV UUID                vYlky0-Ymx4-PNeK-FTpk-qxvm-PmoZ-3vcNTd
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                8.88 GB
Current LE             284
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:0

--- Logical volume ---
LV Name                /dev/VolGroup00/LogVol01
VG Name                VolGroup00
LV UUID                Ml9MMN-DcOA-Lb6V-kWPU-h6IK-P0ww-Gp9vd2
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                1.00 GB
Current LE             32
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:1

[root@server1 ~]#

次に /dev/sda1 のパーティションタイプを “Linux raid autodetect” に変更します。

fdisk /dev/sda

(対話例)

[root@server1 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): <-- t
Partition number (1-4): <-- 1
Hex code (type L to list codes): <-- fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <-- w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@server1 ~]#

注意: fdisk の変更はカーネルが再読み込みできない場合があり、再起動が必要になることがあります。

パーティションタイプを変更したら、/dev/sda1 を /dev/md0 に追加します。

mdadm --add /dev/md0 /dev/sda1

追加後、mdstat で同期状態を確認します。

cat /proc/mdstat

(同期例)

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

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

unused devices: 
[root@server1 ~]#

/etc/mdadm.conf の更新

現在の md デバイス構成を /etc/mdadm.conf に書き出します。

mdadm --examine --scan > /etc/mdadm.conf

確認例:

cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=0a96be0f:bf0f4631:a910285b:0f337164
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=f9e691e2:8d25d314:40f42444:7dbe1da1

このファイルはブート時に mdadm がアレイを自動組立てするために必要です。複数の配列がある場合はすべて記載されていることを確認してください。


再起動と検証

最後にシステムを再起動して正常にブートすることを確認します。

reboot

再起動後、以下を必ず確認してください。

  • /boot が /dev/md0 としてマウントされていること(df -h で確認)。
  • cat /proc/mdstat で全デバイスが [UU](正常)の状態であること。
  • LVM の PV/VG/LV が期待通りに見えること(pvdisplay/vgdisplay/lvdisplay)。

問題がなければこれで運用中の LVM にソフトウェア RAID1 を組み込み、両方のディスクからブート可能にしたことになります。


受け入れ基準

  • システムが再起動して正常に起動すること。
  • /boot が /dev/md0 としてマウントされ、md0 の状態が [UU] であること。
  • /dev/sda1 が md0 に追加され、/dev/sda2 が md1 に参加していること(cat /proc/mdstat で確認)。
  • /etc/mdadm.conf にすべての ARRAY エントリがあること。

トラブルシューティング(よくある問題と対処)

  • ブートしない/GRUB エラー

    • 原因: GRUB が正しくインストールされていない、または stage1/stage2 が不在。
    • 対処: GRUB シェルで再度 root/setup を実行し、インストール先デバイスを確認する。物理コンソールでエラーメッセージを確認する。
  • mdadm によるアレイの再構築が始まらない

    • 原因: パーティションタイプが fd に設定されていない、または mdadm.conf が未更新。
    • 対処: fdisk でパーティションタイプを修正し(必要なら再起動)、mdadm –examine –scan を実行して /etc/mdadm.conf を更新する。
  • カーネルがパーティションテーブルを再読み込みできない

    • 原因: デバイスが使用中(マウント/スワップなど)。
    • 対処: 可能なら再起動して新しいパーティションテーブルを反映する。停止できるサービスを停止してから試す方法もあるが、再起動が最も確実。
  • RAID 同期が遅い/途中で止まる

    • 原因: I/O 負荷、デバイス不具合、速度制限。
    • 対処: /proc/mdstat を監視し、smartctl などでディスクの健康状態を確認。必要に応じて同期の速度制限 (sysctl) を調整する。

重要: 重大な操作(パーティションの変更、mdadm –create や –zero-superblock 等)はデータ損失を招く可能性があるため、十分なバックアップとダウンタイム計画を用意してください。


ロール別チェックリスト

  • システム管理者

    • 事前にバックアップを取得
    • コンソール(または IPMI/KVM)で直接アクセスできることを確認
    • /etc/mdadm.conf を更新しコミット
  • ストレージオペレータ

    • ディスクの健康状態をチェック(smartctl、dmesg)
    • RAID 同期の進捗を監視
  • 運用担当者

    • 再起動時間を調整し、サービスの再起動手順を周知
    • 監視アラートの一時的な抑制と復旧後の確認

コマンドチートシート(よく使うコマンド)

  • grub
  • root (hdX,Y) # GRUB 内でルート設定
  • setup (hdX) # GRUB をディスクにインストール
  • fdisk /dev/sda
  • mdadm –add /dev/md0 /dev/sda1
  • mdadm –examine –scan > /etc/mdadm.conf
  • cat /proc/mdstat
  • df -h
  • pvdisplay / vgdisplay / lvdisplay
  • reboot

簡易用語集(1行ずつ)

  • GRUB: ブートローダ。Linux カーネルを読み込み起動するプログラム。
  • mdadm: Linux のソフトウェア RAID 管理ツール。
  • LVM: 論理ボリュームマネージャ。ディスク領域を抽象化する仕組み。
  • /etc/mdadm.conf: mdadm がブート時にアレイを自動組立てするための設定ファイル。

要点のまとめ

  • GRUB を両方のディスクにインストールし、どちらのディスクからでもブートできる状態にすること。
  • /dev/sda のパーティションタイプを fd に変更して mdadm に追加すること。
  • /etc/mdadm.conf を更新して再起動後も自動でアレイが組み立てられるようにすること。

これで、稼働中の LVM システムに対してソフトウェア RAID1 を安全に設定し、両方のディスクからのブートを可能にする作業は完了です。お疲れさまでした。

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

類似の素材

Instagram Friendsタブでいいね・コメントを非表示にする方法
ソーシャルメディア

Instagram Friendsタブでいいね・コメントを非表示にする方法

RAID1 配列作成と GRUB 移行ガイド
システム管理

RAID1 配列作成と GRUB 移行ガイド

Windows 11 25H2 を Release Preview で公式にインストール
Windows

Windows 11 25H2 を Release Preview で公式にインストール

自撮りからPINを抽出する角膜キーロガーの危険と対策
セキュリティ

自撮りからPINを抽出する角膜キーロガーの危険と対策

Windows 10でタッチパッドが動かない時の修復手順
トラブルシューティング

Windows 10でタッチパッドが動かない時の修復手順

BoltWire を Ubuntu 18.04 にインストールする方法
インストール

BoltWire を Ubuntu 18.04 にインストールする方法