CentOS7でソフトウェアRAID1してみる

Filed in コンピュータ

先日NFSを構築してESXiからマウントするという記事を書いた。
実はNFSはソフトウェアRAID1を組んでいる。

たまにしかやららないので備忘。
あらかじめCentOSを入れてあったPCに後からHDDを2つ増設した。
この2つでRAIDを組むことにする。
NFSで公開する領域だけRAIDにしてます。

まずは必要なものインストール

$ yum install mdadm

追加したHDDのデバイスファイルを確認する

$ fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x00045e9d

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   976773119   487873536   8e  Linux LVM

 Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
Disk label type: dos
ディスク識別子: 0x3f51115e

Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
Disk label type: dos
ディスク識別子: 0x17246bea

こんな感じで出力されると思う。まあ/dev/sdb, /dev/sdcのようだ。

それぞれにパーティションを切る。といっても全部で1パーティションにしてしまう。
/dev/sdb,/dev/sdc両方で以下をする。

若干省略気味で。

$ fdisk /dev/sdb

コマンド : n                         <= NEW
コマンドアクション
   e  拡張
   p  基本領域(1-4)
p                                    <= 基本にする
領域番号(1-4): 1                     <= デフォルトで
先頭シリンダ(1-xxx、default 1):1     <= デフォルトで
終点シリンダ(1-xxx  default xxx):xxx <= デフォルトで

コマンド: t                          <= パーティションID変更
select partition:1                   <=1つなので1
16進コード: fd                       <= Linux raid autoのコード

コマンド: w                          <=書き込んで終了

RAIDアレイの作成

$ mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sd[bc]

ごにょごにょ裏でアレイの構築が始まる

進捗の確認は以下でできる。

$ cat /proc/mdstat

設定ファイルは作ってくれないので作る。
先にARRAY情報を調べておく

$ mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=nfs.dracula.mydns.jp:0 UUID=f98afbd0:563e89b4:8b3ae7ed:21a3790b

で、設定

/etc/mdadm.conf
DEVICE /dev/sdb /dev/sdc
ARRAY /dev/md0 metadata=1.2 name=nfs.dracula.mydns.jp:0 UUID=f98afbd0:563e89b4:8b3ae7ed:21a3790b

ARRAYにはあらかじめ調べたARRAY情報を書く。リダイレクトで追記するとよい。

ファイルシステムを作る。ext4でいいでしょう。

$ mkfs -t ext4 /dev/md0

オートマウントの設定

/etc/fstab
/dev/md0  /マウントポイント  ext4  defaults 1 2 

マウントする

$ mount -a

片方のHDDが壊れても動いてしまうのでmdadmによる監視設定を入れる。

echo MAILADDR 送信先メールアドレス  >> /etc/mdadm.conf

監視機能の実行と自動起動

$ systemctl start mdmonitor
$ systemctl enable mdmonitor

通知のテスト

mdadm --monitor --test --oneshot --scan

ソフトバンクに送ろうとしたら拒否られた。ポートが違うとかなとかの情報が見つかったが
面倒なのでISPにメールすることにして転送対象にした。。。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)