ようこそゲストさん

無能日記

メッセージ欄

2008年5月の日記

一覧で表示する

2008/05/05(月) GW

はてブ 2008/05/05 16:02 その他poti
まだやろうと思ってたことが、何も終わってない。orz

2008/05/04(日) 1Tストレージ

はてブ 2008/05/04 26:21 R&D(storage)poti
友達からもらった不要のPCと余ったパーツでくみ上げたPCの使い道を考えていた。
スペックはというと
CPU:    pentium4 3.0G
memory: 1G
HDD:    120G SATA seagate, 500G IDE WD
NIC:    realtek 100, realtek 1000 (8169)
これで送料分の1700円しかかっていない。(てか着払いって!)

なんとなくネットワーク経由でアクセスできるストレージサーバーにすることにした。
せっかくなので、ZFSでHDDいっぱいくっつけて遊ぶことにした。
裸族のマンション x 1購入
裸族の頭 x 4購入
WDのHDD 500G x 4購入
この時点で 42000円消費。。。買いすぎた

買っちゃったので後には引けない。
すでにOSはFreeBSD currentをインストール済みだったので、設置してZFSの設定をしようとすると
kernel: (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE. CDB: 35 0 0 0 0 0 0 0 0 0 
kernel: (da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error 
kernel: (da0:umass-sim0:0:0:0): SCSI Status: Check Condition 
kernel: (da0:umass-sim0:0:0:0): ILLEGAL REQUEST asc:20,0 
kernel: (da0:umass-sim0:0:0:0): Invalid command operation code 
....
と激しく起こられる、とりあえずgoogle先生にきいてみると類似のお話を発見。
http://www.nabble.com/write-cache-on-usb-disks-and-zfs-td15924198.html
というわけで、パッチを作成
--- scsi_da.c.orig      2008-05-05 02:00:52.000000000 +0900
+++ scsi_da.c   2008-05-05 02:01:30.000000000 +0900
@@ -538,6 +538,10 @@
        {
                {T_DIRECT, SIP_MEDIA_REMOVABLE, "Netac", "OnlyDisk*",
                 "2000"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+       },
+       {
+               {T_DIRECT, SIP_MEDIA_FIXED, "WDC WD50", "*", "*"},
+               /*quirks*/ DA_Q_NO_SYNC_CACHE
        }
 };
これでカーネルをインストールして試すと、起こられなくなってとりあえずは動いてる模様。

zpoolで状態を確認
# zpool status storage
  pool: storage
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          raidz2    ONLINE       0     0     0
            da0     ONLINE       0     0     0
            da1     ONLINE       0     0     0
            da2     ONLINE       0     0     0
            da3     ONLINE       0     0     0
        spares
          ad0       AVAIL

errors: No known data errors

raid6 spare尽き相当

続いて容量を確認
# df -h
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a     989M    289M    621M    32%    /
devfs           1.0K    1.0K      0B   100%    /dev
/dev/ad4s1d     9.7G     12K    8.9G     0%    /tmp
/dev/ad4s1e      39G    3.9G     32G    11%    /usr
/dev/ad4s1f      60G     52M     55G     0%    /var
storage         913G      0B    913G     0%    /storage
storage/home    913G    128K    913G     0%    /storage/home
storage/ns      913G     22M    913G     0%    /storage/ns
大体1Tです。
でもUSB接続なので、
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <WDC WD50 00AACS-00ZUB0 1B01> Fixed Direct Access SCSI-2 device
da0: 40.000MB/s transfers
da0: 476940MB (976773168 512 byte sectors: 255H 63S/T 60801C)
読み書きは遅そう、まぁこの上で何か作業するわけでもないし、ネットワーク経由だとどうせフレッツである程度絞られるだろうからいいか。
あと、ZFS使うとkmem_sizeを512M以上にしろとか言われたので、/boot/loader.confに以下を追加
vm.kmem_size=671088640
vm.kmem_size_max=671088640
640Mにしてみた。これするとWARNINGはきえた。
なんか、メモリも足したくなってきたので1Gのメモリを2枚購入
FDC 1G DDR-400 x 2
9600円消費

そして、最終的なスペックは
CPU:    pentium4 3.0G
memory: 2G
HDD:    120G SATA seagate, 500G IDE WD, WD 500G SATA (usb converter) x 4
NIC:    realtek 100, realtek 1000 (8169)
となり、結局53300円かかってしまった。
そして、自分の作業時間 丸1日

とりあえず、DAVの設定はしてwindowsからアクセスできるようにはしたけど、
元をとるにはどうすればいいだろう。。。。

余談ですが、実は余りパーツでもう一台作れたのでつくってみた。
CPU:    semprom 2600+
memory: 1G
HDD:    40G IDE maxtor
NIC:    realtek 100, realtek 1000 (8169)
こちらは、余ったノートPCと余った無線ルータと一緒に実家に郵送した。
余りもので親孝行しつつ、いらないものは減らすソリューション。

ついでにどなたか、ATXケースが余ってたら貸してください。もう一台作れそうです。
中身を入れて返します。