hns - 日記自動生成システム - Version 2.19.9

先月 2008年04月 来月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2008年04月23日(水) 旧暦 [n年日記] [更新:"2008/04/28 12:39:58"]

#1 [NetBSD] RAID5 を設定

二機種に設定した。一つは ML115 の上の NetBSD/amd64 4.0、もう一度は TeraStation 上 の NetBSD/sandpoint 4.0。

ML115 NetBSD/amd64 4.0 + WD1600AAJS x 4:

起動は MBR -> secondary loader (/boot) -> /netbsd と進む。MBR も secondary loader も RAID は知らなくて、/netbsd のカーネルが起動 して初めて RAID が読出せるようになる。そこで /netbsd までは RAID に置いても読めない (と思う)。 sysinst は raidctl は使えるものの sysinst 内での配置には操作の自由度に制限が あるので、今回は次の方法を採った。
  • sysinst が起動したら、次のような配置、つまり 全てを / に書く、/ はなるべく小さくしておく。
    区画大きさ用途
    a400M/
    b1Gswap
    e6G(未使用)
    f140G(未使用)
    a は起動用。しかし sysinst 設置で (Full を選んでも) /, /usr, /var が全て入る大きさにはしておく。 実際には(未使用)の部分は空けておくだけで disklabel は書かない。 次のものは、RAID も設定が終った最終形で参考まで:
    #        size    offset     fstype [fsize bsize cpg/sgs]
     a:    819504        63     4.2BSD   1024  8192     0  # (Cyl.      0*-    813*)
     b:   2048256    819567       swap                     # (Cyl.    813*-   2845*)
     c: 312581745        63     unused      0     0        # (Cyl.      0*- 310100)
     d: 312581808         0     unused      0     0        # (Cyl.      0 - 310100)
     e:  12096000   2867823     RAID                       # (Cyl.   2845*-  14845*)
     f: 297617985  14963823     RAID                       # (Cyl.  14845*- 310100)
    
  • sysinst が終ったら、再起動してもいいし、再起動する前に Memory disk 環境のままでもいい はずだけれど、 raidctl を使って raid を構成する。raid の構成は
    1. disklabel を他の 3 台の disk に写す
      この場合 dd を使う
      dd if=/dev/rwd0d of=/dev/rwd1d count=83
      
      か disklabel -e /dev/wd1d などを使う。Memory disk 環境だと vi が使えず ed を使うことになるが必要部分を別に書出しておき r でそれを読む等すれば、それほど 困難でもないと思う。
      disklabel wd0 > /tmp/r
      export EDITOR=ed
      disklabel -e wd1
      
      のようにしたのだったと思う
    2. disklabel -e wd1 などを使い、 raid にする区画は fstype の 4.2BSD の部分を RAID と書直す
    3. 次のようにして raid の構成を指定する
      raidctl -C /etc/raid/raid-e.conf raid0
      raidctl -C /etc/raid/raid-f.conf raid1
      
      raid-e.conf | raid-f.conf
    4. 次のようにして連番を振っておく
      raidctl -I 2008042300 raid0
      raidctl -I 2008042301 raid1
      
    5. 次のようにして parity を設定する
      raidctl -iv raid0
      raidctl -iv raid1
      
  • newfs しておく
    newfs /dev/raid0a
    newfs /dev/raid1a
    
    この raid0a の方を 一時的に /r0 で見えるようにしておく ( /r0 の名前は何でもいい)
  • dump と restore を使って / を 全て /r0 に写す
    cd /r0
    dump 0f - /dev/wd0a | restore rf -
    
    /etc/fstab を変更する ( / と /r0 を交換)
    # NetBSD /etc/fstab
    # See /usr/share/examples/fstab/ for more examples.
    /dev/raid0a             /       ffs     rw               1 1
    /dev/wd0b               none    swap    sw               0 0
    /dev/wd1b               none    swap    sw               0 0
    /dev/wd2b               none    swap    sw               0 0
    /dev/wd3b               none    swap    sw               0 0
    kernfs          /kern   kernfs  rw
    procfs          /proc   procfs  rw,noauto
    /dev/wd0a       /r0     ffs     rw 1 3
    /dev/raid1a     /export ffs     rw 1 4
    tmpfs           /tmp    tmpfs   rw 0 0
    
起動は /dev/wd0a 側の /boot と /netbsd を使うはず。 それでもし kernel を入替える時には /r0 側にも書く。
ttyp9:makoto@u 14:25:18/080427(~)> ls -lt {,/r0}/netbsd*
-rwxr-xr-x  3 root  wheel  11521042 Apr 24 20:24 /netbsd*
-rwxr-xr-x  3 root  wheel  11521042 Apr 24 20:24 /netbsd.1*
-rwxr-xr-x  3 root  wheel  11521042 Apr 24 20:24 /netbsd.MP-pckbc-raid*
-rwxr-xr-x  3 root  wheel  11521042 Apr 24 20:24 /r0/netbsd*
-rwxr-xr-x  3 root  wheel  11521042 Apr 24 20:24 /r0/netbsd.1*
-rwxr-xr-x  3 root  wheel  11521042 Apr 24 20:24 /r0/netbsd.MP-pckbc-raid*
-rwxr-xr-x  1 root  wheel  11526655 Dec 16 15:34 /netbsd.0*
-rwxr-xr-x  1 root  wheel  11526655 Dec 16 15:34 /r0/netbsd.0*
ttyp9:makoto@u 14:25:23/080427(~)> 

TeraStation と WD1600JS x 4 の場合:

TeraStation の場合には、幸いに /netbsd まで別の区画から読むので、いきなり / を RAID に出来る。 僕が用意している netbsd-KUROBOX_MD.bin には raidctl が入っているので、一度起動して、その中で RAID の設定を行ない、 その後に sysinst の中で disk として raid0 を選べば、そちらに設置が可能。 (その時には swap 区画は作らないで、後から設定)。 ただ raid1 の方の時に
raidctl -iv raid1
は 5-6 時間かかる。現在の disklabel:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:  14336784   1397653       RAID                     # (Cyl.   1386*-  15609*)
 b:    273097    771128       swap                     # (Cyl.    765*-   1035*)
 c: 311179052   1397653     unused      0     0        # (Cyl.   1386*- 310095*)
 d: 312581808         0     unused      0     0        # (Cyl.      0 - 310100)
 e:    771057        63 Linux Ext2      0     0        # (Cyl.      0*-    764)
 f:   1049328  15734437       swap                     # (Cyl.  15609*-  16650*)
 g:    353428   1044225 Linux Ext2      0     0        # (Cyl.   1035*-   1386*)
 h: 295792940  16783765       RAID                     # (Cyl.  16650*- 310095*)
mount の様子
tera2# df -m
Filesystem  1M-blocks      Used     Avail Capacity  Mounted on
/dev/raid0a       969        19       902     2%    /
/dev/raid0f     12670         3     12033     0%    /var
/dev/raid0e      6891       309      6237     4%    /usr
kernfs              0         0         0   100%    /kern
/dev/raid1d    426528         0    405201     0%    /export
sysctl -a | grep vfs.generic すると tmpfs が入っていない ..
vfs.generic.fstypes = mfs ffs ext2fs nfs procfs null kernfs fdesc union msdos cd9660
でも、今回はメモリが少ない (128M) から、設定なしでいいかな。



最近の日記
2024年05月08日
comparison on ./buildsh tools
2024年05月06日
py-setuptools (python 3.11.9)
make release took 1 hours and 10 min
qemu invocation for 10.99.10
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
2024年04月29日
dkim
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)