先日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にメールすることにして転送対象にした。。。