1. この記事について
OpenBSDでソフトウェアRAIDにより、暗号化されたストレージをRAID1で用意する方法のメモ。
2. RAID1構築手順
例として、sd0,sd1として認識されている2本のHDDでRAID1を組む場合の手順を記載する。 両方に同じ操作をする場合でも sd0 の場合のみをコマンド例として記載する。 また、コマンドは全てrootユーザーによる実行を前提としている。
- HDDにランダムデータを書き込んでおく(sd0,sd1両方)
dd if=/dev/urandom of=/dev/rsd0c bs=4m
- disklabelでRAID用のスライスを用意する(sd0,sd1両方)
disklabel -E sd0
a
を入力してEnterpartition to add:
でa
を入力してEnteroffset:
で0
を入力してEntersize:
で*
を入力してEnterFS type:
でraid
を入力してEnterw
を入力してEnter(保存)q
を入力してEnter(disklabelを終了)
- bioctl コマンドでRAID1ストレージを作成
bioctl -c 1C -l /dev/sd0a,/dev/sd1a softraid0
- 暗号化に際してパスワードが必要なので入力する
- 以降の手順では、 sd4 が作成されたものとして記載する
- 作成されたRAID1ストレージの先頭 1MB にゼロを書き込む
dd if=/dev/zero of=/dev/rsd4c bs=1m count=1
- man によると先頭にあるメタデータを利用するプログラムがランダムデータを何かと誤認しないようにとのこと
- 作成されたRAID1ストレージに disklabelでファイルシステム用のスライスを用意する
disklabel -E sd4
a
を入力してEnterpartition to add:
でa
を入力してEnteroffset:
で0
を入力してEntersize:
で*
を入力してEnterFS type:
で4.2BSD
を入力してEnterw
を入力してEnter(保存)q
を入力してEnter(disklabelを終了)
- 作成されたRAID1ストレージに newfs コマンドでファイルシステムを作成する
- sd4 としてRAID1ストレージが作成された場合のコマンド例
newfs sd4a
- 作成されたファイルシステムを望みのパスに mount する
- sd4 として作成されたRAID1ストレージを /mnt にマウントする場合のコマンド例
mount /dev/sd4a /mnt
3. サーバ再起動時などに再度マウントする手順
- bioctl コマンドでRAID1ストレージを再度作成
bioctl -c 1C -l /dev/sd0a,/dev/sd1a softraid0
- 復号に際してパスワードが必要なので入力する
- 望みのパスに再度 mount する
- sd4 として作成されたRAID1ストレージを /mnt にマウントする場合のコマンド例
mount /dev/sd4a /mnt