きょうはこんなのばかり:
installboot -fv /dev/rwd0a bootxx_ffsv2
....
----------------------
NetBSD MBR boot
NetBSD/x86 ffsv1 Primary Bootstrap
Boot failed (errno 2): Can't open /boot
----------------------
Software RAID
Primary boot に bootxx_ffsv2 と指定しても、上記の表示はいつも ffsv1
単なる間違いなのか、何か良くないことが起っているのか。
/dev/wd0a には
root
netbsd
RAID0-netbsd
が置いてあります。newfs -O 2 で format してあるはず。
man newfs より:
-O filesystem-format
Select the filesystem-format
0 4.3BSD; This option is primarily used to build
root file systems that can be understood by older
boot ROMs.
1 FFSv1; normal fast-filesystem (default).
2 FFSv2; enhanced fast-filesystem (suited for more
than 1 Terabyte capacity, access control lists).
To create an LFS filesystem see newfs_lfs(8). To create a
Linux Ext2 filesystem see newfs_ext2fs(8).
そうか、ffsv1 に代えて見よう。
なんと、それだった。無事起動。
@
まとめ HP MicroServer で Software RAID5:
HP MicroServer
に、四台の disk を入れて、Software RAID server を作った
- 消費電力は 60W 前後 (10W x 4 disk + 20W くらいの感じ)
- NetBSD/amd64 6.1.3 を Network で起動
- まず最初に disklabel -i wd0a と入力してから、手動で disklabel を書く
6 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 2064321 63 4.2BSD 0 0 0 # (Cyl. 0*- 2047)
c: 976773105 63 unused 0 0 # (Cyl. 0*- 969020)
d: 976773168 0 unused 0 0 # (Cyl. 0 - 969020)
e: 20643840 2064384 RAID # (Cyl. 2048 - 22527)
f: 954064944 22708224 RAID # (Cyl. 22528 - 969020)
a: は起動用、e: と f: がそれぞれ raid0, raid1 用(RAID の方式でなくて単に番号)。
- それを次のようにして他の三台に写す
disklabel wd0a > /tmp/R
disklabel -R wd1a /tmp/R
disklabel -R wd2a /tmp/R
disklabel -R wd3a /tmp/R
- TeraStation
なども見ながら、
次のような /etc/raid/raid0.conf を用意する。書くのはどこでも良いが、
a 区画を newfs して、それに書いておくのも一つの方法
(# で始まる行や、空行はなくても良い)
START array
# numRow numCol numSpare
1 4 0
START disks
/dev/wd0e
/dev/wd1e
/dev/wd2e
/dev/wd3e
#START spare
#/dev/wd3e
START layout
# sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level_1
128 1 1 5
START queue
fifo 100
- raidctl を使って RAID5 を作る
raidctl -C /etc/raid/raid0.conf raid0
raidctl -I 2014033100 raid0
raidctl -iv raid0
raidctl -A yes raid0
- sysinst と入力して、NetBSD を raid0 に設置
- kernel は (別の機械で) 次のような (RAID0A)を用意して
include "arch/amd64/conf/GENERIC"
# Kernel root file system and dump configuration.
no config netbsd
config netbsd root on raid0a type ?
./build.sh -j 2 -m amd64 tools
./build.sh -j 2 -m amd64 kernel=RAID0A
で作る (-m amd64 は amd64 上なら必要ない)
上記の /dev/wd0a に、上で作った kernel と、設置済の /boot を写す
/boot
/netbsd
この日の日記の最初に書いた installboot を実行
cd /usr/mdec
installboot -fv /dev/rwd0a bootxx_ffsv1
再起動して、
- NetBSD の設定
- 残っている RAID5 の設定 (方法は上記と同じだが、大きいので -iv のところで時間がかかる。 一時間半くらい)
をする、必要な用途別 program は、例えば次のようにして追加する
を見て、次のように入力して、pkgin と sudo を追加
env PKG_PATH=ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/6.0_2013Q4/All \
/usr/sbin/pkg_add pkgin;
env PKG_PATH=ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/6.0_2013Q4/All \
/usr/sbin/pkg_add sudo
この後は、次のようにして
- /usr/pkg/etc/sudoers を変更
# diff -u sudoers.orig sudoers
--- sudoers.orig 2014-04-01 23:26:26.000000000 +0900
+++ sudoers 2014-04-01 23:26:59.000000000 +0900
@@ -72,7 +72,7 @@
root ALL=(ALL) ALL
## Uncomment to allow members of group wheel to execute any command
-# %wheel ALL=(ALL) ALL
+%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
#
- /etc/group の wheel に id を追加
その後に次のような方法で pkgin で(何でも)追加
sudo pkgin install zsh