警告
5.3-RELEASE で vinum を試したところ、
コマンドラインで kldload vinum.ko を起動したところ
うまく動いているようでした。
しかし、/etc/rc.conf に start_vinum="YES" を足して
ブート時に起動すると kernel panic を起こして
システムそのものが起ち上がらなくなりました。
どうやら、他所様でも見られる現象のようです。
参考サイト
- /stand/sysinstall で FDISK と DiskLabel,
もしくは fdisk と disklabel で新しいディスクにパーティション構造を作成
# fdisk -BI da0
# fdisk -BI da1
# disklabel -w -B da0s1 auto
# disklabel -w -B da1s1 auto
- disklabel -e da0s1 などでディスクラベルを vinum に変更
これは vinum に使うすべてのディスクに対して行う
# disklabel -e da0s1
上の内容を
# /dev/da2s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 312576642 0 unused 0 0 # "raw" part, don't edit d: 122880000 0 4.2BSD 2048 16384 28552 e: 189696642 122880000 4.2BSD 2048 16384 28552へ変更する。変更した後 disklabel da0s1 などで確認すると、
# /dev/da2s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 312576642 0 unused 0 0 # "raw" part, don't edit d: 122880000 0 vinum 2048 16384 28552 e: 189696642 122880000 vinum 2048 16384 28552となって、fsize,bsize,bps/cpg の欄が空になっていた。
# disklabel da0s1 # /dev/da0s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 312576642 0 unused 0 0 # "raw" part, don't edit d: 122880000 0 vinum e: 189696642 122880000 vinum
- kldload vinum.ko で vinum ドライバをロード
kldstat で確認
# kldload vinum.ko
自動起ち上げは /etc/rc.conf に次の1行を追加する。
# kldstat
Id Refs Address Size Name
1 8 0xc0400000 5cdad0 kernel
2 1 0xc1ac7000 c6000 vinum.ko
start_vinum="YES"
- ドライブの準備をする
vinum -> プロンプトが現われるので、vinum サブコマンドで設定をする
#vinum
vinum ->
環境変数 EDITOR で指定されたエディタが起ち上がるので以下を入力する。
vinum -> create
赤字のところは自分で決めてよい。保存したら、list で確認する
drive d0d device /dev/da0s1d
drive d0e device /dev/da0s1e
drive d1d device /dev/da1s1d
drive d1e device /dev/da1s1e
vinum -> list
4 drives: D d0d State: up /dev/da0s1d A: 59999/60000 MB (100%) D d0e State: up /dev/da0s1e A: 92625/92625 MB (100%) D d1d State: up /dev/da1s1d A: 59999/60000 MB (100%) D d1e State: up /dev/da1s1e A: 92625/92625 MB (100%) 0 volumes: 0 plexes: 0 subdisks:
- RAID1 の設定をする
vinum -> プロンプトで create として設定を追加する。volume home としたら、後ほどデバイス名が /dev/vinum/home となる。
drive d0d device /dev/da0s1d
drive d0e device /dev/da0s1e
drive d1d device /dev/da1s1d
drive d1e device /dev/da1s1e
volume home
plex org concat
sd length 0 drive d0d
plex org concat
sd length 0 drive d1d
volume home2
plex org concat
sd length 0 drive d0e
plex org concat
sd length 0 drive d1e
入力したら list で確認home.p1 や home2.p1 で faulth が出ているのは同期していないから。 後で同期したら直る。。。のだろう。
vinum -> list 4 drives: D d0d State: up /dev/da0s1d A: 0/60000 MB (0%) D d0e State: up /dev/da0s1e A: 0/92625 MB (0%) D d1d State: up /dev/da1s1d A: 0/60000 MB (0%) D d1e State: up /dev/da1s1e A: 0/92625 MB (0%) 2 volumes: V home State: up Plexes: 2 Size: 58 GB V home2 State: up Plexes: 2 Size: 90 GB 4 plexes: P home.p0 C State: up Subdisks: 1 Size: 58 GB P home.p1 C State: faulty Subdisks: 1 Size: 58 GB P home2.p0 C State: up Subdisks: 1 Size: 90 GB P home2.p1 C State: faulty Subdisks: 1 Size: 90 GB 4 subdisks: S home.p0.s0 State: up D: d0d Size: 58 GB S home.p1.s0 State: empty D: d1d Size: 58 GB S home2.p0.s0 State: up D: d0e Size: 90 GB S home2.p1.s0 State: empty D: d1e Size: 90 GB
- 同期して確認する。
なお、reviving の作業には8時間かかる、とかいう話もあります。
vinum -> start home.p1 Reviving home.p1.s0 in the background vinum[xxx]: reviving home.p1.s0 vinum -> start home2.p1 Reviving home2.p1.s0 in the background vinum[xxx]: reviving home2.p1.s0 vinum -> list 4 drives: D d0d State: up /dev/da0s1d A: 0/60000 MB (0%) D d0e State: up /dev/da0s1e A: 0/92625 MB (0%) D d1d State: up /dev/da1s1d A: 0/60000 MB (0%) D d1e State: up /dev/da1s1e A: 0/92625 MB (0%) 2 volumes: V home State: up Plexes: 2 Size: 58 GB V home2 State: up Plexes: 2 Size: 90 GB 4 plexes: P home.p0 C State: up Subdisks: 1 Size: 58 GB P home.p1 C State: faulty Subdisks: 1 Size: 58 GB P home2.p0 C State: up Subdisks: 1 Size: 90 GB P home2.p1 C State: faulty Subdisks: 1 Size: 90 GB 4 subdisks: S home.p0.s0 State: up D: d0d Size: 58 GB S home.p1.s0 State: R 0% D: d1d Size: 58 GB S home2.p0.s0 State: up D: d0e Size: 90 GB S home2.p1.s0 State: R 0% D: d1e Size: 90 GB
- vinum サブコマンド quit で vinum を抜ける
vinum -> quit
#
- newfs で ファイルシステム構築
# newfs /dev/vinum/home
# newfs /dev/vinum/home2
- マウントしてみる
# mount /dev/vinum/home /home
# mount /dev/vinum/home2 /home2