UbuntuでRAID 1を構築する方法|mdadmによる冗長化と復旧手順を徹底解説

目次

1. はじめに

UbuntuでRAID 1を構築する理由とは?

Ubuntuは、個人から企業レベルまで幅広く利用されているLinuxディストリビューションです。信頼性と柔軟性の高さから、サーバー用途にも多く採用されています。そんなUbuntu環境でRAID 1(ミラーリング)を構築することで、データの冗長性を確保し、ディスク障害によるデータ消失リスクを最小限に抑えることが可能になります。

RAID 1は、2台以上のディスクに同一のデータをリアルタイムで書き込むことで、片方のディスクが故障してもシステム全体が継続して動作するという利点があります。そのため、重要なファイルやサービスを扱うUbuntu環境では、RAID 1の導入は有効な保護策となります。

ソフトウェアRAIDとハードウェアRAIDの違い

RAIDを構築する方法は大きく分けて2種類あります。1つはハードウェアRAIDで、専用のRAIDコントローラーやマザーボードのRAID機能を使って構築するもの。もう1つはソフトウェアRAIDで、OS上のソフトウェア(Linuxでは主にmdadm)を用いて構成します。

Ubuntuでは、コストや構成の柔軟性を考慮してソフトウェアRAIDの選択が主流です。この記事では、UbuntuにおけるRAID 1の構築方法を中心に、インストール時の設定方法や運用・管理のポイント、障害発生時の対応までを網羅的に解説していきます。

この記事で学べること

このガイドを読むことで、以下のような知識と技術を得られます:

  • RAID 1の基礎とUbuntuでの運用方法
  • ソフトウェアRAID(mdadm)によるRAID 1の構築手順
  • RAID 1の再構築、状態確認、トラブル対応
  • Ubuntu ServerとDesktopにおける違いと注意点
  • 実運用で役立つFAQやGRUB・fstabの設定知識

RAIDは一度構築してしまえばそれほど手を煩わせることはありませんが、初期設定の理解が非常に重要です。本記事では、初心者にもわかりやすく、かつ実践的な情報を丁寧に解説していきますので、どうぞ最後までお読みください。

侍エンジニア塾

2. RAID 1の基礎知識

RAIDレベルの種類とRAID 1の特徴

RAID(Redundant Array of Independent Disks)は、複数のハードディスクを組み合わせて、データの安全性やアクセス速度を向上させる技術です。RAIDには複数の「レベル」が存在し、それぞれに特徴があります。

代表的なRAIDレベルには以下のようなものがあります:

  • RAID 0:ストライピングによって高速化を図るが、冗長性はない
  • RAID 1:ミラーリングにより冗長性を確保(本記事の主題)
  • RAID 5:3台以上のディスクでパリティ情報を使って冗長性を持たせる
  • RAID 6:RAID 5の強化版。2つのパリティを持ち、より高い耐障害性を実現
  • RAID 10(1+0):RAID 1とRAID 0を組み合わせた構成

この中でRAID 1は、同一データを2つのディスクに書き込む「ミラーリング」方式を採用しています。そのため、片方のディスクが故障しても、もう一方からデータを読み出せるため、可用性に優れています。

ミラーリングの仕組み(図解イメージ)

RAID 1の仕組みは非常にシンプルです。例えば、以下のようにディスクAとディスクBがあるとします:

[書き込み]
ユーザーがファイルAを保存 → 同時にディスクAとディスクBに書き込まれる

[読み込み]
読み込みは任意のディスクから行われ、パフォーマンスの最適化が可能

このように、データは常に複製されるため、物理的な故障に対しての耐性が高いというのがRAID 1の最大のメリットです。

ソフトウェアRAIDとハードウェアRAIDの違い

RAIDの構築方法には大きく分けて次の2つがあります:

  • ソフトウェアRAID(mdadmなど)
    Ubuntuで主に用いられる方式です。OSレベルでRAID制御を行い、柔軟な設定とコスト面の利点があります。RAIDアレイの構築・管理において最も自由度が高く、一般的なサーバー構築で広く使われています。
  • ハードウェアRAID(RAIDカードやBIOS搭載機能)
    専用コントローラを使用してRAIDを構成します。CPU負荷が少なく、OSからは1台のディスクとして認識されますが、コントローラが故障した場合の復旧は難易度が高くなるというデメリットもあります。

フェイクRAID(BIOS RAID)とは?

一部のマザーボードでは、BIOSレベルでRAID機能を提供するものがあります。これは「フェイクRAID(Fake RAID)」とも呼ばれます。

フェイクRAIDは見た目はハードウェアRAIDに見えますが、実際はドライバレベルで制御されており、ソフトウェアRAIDに近い構造です。Ubuntuでも一部対応していますが、mdadmによるソフトウェアRAIDの方が管理しやすく、復旧性も高いため、一般的にはフェイクRAIDはあまり推奨されていません。

3. ソフトウェアRAID(mdadm)によるRAID 1構築

3.1 構築前の準備と要件確認

RAID 1を構築するには、少なくとも2台の物理ディスク(または未使用パーティション)が必要です。すでにシステムディスクとして使用されているものは対象外となるため、専用のストレージを用意しましょう。

まず、対象となるディスクの確認を行います。

lsblk

もしくは以下で詳細を確認します:

sudo fdisk -l

ディスクが/dev/sdb/dev/sdcであると仮定して進めます。

※構築前に、対象ディスクに重要なデータが含まれていないことを必ず確認してください。RAID作成時にフォーマットされ、全データが消去されます。

3.2 mdadmのインストール

mdadmはUbuntu標準リポジトリに含まれており、以下のコマンドで簡単にインストールできます:

sudo apt update
sudo apt install mdadm

インストール時に「メール通知に関する設定」が求められる場合がありますが、後で設定変更可能です。最初はデフォルトのままで構いません。

3.3 RAID 1アレイの作成手順

対象ディスクを確認したら、以下のコマンドでRAID 1アレイを作成します。

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

コマンド解説:

  • /dev/md0:新たに作成されるRAIDデバイス名
  • --level=1:RAIDレベル1(ミラーリング)を指定
  • --raid-devices=2:構成に使うデバイス数
  • /dev/sdb /dev/sdc:実際に使うディスク

作成完了後、次のコマンドで状態を確認できます:

cat /proc/mdstat

出力に/dev/md0とともに同期中の情報が表示されていれば、RAID 1の作成は成功しています。

3.4 RAID構成の永続化設定(mdadm.confとfstab)

RAIDアレイは作成しただけでは再起動後に自動認識されないため、永続化の設定が必要です。

まず、現在のRAID構成をmdadm.confに保存します。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

次に、RAIDアレイにファイルシステムを作成します(例:ext4):

sudo mkfs.ext4 /dev/md0

マウントポイントを作成し、マウントしてみます。

sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

動作確認後、自動マウントのために/etc/fstabにUUIDで追記します:

sudo blkid /dev/md0

出力されたUUIDをもとに、以下のように/etc/fstabに記述します。

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/raid1 ext4 defaults 0 0

これで再起動後もRAID 1が自動的にマウントされるようになります。

4. Ubuntuのインストール時にRAID 1を構成する方法

4.1 Ubuntu Server版のインストーラーでRAID構成する手順

Ubuntu Serverのインストーラーは、RAIDやLVMなど高度なストレージ設定をサポートしています。ここではRAID 1の構成手順を紹介します。

ステップ1:インストールメディアから起動
Ubuntu Server ISOをUSBメモリなどに書き込み、対象マシンを起動します。

ステップ2:ネットワークと基本設定を完了させる
言語・キーボード・ネットワーク設定など、初期設定を順に完了させます。

ステップ3:ストレージ設定に進む
「Guided(ガイド付き)」ではなく、「Custom Storage Layout(カスタム構成)」を選択します。

ステップ4:RAIDを構成する

  1. 2台の空のディスクを選択
  2. パーティションを作成(例:/boot、swap、/ など)
  3. 「Create Software RAID(ソフトウェアRAIDの作成)」を選択
  4. RAID 1を選択し、対象デバイスを選んでアレイを構成
  5. RAIDアレイにファイルシステムを割り当て、マウントポイントを指定

ステップ5:ブートローダー(GRUB)のインストール
RAID構成では、両方のディスクにGRUBをインストールすることが推奨されます。これにより、どちらかのディスクが壊れても起動が可能になります。

4.2 Ubuntu Desktop版でRAIDを使いたい場合

Ubuntu Desktopにはインストール時のRAID構成機能が標準では搭載されていません。そのため、RAID 1を使いたい場合は以下のような手順が必要になります。

方法1:Live環境から手動でRAID構成 → Desktop環境をインストール

  1. Live USBで起動
  2. mdadmを使ってRAID 1を構築
  3. RAIDデバイス(例:/dev/md0)にDesktop環境をインストール
  4. grubfstabの設定を調整

この方法はやや手間がかかりますが、柔軟性が高く、GUI環境でRAID 1を利用したい場合に有効です。

方法2:Server版でRAID構成 → GUIパッケージを後から追加
RAID構成が可能なServer版でインストールを行い、後からubuntu-desktopメタパッケージを追加してGUI環境を構築する方法です。

sudo apt update
sudo apt install ubuntu-desktop

この方法は安定性が高く、RAID構成済みの環境にGUIを追加したい場合におすすめです。

DesktopとServerの選択基準

比較項目Server版Desktop版
RAID構成のしやすさ◎ インストーラーに組み込み済み△ 手動構築が必要
GUIの有無×(CLI中心)◎(標準でGUI)
初心者向け△ 慣れが必要◎ インストールが簡単
柔軟性◎ サーバー向け用途に特化○ カスタマイズで対応可能

RAIDを中心とした運用を考える場合、最初からServer版を選択する方がスムーズに構築できます。Desktopにこだわる場合は、Live環境での構築か、後からGUIを追加する方法が適しています。

5. RAID 1の運用とトラブル対応

5.1 RAIDアレイの状態監視と確認方法

RAID 1の状態を日常的に監視することは、障害の早期発見に直結します。以下のコマンドで現在のRAIDアレイの状態を確認できます。

cat /proc/mdstat

このコマンドでは、RAIDアレイの同期状況や、障害ディスクの有無が表示されます。同期中であれば、[UU]のように表示され、[_U]のようにアンダースコアが含まれている場合は、1台のディスクが外れている状態です。

さらに詳細な情報を得たい場合は、以下のコマンドを使用します:

sudo mdadm --detail /dev/md0

出力結果には、各デバイスの状態、UUID、リビルドの進捗などが表示されます。定期的なログ確認や、メール通知の設定も検討するとよいでしょう。

5.2 ディスク障害時の対応と再構築手順

RAID 1の大きな強みは、1台のディスクが故障しても運用を継続できる点にあります。ただし、障害が発生したら速やかに対応する必要があります。

【手順1】故障ディスクの特定
mdadm --detailの結果で「Removed」や「Faulty」と表示されているデバイスがあれば、それが問題のディスクです。

【手順2】RAIDアレイから故障ディスクを削除

sudo mdadm /dev/md0 --remove /dev/sdX

/dev/sdXは該当ディスク名に置き換えてください)

【手順3】新しいディスクの準備
新しいディスクを取り付け、パーティションを作成する場合は以下:

sudo fdisk /dev/sdX

RAID用にfd(Linux RAID自動検出)タイプに設定するのが望ましいです。

【手順4】RAIDアレイに追加して再同期開始

sudo mdadm /dev/md0 --add /dev/sdX

その後、cat /proc/mdstatで再構築の進行状況を確認できます。数分から数時間かかる場合もあります。

5.3 GRUBのインストールと冗長性の確保

RAID 1構成では、ブートローダ(GRUB)を両方のディスクにインストールすることで、どちらかのディスクが故障してもシステム起動を継続できるようになります。

インストール済みシステムで、GRUBをもう一方のディスクにもインストールするには:

sudo grub-install /dev/sdX
sudo update-grub

/dev/sdXは新しいディスク)

GRUBの設定を更新しておきましょう:

sudo update-grub

この手順を実施することで、片方のディスクが故障した状態でも、BIOSのブート順を切り替えるだけで起動が可能になります。RAIDの冗長性を最大限活かすには、GRUBの多重インストールは必須事項です。

6. ハードウェアRAIDを利用する場合

6.1 ハードウェアRAIDとは?

ハードウェアRAIDは、専用のRAIDコントローラ(RAIDカード)を用いてRAIDアレイを構成します。RAIDの処理をOSやCPUではなく、コントローラ側で担うためパフォーマンスに優れ、CPU負荷が軽減されるという利点があります。

また、OS側からは1台のディスクとして認識されるため、mdadmなどの設定を行わなくても、通常のストレージとして扱えます。

6.2 UbuntuでハードウェアRAIDを使用するメリットとデメリット

メリット:

  • RAID処理をハードウェアで完結できるため、CPUへの負担が少ない
  • BIOSレベルでRAID構成できるため、OSに依存せず導入可能
  • 故障時のデータ復旧が高速で、ホットスワップ対応モデルも多い

デメリット:

  • RAIDカード自体が故障すると、同じモデル・同じファームウェアのカードでなければ復旧が困難
  • RAIDカードに依存するため、柔軟な移行やデバッグが難しい
  • コストがかかる(RAIDカードは数万円~数十万円)

6.3 UbuntuでのハードウェアRAIDの確認と対応方法

UbuntuをインストールしたマシンにRAIDカードが接続されている場合、OSからは通常のブロックデバイス(例:/dev/sda)としてRAIDアレイが表示されます。そのため、mdadmコマンドでは認識されません

RAIDアレイの状態確認は、RAIDカードメーカー提供の専用ユーティリティを使います。

代表的なRAIDカードとツール:

メーカーツール名(例)備考
LSI / Broadcomstorcli または MegaCLI多くのサーバーに搭載されている
HP / HPEhpssacli または ssacliProLiantシリーズ向け
Dellomreport(OpenManage)Dell専用サーバー向け
IntelIntel RAID Web ConsoleなどGUI対応もあり

Ubuntuで使用する場合は、メーカー公式サイトからLinux対応パッケージ(.deb)をダウンロードしてインストールする必要があります。

6.4 フェイクRAID(BIOS RAID)との違いに注意

ハードウェアRAIDのように見えて、実際にはBIOSレベルでRAIDをエミュレートしている「フェイクRAID」もあります。これはOSにドライバを提供する形でRAIDを構成しているため、実質的にはソフトウェアRAIDに近い挙動をします。

UbuntuでフェイクRAIDを使うには「dmraid」や「mdadm」の特殊な設定が必要で、復旧や互換性の面でトラブルが多く発生しやすいため、初心者にはあまりおすすめできません。

6.5 ハードウェアRAIDを選ぶべきケースとは?

以下のような状況に該当する場合、ハードウェアRAIDの導入が適しています:

  • 大量のストレージを一括管理する中・大規模なサーバー用途
  • ホットスワップやバッテリー付きキャッシュなど、RAIDカード特有の機能が必要
  • CPUリソースをストレージ制御以外に集中させたい
  • ソフトウェアRAIDよりも障害検知・ログ管理を厳密に行いたい

逆に、小規模なファイルサーバーや個人利用であれば、mdadmによるソフトウェアRAIDの方がコストパフォーマンスや柔軟性に優れています

7. よくある質問(FAQ)

Q1. RAID 1はバックアップの代わりになりますか?

A1. いいえ、RAID 1はバックアップの代替にはなりません。

RAID 1はディスク障害によるシステム停止を防ぐための冗長構成です。誤操作でファイルを削除した場合や、マルウェア被害、OSの不具合でデータが破損した場合などは、両方のディスクに同じく影響が及びます。そのため、別途バックアップと併用することが不可欠です。

Q2. RAID 1構成中にディスク1台が故障したらどうなりますか?

A2. 正常なもう1台のディスクでシステムは通常どおり動作します。

RAID 1はミラー構成のため、片方のディスクが物理的に壊れても、システムは継続して稼働します。ログなどで異常を確認した後、故障したディスクを新しいものに交換し、RAIDアレイに再追加して再同期することで復旧が可能です。

Q3. Ubuntu Desktop版でもRAID 1を使えますか?

A3. はい、可能です。ただしインストーラーからのRAID構成はできません。

Ubuntu Desktopの標準インストーラーにはRAID構築機能がないため、以下の2つの方法で対応します:

  • Live USBから手動でRAID構築後にOSをインストールする
  • Ubuntu ServerでRAID構成後にGUIを導入する

後者の方がトラブルが少なく、初心者にもおすすめです。

Q4. RAID 1構成後にRAIDの状態を定期確認するには?

A4. cat /proc/mdstatmdadm --detail /dev/md0 を使用します。

RAIDの稼働状況を確認するには、以下のようなコマンドを使用します:

cat /proc/mdstat
sudo mdadm --detail /dev/md0

また、/etc/mdadm/mdadm.conf に通知設定を行うことで、メールによるアラート通知も可能です。

Q5. RAID 1でディスクを交換したらGRUBも再インストールする必要がありますか?

A5. はい、GRUBを交換先のディスクにもインストールする必要があります。

RAID 1構成では、両方のディスクにGRUBをインストールしておくことが冗長性の確保に繋がります。片方だけだと、そのディスクが故障した場合に起動できなくなる可能性があります。

sudo grub-install /dev/sdX
sudo update-grub

/dev/sdX は新しいディスク)

Q6. mdadmとハードウェアRAIDはどちらが安全ですか?

A6. 使用環境によりますが、個人用途や小規模サーバーではmdadmの方が扱いやすく、安全です。

ハードウェアRAIDは高性能で信頼性が高い反面、RAIDカードが故障した場合の復旧が難しく、同じモデルのカードが必要になることもあります。一方、mdadmはLinux上で完結するため、トラブル時の情報が多く、対応もしやすいです。

Q7. RAIDアレイの一時停止や再起動は可能ですか?

A7. はい、アレイの停止・再起動は可能です。ただし注意が必要です。

停止コマンド例:

sudo mdadm --stop /dev/md0

再起動(再組み込み)例:

sudo mdadm --assemble --scan

※起動時に自動的にアレイが組まれるように、mdadm.confinitramfsの設定を忘れずに行いましょう。

8. まとめ

RAID 1は「冗長性の確保」が目的

RAID 1の最大の特徴は、リアルタイムでデータを複製し、1台のディスクが故障しても運用を継続できるという点です。これにより、予期せぬハードウェア障害によるサービス停止を回避できます。ただし、RAIDはバックアップの代替ではないことを忘れてはなりません。削除や上書き、ウイルス被害への対応には、別途バックアップ体制が不可欠です。

UbuntuにおけるRAIDの選択肢

Ubuntuでは、以下のように状況や目的に応じてRAIDの構成方法を選べます。

構成方法特徴おすすめ用途
mdadm(ソフトウェアRAID)柔軟かつ低コストで構築可能。情報も豊富個人ユーザー、小規模サーバー
ハードウェアRAID高性能・低CPU負荷。高価で復旧難度も高め企業用途、大規模ストレージ環境
フェイクRAID(BIOS RAID)中途半端な性質。Ubuntuでは非推奨基本的に避けるのが無難

特にmdadmによる構築は、Ubuntuユーザーにとってもっとも実践的な選択肢です。

構築後の運用と保守が信頼性を左右する

RAIDの構築はスタート地点にすぎません。定期的な状態確認や障害発生時の迅速な対応、GRUBやfstabの適切な設定が、長期的な安定運用を実現するカギとなります。以下は押さえておきたい保守ポイントです:

  • cat /proc/mdstatmdadm --detail による定期確認
  • RAIDアレイの再構築手順の把握
  • GRUBの多重インストールによるブート冗長性
  • 定期バックアップの併用

最後に

RAIDは難しそうに見えても、Ubuntuとmdadmを使えばコマンドベースでシンプルに構築可能です。本記事の内容を参考にすれば、初めてRAIDに取り組む方でも、トラブルに強い堅牢なシステム環境を作ることができるはずです。

今後のサーバー運用やシステム設計において、RAID 1を活用し、安心・安定のLinuxライフをお楽しみください。

年収訴求