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年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)