しよたろのぶろぐ

しよたろがブログを始めてみました。よろしければ一度読んでやってください。

FreeBSD-12.1 インストールしてみた。gmirror でソフトウェアRAID構築編

はじめに

前回FreeBSDのインストールをお試しで実施してみました。FreeBSD-12.1のインストールは慣れれば10分程で終わるのでとてもお手軽ですね。今回はもう少し掘り下げて、gmirror を利用したソフトウェアRAIDの構築を行ってみたいと思います。

 

準備

RAID構築を行いますので、同じ容量のドライブを2つ用意します。

 

RAID構築実施

1)デバイスの確認

今回用意したHDD等のデバイスが2本認識できているかBIOS上で確認します。もしサーバー機でRAIDコントローラーが搭載されている場合はフィジカルディスクとして認識されていても、バーチャルディスクとして認識されていない可能性があるかもしれません。RAIDコントローラー上で認識するにはRAIDコントローラーの設定画面に入ってバーチャルディスクの作成を検討ください。

 

2)FreeBSDのインストール前半(パーティション作成の手前まで)

今回はFreeBSDがインストールを兼ねて実施します。手順は前回の記事を参考にインストールを進めてみてください。そしてパーティション作成の部分でシェルを選択して、シェルを起動します。

 

3)gmirror 作成

ここからgmirrorの設定に入ります。下記の手順を参考に進めていきます。デバイス名は適宜読み替えてください。

gmirror を作成

# gmirror load -v
# gmirror label gm0 /dev/mfid0
# gmirror insert gm0 /dev/mfid1
# gmirror status

 

gpart を作成(伝統的なファイルシステム構成で)

# gpart create -s GPT mirror/gm0
# gpart add -s 64k -t freebsd-boot -l "boot" mirror/gm0
# gpart add -s 1g -t freebsd-ufs -l "root" mirror/gm0
# gpart add -s 32g -t freebsd-swap -l "swap" mirror/gm0
# gpart add -s 4g -t freebsd-ufs -l "tmp" mirror/gm0
# gpart add -s 60g -t freebsd-ufs -l "var" mirror/gm0
# gpart add -t freebsd-ufs -l "usr" mirror/gm0
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 mirror/gm0
# gpart show

ファイルシステムの初期化

# newfs -j /dev/gpt/root
# newfs -j /dev/gpt/tmp
# newfs -j /dev/gpt/var
# newfs -j /dev/gpt/usr    

 

fstabを用意

# echo "/dev/gpt/swap none swap sw 0 0" >> /tmp/bsdinstall_etc/fstab
# echo "/dev/gpt/root / ufs rw,noatime 1 1" >> /tmp/bsdinstall_etc/fstab
# echo "/dev/gpt/tmp /tmp ufs rw,noatime 1 2" >> /tmp/bsdinstall_etc/fstab
# echo "/dev/gpt/var /var ufs rw,noatime 1 2" >> /tmp/bsdinstall_etc/fstab
# echo "/dev/gpt/usr /usr ufs rw,noatime 1 2" >> /tmp/bsdinstall_etc/fstab
# less /tmp/bsdinstall_etc/fstab

 

mount実行

# mount /dev/gpt/root /mnt
# mkdir /mnt/var
# mkdir /mnt/tmp
# mkdir /mnt/usr
# mount /dev/gpt/var /mnt/var
# mount /dev/gpt/tmp /mnt/tmp
# mount /dev/gpt/usr /mnt/usr

 

シェルを抜ける

# exit

 

4)FreeBSDインストール(残り)

パーティションの構成が終わりましたので、後半のインストール作業を行います。手順は前回と同様です。

 

5)loader.conf設定

インストール作業が一通り終わって最後にリブートする手前の画面で、シェルに入るかどうかを問われます。その時に再度シェルを起動します。

# echo 'geom_mirror_load="YES"' >> /boot/loader.conf


6)リブートします

これで完了です。正しく設定ができていればgmirror上でFreeBSDが起動するでしょう。

 

※ 手順5の段階で、gmirror status を実行して、もしミラーリングが完了していなければ、ミラーリングの完了を待ってリブートする方が良いかもしれません。

 

 

以上になります。本日はgmirror を利用したソフトウェアRAIDの構築をお届けしました。これで万が一HDD障害が起きてもサービスを止めずに稼働する事ができますね。