FreeBSD 8.4: LVMを使ってみる、その2

先日、FreeBSD 上でもHP-UXやLinux と同様のLVMを使用できるらしいとメモを書きました。
このメモでは、メモリカードリーダーに挿入された複数のフラッシュメモリを一つのパーティションにまとめて、ファイルシステムにマウントするところまでまとめましたが、リブートした場合に自動的にLVMで管理されたドライブがファイルシステム上に復活するのか?ということを確認できていませんでした。

本番サーバーは、リブートに時間がかかるので、テストマシンで実験してみることにしました。テストマシンでは、USB フラッシュドライブを3個準備。

現状

  • gvinum -n test1 concat /dev/da0 ….. でロジカルボリュームを作成し、
  • newfs /dev/gvinum/test1 でファイルシステムを作成し、
  • mount /dev/gvinum/test1 /mnt でマウントされた状態
  • /etc/fstab には、/dev/gvinum/test1 を /mnt にマウントする記述あり

リブート

これで再起動すると、ファイルシステムをマウントする段階で止まってしまいました。つまり、起動時の設定ファイルに何か書かないと、LVM ボリュームをfstab の記述に従って自動でマウントしてくれることはありません。

まず、/etc/fstab 中の、LVM ボリュームをマウントするための行をコメント化。

/etc/rc.local を利用

rc.conf にスイッチを書けばよい訳ではないようなので、/etc/rc.local にコマンドを記述することにしました。

オンラインマニュアルはあまり細かいことは書いてありませんが、gvinum start というコマンドがそれっぽいので、これを実行した後、マウントすれば良さそうです。
そして、以下のように書いて、FreeBSDをリブート。

</etc/rc.local>
 
/sbin/gvinum start
sleep 1
mount /dev/gvinum/test1 /mnt

無事に、LVMボリュームが自動で、再マウントされました。

gvinum l コマンドで、ステータス表示。

# gvinum l
3 drives:
D gvinumdrive2          State: up	/dev/da2	A: 0/984 MB (0%)
D gvinumdrive0          State: up	/dev/da0	A: 0/124 MB (0%)
D gvinumdrive1          State: up	/dev/da1	A: 0/245 MB (0%)

1 volume:
V test1                 State: up	Plexes:       1	Size:       1354 MB

1 plex:
P test1.p0            C State: up	Subdisks:     3	Size:       1354 MB

3 subdisks:
S test1.p0.s0           State: up	D: gvinumdrive0 Size:        124 MB
S test1.p0.s1           State: up	D: gvinumdrive1 Size:        245 MB
S test1.p0.s2           State: up	D: gvinumdrive2 Size:        984 MB

コメントを残す