Linux で「2 つのディスク」を使用した RAID 1 (ミラーリング) のセットアップ - パート 3
RAID ミラーリング とは、2 つのドライブに書き込む同じデータの正確なクローン (またはミラー) を意味します。 RAID1 を作成するにはアレイ内に少なくとも 2 つのディスクが必要ですが、これはデータ ストレージ容量よりも読み取りパフォーマンスや信頼性の方が正確な場合にのみ役立ちます。
ミラーは、ディスク障害によるデータ損失を防ぐために作成されます。ミラー内の各ディスクには、データの正確なコピーが含まれます。 1 つのディスクに障害が発生した場合、他の正常なディスクから同じデータを取得できます。ただし、障害が発生したドライブは、ユーザーが中断することなく、実行中のコンピュータから交換できます。
RAID 1の特徴
- ミラーは優れたパフォーマンスを持っています。
- スペースの 50% が失われます。つまり、合計サイズが 500 GB のディスクが 2 つある場合、それは 1 TB になりますが、ミラーリングでは 500 GB しか表示されません。
- 両方のディスクに同じコンテンツがあるため、一方のディスクに障害が発生してもミラーリングでデータが失われることはありません。
- ドライブへのデータの書き込みよりも読み取りの方が優れています。
要件
RAID 1 を作成するには最低 2 つのディスクが許可されますが、2、4、6、8 を 2 回使用してさらにディスクを追加できます。さらにディスクを追加するには、システムに RAID 物理アダプタ (ハードウェア カード) が必要です。
ここではハードウェア RAID ではなくソフトウェア RAID を使用しています。システムに物理ハードウェア RAID カードが組み込まれている場合は、ユーティリティ UI からアクセスするか、Ctrl+I キーを使用してアクセスできます。
こちらもお読みください: Linux における RAID の基本概念
私のサーバーのセットアップ
Operating System : CentOS 6.5 Final
IP Address : 192.168.0.226
Hostname : rd1.tecmintlocal.com
Disk 1 [20GB] : /dev/sdb
Disk 2 [20GB] : /dev/sdc
この記事では、mdadm (作成および管理) を使用してソフトウェアRAID 1 またはミラー をセットアップする方法を段階的に説明します。 RAID)を Linux プラットフォーム上で実行します。ただし、同じ手順は RedHat、CentOS、Fedora などの他の Linux ディストリビューションでも機能します。
ステップ 1: 前提条件のインストールとドライブの検査
1. 上で述べたように、Linux で RAID を作成および管理するために mdadm ユーティリティを使用しています。それでは、yum または apt-get パッケージ マネージャー ツールを使用して、Linux に mdadm ソフトウェア パッケージをインストールしましょう。
# yum install mdadm [on RedHat systems]
apt-get install mdadm [on Debain systems]
2. 「mdadm」 パッケージがインストールされたら、次のコマンドを使用してディスク ドライブにすでに RAID が設定されているかどうかを確認する必要があります。
# mdadm -E /dev/sd[b-c]
上の画面からわかるように、 まだスーパーブロックが検出されていないということは、RAID が定義されていないことを意味します。
ステップ 2: RAID 用のドライブのパーティショニング
3. 上で述べたように、RAID1 の作成には少なくとも 2 つのパーティション /dev/sdb と /dev/sdc を使用します。 「fdisk」コマンドを使用してこれら 2 つのドライブにパーティションを作成し、パーティションの作成中にタイプを RAID に変更しましょう。
# fdisk /dev/sdb
以下の指示に従ってください
- 新しいパーティションを作成するには、「n」を押します。
- 次に、プライマリ パーティションとして「P」を選択します。
- 次に、パーティション番号を1として選択します。
- Enter キーを 2 回押すだけで、デフォルトのフル サイズを指定できます。
- 次に「p」を押して、定義されたパーティションを印刷します。
- 「L」を押して、使用可能なすべてのタイプをリストします。
- 「t」と入力してパーティションを選択します。
- Linux RAID 自動の「fd」を選択し、Enter キーを押して適用します。
- 次に、再度「p」を使用して、行った変更を出力します。
- 「w」を使用して変更を書き込みます。
「/dev/sdb」パーティションが作成されたら、次に同じ手順に従って /dev/sdc ドライブに新しいパーティションを作成します。
# fdisk /dev/sdc
4. 両方のパーティションが正常に作成されたら、同じ 'mdadm を使用して sdb と sdc ドライブの両方の変更を確認します。 Strong>' コマンドを実行し、次の画面に示すように RAID タイプも確認します。
# mdadm -E /dev/sd[b-c]
注: 上の図でわかるように、sdb1 と sdc1 には RAID が定義されていません。これまでのところ、スーパーブロックが検出されなかったのはそのためです。
ステップ 3: RAID1 デバイスの作成
5. 次に、次のコマンドを使用して「/dev/md0」という名前の RAID1 デバイスを作成し、確認します。
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
cat /proc/mdstat
6. 次に、次のコマンドを使用して、RAID デバイスのタイプと RAID アレイを確認します。
# mdadm -E /dev/sd[b-c]1
mdadm --detail /dev/md0
上の図から、raid1 が作成され、/dev/sdb1 および /dev/sdc1 パーティションを使用していることが簡単にわかります。また、ステータスが再同期中であることもわかります。
ステップ 4: RAID デバイス上にファイル システムを作成する
7. ext4 を使用して md0 にファイル システムを作成し、/mnt/raid1 にマウントします。
# mkfs.ext4 /dev/md0
8. 次に、新しく作成したファイルシステムを「/mnt/raid1」にマウントし、いくつかのファイルを作成してマウント ポイントの内容を確認します。
# mkdir /mnt/raid1
mount /dev/md0 /mnt/raid1/
touch /mnt/raid1/tecmint.txt
echo "tecmint raid setups" > /mnt/raid1/tecmint.txt
9. システムの再起動時に RAID1 を自動マウントするには、fstab ファイルにエントリを作成する必要があります。 「/etc/fstab」 ファイルを開き、ファイルの最後に次の行を追加します。
/dev/md0 /mnt/raid1 ext4 defaults 0 0
10. 「mount -a」を実行して、fstab エントリにエラーがあるかどうかを確認します。
# mount -av
11. 次に、以下のコマンドを使用して、RAID 構成を「mdadm.conf」ファイルに手動で保存します。
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
上記の構成ファイルは、再起動時にシステムによって読み取られ、RAID デバイスがロードされます。
ステップ 5: ディスク障害後のデータの検証
12. 私たちの主な目的は、ハードディスクの障害やクラッシュの後でもデータを利用できるようにすることです。アレイ内でいずれかのディスクが使用できない場合に何が起こるかを見てみましょう。
# mdadm --detail /dev/md0
上の画像では、RAID で利用可能なデバイスが 2 つあり、アクティブなデバイスが 2 であることがわかります。次に、ディスクがプラグインされたとき (sdc ディスクが取り外されたとき) または障害が発生したときに何が起こるかを見てみましょう。
# ls -l /dev | grep sd
mdadm --detail /dev/md0
上の画像では、ドライブの 1 つが失われたことがわかります。ドライブの 1 つを仮想マシンから取り外しました。では、貴重なデータを確認してみましょう。
# cd /mnt/raid1/
cat tecmint.txt
私たちのデータはまだ利用可能であることがわかりましたか。このことから、RAID 1 (ミラー) の利点がわかります。次の記事では、 分散パリティを使用したRAID 5 ストライピングをセットアップする方法を説明します。これが RAID 1 (ミラー) の仕組みを理解するのに役立つことを願っています。