2011年5月29日日曜日

AtomD525とRocketRAID640、FreeBSD8.2でZFSなNAS構築その2

AtomD525とRocketRAID640、FreeBSD8.2でZFSなNAS構築その1の続き。
OSやSambaとかインストールするので、その時の備忘録など。

(1)FreeBSD8.2のインストールと設定
64bit版をダンロードしてインストーラに従ってSSDにインストール。
他のハードウェアも特に問題なく認識していた。
  1. IPアドレスの固定
    /etc/rc.conf
    defaultrouter="192.168.100.1"
    hostname="augearsculs"
    ifconfig_re0="inet 192.168.100.189 netmask 255.255.255.0"

    下記を設定しないと名前解決できないので設定する必要がある。
    /etc/resolv.conf
    nameserver 192.168.100.1

  2. hostsファイルへホスト名の追加
    rc.confのhostnameへ設定したホスト名を127.0.0.1の後に、
    localhostの後に半角スペースと伴に追加する。
    /etc/hosts
    127.0.0.1 localhost augearsculs
(2)RocketRAID640のドライバインストール
FreeBSD8のドライバがあるのでPDFのイストールガイドに沿ってインストール。
ドライバがロードされるとSCSIデバイスとして認識される。

(3)ZFS
SCSIデバイスとして認識されているda0をzfs createするだけで
FreeBSDは自動でマウントしてくれたりしたので、
他に設定する必要は特にない。

(4)Samba
Portsからインストールする。場所は下記。
/usr/ports/net/samba35

smb.confは以下のような感じ。
log levelとsyslogはパフォーマンスに影響あるのでデフォルトから変更しておく。
/usr/local/etc/smb.conf
[global]
 dos charset = CP932
 display charset = UTF-8
 server string = AUGEARSCULS
 security = SHARE
 log level = 1
 syslog = 0
 log file = /var/log/samba/log.%m
 max log size = 50
 load printers = No
 dns proxy = No

[homes]
 comment = Home Directories
 read only = No
 browseable = No

[printers]
 comment = All Printers
 path = /var/spool/samba
 printable = Yes
 browseable = No

[regza]
 path = /zpool/share/regza
 read only = No
 create mask = 0777
 directory mask = 0777
 guest ok = Yes

[tmp]
 path = /zpool/share/tmp
 read only = No
 create mask = 0777
 directory mask = 0777
 guest ok = Yes
東芝のREGZA Z3500からSambaで設定した共有ディレクトリに接続した様子。



ついでにパフォーマンスも計測。
以下は、WindowsXPのネットワークドライブとして接続して実行した
Crystal Disk Markの結果。


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    22.189 MB/s
          Sequential Write :    26.165 MB/s
         Random Read 512KB :    22.679 MB/s
        Random Write 512KB :    28.072 MB/s
    Random Read 4KB (QD=1) :     6.525 MB/s [  1593.1 IOPS]
   Random Write 4KB (QD=1) :     3.158 MB/s [   771.0 IOPS]
   Random Read 4KB (QD=32) :    15.733 MB/s [  3841.0 IOPS]
  Random Write 4KB (QD=32) :     3.254 MB/s [   794.4 IOPS]

  Test : 1000 MB [Z: 13.3% (364.3/2740.5 GB)] (x5)
  Date : 2011/05/26 22:40:44
    OS : Windows XP Professional SP3 [5.1 Build 2600] (x86)
いまいちなのでパフォーマンスチューニングしてみる。
ZFSやSambaはデフォルトで最適化されているらしいので、
特に何も設定値は弄らない。
1番効果があるのはネットワーク絡みらしい。
そこで、下記のコマンドで変更対象の値をチェック。
sysctl net.inet.tcp

FreeBSD8.2では以下の値になっていた。
net.inet.tcp.sendbuf_max: 262144
net.inet.tcp.sendbuf_inc: 8192
net.inet.tcp.recvbuf_max: 262144
net.inet.tcp.recvbuf_inc: 16384

そこで、下記のファイルに以下の値を設定。
とりあえず、基の設定値から2倍にしてみた。
/etc/sysctl.conf

net.inet.tcp.sendbuf_max=524288
net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.recvbuf_max=524288
net.inet.tcp.recvbuf_inc=32788

調整の余地はまだありそうな気はしているものの、
面倒なのでこれで運用してみます。


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    32.891 MB/s
          Sequential Write :    35.994 MB/s
         Random Read 512KB :    34.595 MB/s
        Random Write 512KB :    39.228 MB/s
    Random Read 4KB (QD=1) :     9.122 MB/s [  2227.0 IOPS]
   Random Write 4KB (QD=1) :     4.648 MB/s [  1134.8 IOPS]
   Random Read 4KB (QD=32) :    22.297 MB/s [  5443.7 IOPS]
  Random Write 4KB (QD=32) :     3.553 MB/s [   867.4 IOPS]

  Test : 1000 MB [Z: 15.7% (430.6/2740.5 GB)] (x5)
  Date : 2011/05/28 9:10:00
    OS : Windows XP Professional SP3 [5.1 Build 2600] (x86)

2011年6月12日追記
HDDの容量が増えて既に同じ状況下ではないものの、試しに値を3倍にしたら全体的にパフォーマンスが劣化したので、デフォルト値の2倍で運用することにした。

0 件のコメント:

コメントを投稿