読者です 読者をやめる 読者になる 読者になる

どせいたんさき。

ナスダヨー

Ubuntu 14.04 LTS でソフトウェア RAID を構築

目的

バックアップ用に MARSHAL の 2 台挿しができる外付け HDD を使っている.

バックアップを 2 台のハードディスクでミラーリングしていたのだけど rsync によるミラーリングではだいぶ限界を感じていたので,RAID を構築することで解決したい.

方法

mdadm を利用してソフトウェア RAID を実現する. mdadm のインストール手順は以下の通り.

sudo apt-get install mdadm


これまで df -h するとこんな感じだった.

/dev/sdb1      1.8T  281G 1.5T  17% /backup1
/dev/sdc1      1.8T  281G 1.5T  17% /backup2

既にミラーリングが済んでおり,どちらにもデータが入っている.大事なバックアップデータなので RAID 化に際してデータを消してはいけない.とりいそぎ /backup1umount する.

sudo umount /dev/sdb1

mdadm をつかって RAID を構築する.ミラーリングが目的なので RAID レベルは 1 でデバイス数は 2 である.ここで 2 つ目のデバイスを missing にしておく.

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing


/dev/md0 が作成されたのでファイルシステムを作成する.これまで ext4 を使ってきたので今回もそれに従う.

sudo mkfs.ext4 /dev/md0

自動的にマウントしてくれうように /etc/fstab に設定を書き込む.デバイスの unique id は sudo blkid で調べることができる.blkid の出力例を以下に示す.

/dev/md0: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext4"

/etc/fstab には以下のように書き込んだ.あらかじめ /backup というディレクトリは作成しておくこと.

UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /backup ext4 defaults 0 2

現在 /backup2 にはこれまでバックアップしたファイルが眠っている.これを /backup に流し込む.

sudo rsync -vaH /backup2/ /backup

終了したら /backup2umount して /dev/sdc1RAID に追加する.

sudo mdadm /dev/md0 -a /dev/sdc1

現在の設定を保存する.ここで故障時のメール送信先などを設定できるらしい.

sudo su
/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
dpkg-reconfigure mdadm