TeraStation
    自分の日記など
    その他の URL
設置
  作業方針など
    Linux 設定
      新品の場合
      disk を入替えた場合
    Root で login
    区画
    sysinst
    multi user で起動
      fdisk
    課題
  実際の設置作業
    作業全体の流れ
    詳細
  fdisk
    再起動
    mkfs.xfs
      RAID5 解除前
  sysinst
    fdisk
    disklabel
    fetch
  raid
    disklabel を写す
OS設置後
  RAID
      raid.conf
    区画
  raid 5
    raid0.conf
  raidctl
    用語
    操作
  swap34
    34 入替
  disk 入替
  mfdisk -c
  危険
作業例
  20080302
    追加 patch
    NetBSD 設置後
    boot selector
  20120302
    NetBSD 以前
      卓をつなぐ
      nasupdate
      admin で login
      ts.cgi を変更
      ts.cgi を実行
      sudo -s を確認
      RAID の解除
      一時ネットワーク
    USB メモリを用意
    RAID5 設定
      fdisk
      raid 設定
    sysinst
    pkgsrc
    raid
    problem
RAID HowTO
  20080428
    sysinst(fdisk)
    sysinst(disklabel)
    raid5
    sysinst (raid)
    multi-user
    raidctl -iv
  disk 障害
  boot selector

hardware | kuro-box | NetBSD/kuro-box | software

TeraStation

Last Update: "2009/12/30 21:50:37 makoto"

RAID HowTO

TeraStation で NetBSD を動かす以上、RAID は必ず設定したくなるも のだと思います。ここでは四台の disk を使って RAID5 を組みます。

20080428

ここの NetBSD/TeraStation の 情報は、似たような内容を何回か繰返し書いています。これは 設置方法や、Web 上での表現をいくつか試みている結果です。以下は 2008/04/23 の日記の作業の 後に、もう一度 TS-2.0TGL に設置しながらまとめた内容です。
以下の説明には、 sysinst の実行が何回か出て来て混乱があるかと思いますが、 一回目は fdisk (だけ)を実行 二回目は disklabel (だけ)を実行 するためで、最後が 本来の NetBSD の設置です。
  1. (linux) 側での準備 (NAS として動作するように設定 + ちょっと細工)
  2. 切替機構
    (以下の内容は boot selectorにも説明してあります)
    USB メモリ が挿入してあると NetBSD Memory Disk 環境に切替わるようにしておきます
    • (linux) bootselector を準備
    • (linux) USB memory に nbloader, netbsd-KUROBOX_MD.bin を準備
      ( mkdir /boot; cd /boot
      wget http://www.ki.nu/~makoto/kuro-box/netbsd-KUROBOX_MD.bin)
      
    上記は USB メモリに USB-Memory-Tera-4.0.tar.gz を展開 すれば出来るようにしました。そのうち一つだけは Linux 側に写します。 (はじめからこれが用意してあれば、USB メモリを挿すだけだけのはずです)
  3. 3 番目と 4 番目の区画の大きさを 入替えます
    それには次のようにします。
    • NetBSD sysinst を起動
    • fdisk で wd1 の 区画を変更
      sysinst の中 または 手動 : この時に 3 番目の開始位置を変更しないように注意します
    • (linux) (もし bootselector を設定してあるなら USB メモリを外しておきます)
      再起動 し linux 側で mkfs.xfs wd1 を行ないます
      (上記二つの段階は wd2, wd3, wd0 の全てに行なうので、用心深く やるなら、何回か NetBSD -> Linux と再起動を行なうことになります。確めては いませんが、wd2, wd3, wd0 の全てを同時に変更しても大丈夫なはずです) 例えば wd0 は変更しないで wd1, wd2, wd3 を同時に変更した時には、次のようになります。 つまり、 (disk1 = wd0) が大きく それ以外の disk2 disk3 disk4 (それぞれ wd1 wd2 wd3) が小さく なっています。
      root@TS-TGL2B6:~# df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/shm 15360 100 15260 1% /mnt/ram /dev/ram1 14521 178 13593 2% /tmp /dev/ts_disk1_3 487489872 1888 487487984 1% /mnt/disk1 /dev/ts_disk2_3 236172 144 236028 1% /mnt/disk2 /dev/ts_disk3_3 236172 144 236028 1% /mnt/disk3 /dev/ts_disk4_3 236172 144 236028 1% /mnt/disk4
      この後、NetBSD 側で fdisk -u /dev/wd0 をして区画を変更して、 Linux を起動するとべルが鳴り、次のようになります。
      root@TS-TGL2B6:~# df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/shm 15360 100 15260 1% /mnt/ram /dev/ram1 14521 183 13588 2% /tmp /dev/ts_disk2_3 236172 144 236028 1% /mnt/disk2 /dev/ts_disk3_3 236172 144 236028 1% /mnt/disk3 /dev/ts_disk4_3 236172 144 236028 1% /mnt/disk4
      ここで
      # sbin/mkfs.xfs -f /dev/sda3
      をすれば区画関係の作業は終わりです。ここで再起動します。

      全ての作業が終って Linux 側で見ると、次のようになります。(TS-2.0TGL の場合) つまり、Linux の領域 が小さくなっていれば良いのです。

      admin@TS-TGL1C4:~$ df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/shm 15360 116 15244 1% /mnt/ram /dev/ram1 14521 179 13592 2% /tmp /dev/ts_disk1_3 236172 144 236028 1% /mnt/disk1 /dev/ts_disk2_3 236172 144 236028 1% /mnt/disk2 /dev/ts_disk3_3 236172 144 236028 1% /mnt/disk3 /dev/ts_disk4_3 236172 144 236028 1% /mnt/disk4 admin@TS-TGL1C4:~$
  4. NetBSD memory disk 環境上で raid0 の設定
    ここから先では disklabel が二通りあります。RAID を設定するために wd0,wd1,wd2,wd3 に書くものと、 raid0 を構成した後に、その中に書くものです。
    • raid 用の disklabel として wd0-wd3 のそれぞれを 7G + 0.5G + 残りの三つに分けます。
      大きさ用途適要
      7G raid0 7G x 3 = 20G を / /usr /var /tmp 等に割当
      0.5G swap 0.5G x 4 = 合計 2G
      残り raid1 File server 用
      それには、手動で disklabel -e wd0 とやってもいいのですが vi が使えない時には、 ちょっとつらいので、 sysinst を使って disklabel する のも一つの方法です。 他の例
    • いづれにしても、wd0 に disklabel を書いた後に wd1, wd2, wd3 に写しておきます。 例えば、次のようにすると写せます。
      disklabel wd0 
       .. (omitted) ..
      16 partitions:
      #        size    offset     fstype [fsize bsize cpg/sgs]
       a:   2097648   1429783       RAID                     # (Cyl.   1418*-   3499*)
       b:    273097    771128       swap                     # (Cyl.    765*-   1035*)
       c: 486962282   1429783     unused      0     0        # (Cyl.   1418*- 484515*)
       d: 488397168         0     unused      0     0        # (Cyl.      0 - 484520)
       e:    771057        63 Linux Ext2      0     0        # (Cyl.      0*-    764)
       f:   1049328   3527431       swap                     # (Cyl.   3499*-   4540*)
       g:    385558   1044225 Linux Ext2      0     0        # (Cyl.   1035*-   1418*)
       h: 483815306   4576759       RAID                     # (Cyl.   4540*- 484515*)
      # disklabel wd0 > /tmp/label 
      # disklabel -R wd1  /tmp/label   
      # disklabel -R wd2  /tmp/label
      wd2: no disk label
      # disklabel -R wd3  /tmp/label
      wd3: no disk label
      
    • この後に raid0 の設定 (RAID 5 の場合) をします
    上の例では raid0 と raid1 を別に分けています。しかし そのようにせずに、単にraid0 を一つ設定して、その中で分ける方法もあります。 今回は上のように raid を設定する前から分けてみます。 その方が、multi user が動き出した後で、時間のかかる raid1 の方のパリティ計算を行なうことが出来る、という利点があります。
  5. sysinst を使って raid0 に設置
    前項で raid0 を用意しましたので、sysinst と入力して 最後にもう一度 NetBSD sysinst を起動し、 raid0 に設置 します。この時には、raid0 disk を次のように分けてもいいですし
    /dev/raid0a   1032750     20706    960408     2%    /
    /dev/raid0f  13080654      4110  12422512     0%    /var
    /dev/raid0e   7056622    364336   6339456     5%    /usr
    
    raid0a に / とするだけでもいいと思います。swap は設定しないでおきます。
    その後に reboot します。 もし万全であれば、ここで USB memory の起動を切替えておくことも考えられます。あるいは次のようにする のも一つの方法です
  6. (linux) USB memory に、 netbsd-KUROBOX.bin を準備
  7. /sbin/reboot で今度は NetBSD multi user が起動
    /etc/fstab を編集し、次の四行を加えておきます。
    /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
    
  8. 続いて raid1 側を設定します
Last Update: Sat, 07 Jun 2014 22:16:17 GMT 1.66 2008/03/08