‘ネットワーク’ カテゴリーのアーカイブ

NEC Express5800/110Ge + WD5000AAKS + FreeBSD 7.1 ZFS/iSCSI/NFS(ZFSの準備)

2008年11月11日 火曜日

ここでは、Express5800/110GeのSATAに接続した6台の500GBドライブを
ZFSに用い、3-way(3重)ミラーリングもしくはダブルパリティ(RAID6相当)の領域を作ります。
3-wayミラーリングには3台、ダブルパリティには3台以上のドライブが必要です。

ZFSの利点はデバイス管理とファイルシステムが統合されている事にあります。
物理デバイスの使用領域はファイルシステムが存在する場所だけなので、
ZFSは常に把握することができ、リビルドでも必要部分のみ同期するだけで完了します。
たとえば1TBの容量があるHDDのミラーリングでも10GBしか利用していなければ、
たった10GBだけコピーすれば1TBのミラーリングのリビルドが完了します。
もちろん新規ドライブに構築する場合はデータコピーがないので瞬時に完了します。
この特徴は一般的なHW-RAIDともSW-RAIDとも違うものです。
(実際はより高度にトランザクションとかトップダウン同期とかあるらしいです)

ZFSではボリュームやファイルシステムの論理切り出しを行う為に
ストレージプールという領域を利用します。
ストレージプールにはOSが認識できるデバイスなら何でも利用できます。
デバイスの接続されたコントローラにもCPUにも依存しません。
別のマザーに交換してもハードディスクが無事ならば瞬時に移動できます。
(SATAポートが足らないと増設カードは必須でしょうが)

前置きはこれぐらいにして実際に作ってみます。

FreeBSDをインストールして初期設定をしたら、
続いてZFSを使う準備を以下のようにします。

/etc/rc.conf

zfs_enable="YES"

/boot/loader.conf

zfs_load="YES"
vfs.zfs.arc_max="256M"
vfs.zfs.vdev.cache.size="10M"
vm.kmem_size_max="512M"
vm.kmem_size="512M"

設定したらマシンを再起動します。

# shutdown -r now

以後作成したZFSがOS起動時に自動的にマウントされるようになります。

ストレージプールを作成します。
以下のコマンドは2~3秒で即座にRAID構成が完成します。

# zpool create tank mirror ad6 ad8 ad10

tank という名前のストレージプールを3-wayミラーリングで作成します。

# zpool add tank mirror ad12 ad14 ad16

容量が不足するならばいつでもストレージプールを拡張することができます。

# zpool create tank mirror ad6 ad8 ad10 mirror ad12 ad14 ad16

3-wayミラーリングのストライピング(RAID10相当)を作成します。

# zpool create tank raidz2 ad6 ad8 ad10 ad12 ad14 ad16

ストレージプールをダブルパリティで作成します。

# zpool export tank

ストレージプールをシステムの管理下から切り離します。

# zpool import tank

別の場所で作成したストレージプールを取り込みます。

# zpool destroy tank

ストレージプールを破棄します。

# zpool import -D tank

構成が破損していなければ破棄されたプールを回復します。


3-wayミラーリング+ストライピング上に4GBのファイルを作成して読込してみる。

# zpool destroy tank
# zpool create tank mirror ad6 ad8 ad10 mirror ad12 ad14 ad16
# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
tank                    928G    112K    928G     0%  ONLINE     -
# zpool status
  pool: tank
 state: ONLINE
 scrub: none requested
config:                                  

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad6     ONLINE       0     0     0
            ad8     ONLINE       0     0     0
            ad10    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad12    ONLINE       0     0     0
            ad14    ONLINE       0     0     0
            ad16    ONLINE       0     0     0                                  

errors: No known data errors
# dd if=/dev/zero of=/tank/image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 51.721632 secs (83040058 bytes/sec)
# dd of=/dev/null if=/tank/image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 11.281782 secs (380699373 bytes/sec)

容量 1TB (500GB+ミラーx2)+(500GB+ミラーx2)
書込 79.2MB/s
読込 363.0MB/s


ダブルパリティ上に4GBのファイルを作成して読込してみる。

# zpool destroy tank
# zpool create tank raidz2 ad6 ad8 ad10 ad12 ad14 ad16
# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
tank                   2.73T    248K   2.73T     0%  ONLINE     -
# zpool status
  pool: tank
 state: ONLINE
 scrub: none requested
config:                                  

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2    ONLINE       0     0     0
            ad6     ONLINE       0     0     0
            ad8     ONLINE       0     0     0
            ad10    ONLINE       0     0     0
            ad12    ONLINE       0     0     0
            ad14    ONLINE       0     0     0
            ad16    ONLINE       0     0     0                                  

errors: No known data errors
# dd if=/dev/zero of=/tank/image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 46.391234 secs (92581441 bytes/sec)
# dd of=/dev/null if=/tank/image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 13.986986 secs (307068822 bytes/sec)

容量 2TB (500GBx4+パリティx2)
書込 88.3MB/s
読込 292.8MB/s


信頼性と読込パフォーマンスか容量のどちらを取るかは運用方針と相談です。
当方はダブルパリティで容量を確保する事にしました。
読込はどう見てもGbE一本でまかなえる速度じゃないです。
(300MB/s=2700Mbps=2.7Gbpsだから)

FreeBSDのZFSはSUNのコードを移植されたものなので、
SUNのSolaris ZFS 管理ガイドが参考になります。
デバイス名の指定など多少違いますが、概念やコマンド体系はそのままです。

余談:
SW-RAIDの基本的なことですがパリティ計算をCPUが担当するので、
計算中は他の処理が停止するので可能であればDualCoreやQuadCoreなどを
載せるほうがいいかもしれない。
このハード構成はCPU交換すると電源容量が足らないかもしれない。

続く。

追記:
記載したパラメータがあまりよろしくないので修正。
その後のテストで、どうも書込みが80MB/s程度になっていたのは
CPUパワーとかキャッシュ量に問題がありそうだった。
USED 343G の時点でも、書込92MB/s、読込246MB/sを出せている。
さらにカスタムカーネルを作成してキャッシュを増量したところ、
書込104MB/s、読込263MB/sになりました。
(この値が良いかどうかは不明です)

Kernel CONFIG

include PAE
options KVA_PAGES=1024
nomakeoptions   NO_MODULES
makeoptions     MODULES_OVERRIDE="opensolaris zfs"
device          iscsi_initiator

/boot/loader.conf

vm.kmem_size_max="1536M"
vm.kmem_size="1536M"
vfs.zfs.arc_max="512M"
vfs.zfs.vdev.cache.size="20M"

ddの結果はこんな感じに。

# dd if=/dev/zero of=/tank/image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 39.355941 secs (109131359 bytes/sec)
# dd of=/dev/null if=/tank/image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 15.525784 secs (276634487 bytes/sec)

NEC Express5800/110Ge + WD5000AAKS + FreeBSD 7.1 ZFS/iSCSI/NFS(ハード組込・動作試験編)

2008年11月9日 日曜日

用意するもの:
メモリ1GB以上(できれば2GB以上)
5インチベイ2段で3台のSATAを格納できるケース1個(及びケーブル)
SATA接続の同容量のHDD6台(ZFS用)
40ピンIDE接続の4GB以上のHDD1台(起動用)
インチネジ必要分(HDD固定用)
FDDまたはUSB接続のCD/DVDドライブ

今回はFDDなしでUSB接続のCDからブートして、
FreeBSD 7.1 Beta2をインストールしました。
HDDケースにはEG-RM410ABK(SATAケーブル付属)を使いました。
IDEドライブには余っていたSeagate ST320014A
(UATA100/5400回転/20GB/2MBキャッシュ)を使いました。
※ブートできればなんでもいいのでUSBメモリなどでもいい

USBCDドライブはTEACのCD-210PUを使いました。

付属のDVD-RAMを外し、HDDケースを取り付けます。
SATA HDD3台をそこに格納します。
3.5インチシャドウベイから付属の80GB HDDを外し、
上段からSTAT HDD3台と最下段にIDE HDDを装着します。
IDE HDDにはDVD-RAMが接続されていたケーブルを使います。

HDD装着後の状態はこんな感じ

110ge3.jpg
(クリックで拡大)

メモリを4GB(2GBx2)に増設しました。
BIOSのResetConfigurationなど設定もしておく。
(マニュアル参照)
全デバイス、拡張カードを装着後に一旦起動して、
memtest86+ 2.01を使って3パス以上正しく回る事を確認しておきます。
一晩放置で10パス通過したようです。

USBデバイスを挿して起動すると、デフォルトの順序がUSBからなので、
CDから起動しますので、FreeBSDをIDEドライブにインストールします。
終ったら、再起動してUSBデバイスを抜きます。
HDDからFreeBSDを起動するとこんな感じです。

/var/run/dmesg.boot

このときのワットチェッカーは111Wでした。
このHDDケースは4cmファンx2個なので耐久性に不安が。
でもシャドウベイの方も予想以上に発熱が大きい。
何か対策がいるかもしれない。

以下を導入

/usr/ports/sysutils/smartmontools
/usr/ports/sysutils/mbmon

SATA全ドライブアクセスなしの温度(smartctl取得)は、
Temperature_Celsius がそれぞれ以下のように。
(先に取り忘れたのでdd実行後2時間以上後の測定値です)

 ad6 = 41  5インチベイケース上段
 ad8 = 42  5インチベイケース中段
ad10 = 43  5インチベイケース下段
ad12 = 39  シャドウ1
ad14 = 38  シャドウ2
ad16 = 36  シャドウ3
 ad4 = 29  シャドウ4
Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   17132    4276    99448     5376 3412504  count
All   39724    6500  2249188    12672          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow   13572 total
  1       5  34       41k    9  12k  11k  171             zfod        atkbd0 1
                                                          ozfod       atapci0 16
34.5%Sys  12.7%Intr  1.5%User  0.0%Nice 51.3%Idle        %ozfod 11576 atapci1 17
|    |    |    |    |    |    |    |    |    |    |       daefr  1995 cpu0: time
=================+++++++                                  prcfr     1 em0 irq256
                                        14 dtbuf          totfr
Namei     Name-cache   Dir-cache    100000 desvn          react
   Calls    hits   %    hits   %       621 numvn          pdwak
                                        53 frevn          pdpgs
                                                          intrn
Disks   ad4   ad6   ad8  ad10  ad12  ad14  ad16     28172 wire
KB/t   0.00 64.00 64.00 64.00 64.00 64.00 64.00     12608 act
tps       0  1145  1132  1058  1146  1146   855      8120 inact
MB/s   0.00 71.56 70.74 66.12 71.62 71.65 53.46           cache
%busy     0    87    90    87    87    88    91   3412504 free
                                                    11072 buf

↑全ドライブdd実行中の1h経過ぐらいのsystat -vmstatの画面
(dd if=/dev/zero of=/dev/ad6 bs=64k)
なぜかad16の出だしが遅い・・・。(もちろん単体指定では80MB/s出る)
DMI(MCH-ICH間)は2GB/sらしいから、
帯域が足りないってわけでもなかろう?
トータル書き込み速度400MB/sぐらいでCPU使用率が約50%です。
残りのCPU時間はソフトウェアRAIDとGbEの処理に使えると。

続く。

NEC Express5800/110Ge + WD5000AAKS + FreeBSD 7.1 ZFS/iSCSI/NFS(ハード概要編)

2008年11月6日 木曜日

RAIDを解体したりHDD載せ替えにより余ったWD5000AASKが7台になりました。
このAAKSを使ってストレージサーバをでっちあげるべく本体を探してみました。
その中で、汎用部品を使っているらしいExpress5800/110Geを購入しました。
紹介ページの言葉を借りれば、「優れたコストパフォーマンス」というのが
本製品の特徴たるものではないかと思う。

サーバ機にGUIなんていらないという人にはお勧めしておきます。
当方の環境にはCore 2 Quad Q6600というCPUが複数あるので、
このCPUのアップグレードをした時に載せ替えようかと目論んでいます。
オンボードLANがIntelなのは嬉しい。1ポートに削除されているのが残念。
さらにマザーが一般的な775ソケットのM-ATX仕様なのも重要なポイントです。
将来のマザー交換時もケースと電源は使い続けることができるだろう。
注意点としてはPCIeスロットがx8しか用意されていないので、
無加工ではx16のカード(グラフィクカード)は刺さりません。
もっともサーバにそんなものはいりませんが。

NEC Express5800/110Ge(C/1.80G(512)-80) NP8100-1447YP2Y
http://nttxstore.jp/_II_P812524391

お値段は送料込み12,800円でした。かなり安いですね。
備考にある通り、本体N8100-1447Yに80GB HDDを組込したものです。

添付品はこんな感じ
・EXPRESSBUILDER(管理ソフト等収録DVD)
・電源コード(アース付き3PIN)
・PS/2日本語キーボード
・PS/2マウス
・SATAケーブル3本
・スタートアップガイド
・保証書
・お客様登録申込書
・注意事項

本体構成はこんな感じ
・Intel 3200(MCH) + ICH9R Micro ATXマザー
・オンボード グラフィック
・オンボード ギガビットLAN x1
・CPU Celeron 430 (1.8GHz/FSB800MHz)
・MEM ECC付きDDR2-800 512M x1
・HDD SATA 80GB x1
・FDD なし
・CDD IDE DVD-RAM

詳しい本体の製品仕様はこちらから
http://www.express.nec.co.jp/pcserver/products/g/110ge/spec.html

PDFマニュアル(ユーザーズガイド)は構成・技術情報のページから
ダウンロードできますので購入前の検討にどうぞ。

さっそく接続して購入時のままで起動テストですが、
電源はAPC SmartUPS 1400RM(SU1400RMJ2U)から、
KVMはDell 71PXP(カスケード)から配線しました。
起動したときの騒音はサーバとしてはほぼないに等しい。
この静音も搭載CPUゆえなのかな。
添付のキーボード、マウスの使用感は未使用の為よくわかりません。
(KVMを使う上に私は英語キーボード派なので・・・)

110ge1.jpg 110ge2.jpg
(クリックで拡大)

マザーは「GIGABYTE GA-5YASV-RH」のOEM品らしい。
BIOSは「1.0.0037」で、最新BIOSみたいですね。
IDEポートは「JMicron JMB368 UDMA133」らしい。
SATA6ポート、IDE1ポートで合計8デバイスまで直接接続可能です。
(物理的に設置できるとか電源容量が持つとかは別問題)
USBは6ポートあります。(前面x2、背面x2、内部x2)
LANは82566DM-2で1個削除されてシングルポートになっています。
VGAはXGI Volari Z9sがのっています。
SoftwareRAIDはLSI Embedded MegaRAIDが搭載されているらしい。(出荷時無効)
PCIe x8スロットの後ろに部品があってx16を載せるのはきつい。
このマザー自体はM-ATXサイズですが、
ケース的にはATXサイズのマザーも搭載可能かも?

チップセットはMCH3200+ICH9Rです。
チップセット仕様書によると、
FSB800/1066/1333MHz,DDR2-667/800,PCIe x8らしい。
non-ECCもサポートするがECCと混成は無理らしい。

CPUはLGA775/65nm/TDP35W/1.8GHz/FSB800MHz/Cache512Kの
シングルコア Celeron 430
です。
ベースがCoreマイクロアーキテクチャなのでその性能は侮れない(はず)。

MEMは片面9チップのSAMSUNG 512MB 1Rx8 PC2-6400E-666-12-F3です。
ごく普通のUnbufferedなECCメモリです。
ちょっと怖いがUnbufferedで4枚挿しは安定するのだろうか・・・。

HDDは「Seagate ST380815AS」で、SATA接続です。
SATA2/7200回転/160GBプラッタ/80GB/8MBキャッシュと一般的なもの。
DateCode 09091(=2008/08?)らしい。
形状は1プラッタなので薄型です。

光学ドライブは「MATSHITA DVD-RAM SW-9590A」で、IDE接続です。
Super MULTI ドライブ SW-9590-CのOEM品らしいです。
12倍DVD-RAM/16倍DVD-R/8倍DVD-R(DL)/48倍CD-Rと基本機能は十分です。

電源仕様はMAX380W「+5V20A, +12V15+15A, -12V0.3A,
+3.3V25A, +5Vsb2.0A」で、コネクター数はSATAx4, 4Px6, FDDx1です。

内蔵HDDにFreeBSD 7.1 Beta2をインストールしてみました。
とくに問題もなく普通にインストールできます。
ネットワークはem0としてIntel系GbEドライバが使えます。
詳細はdmesgboot-110ge.txtpciconf-110ge.txtをどうぞ。
恒例のワットチェッカーはFreeBSD起動後安定時で58Wです。

それではHDDを取り付けてみましょう。
FreeBSDから

# shutdown -p now

で電源を落とします。

続く。

FreeBSD 7.1 + iscsi-target / Windows 2000 + Microsoft iSCSI Initiator

2008年10月11日 土曜日

※補足:
現在は ports/net/istgt というiSCSIターゲットを独自に開発しているので、
そちらも合わせて参考にしてください。

2011/1/3現在の最新版はここ:
http://shell.peach.ne.jp/aoyama/archives/1321
※補足:

仮想マシン関係が一段落したので、
今度はiSCSIについて少し確認してみました。

用意するもの:
FreeBSD と iscsi-target (portsなのでFreeBSDのバージョンは重要ではない)
FreeBSD 7.0以降または Windows と Microsoft iSCSI Initiator (2008やVistaは不要)

ターゲット側:
Portsを最新にして /usr/ports/net/iscsi-target からインストールします。
ターゲット側はFreeBSD6.2などでも作成することは可能です。
VirtualPCの中のFreeBSDなどにも作成できますが速度はお察しください。
(当方の仮想マシン環境だと10MB/s程度のようです)

# portsnap fetch update
# portinstall iscsi-target
または
# cd /usr/ports/net/iscsi-target
# make; make install

以下のような設定をします。
(例では/usr/iscsiというディレクトリに10GBのファイルを作成します)

/usr/local/etc/iscsi/targets

# extents       file                    start   length
extent0         /usr/iscsi/iscsi-target0        0       10GB                      

# target        flags   storage         netmask
target1         rw      extent0         192.168.2.0/24

/etc/rc.conf

iscsi_target_enable="YES"

設定ができたら起動します。

# /usr/local/etc/rc.d/iscsi_target start

あとは他のソフト同様にstop restartなどできます。

イニシエータ側(FreeBSD):
FreeBSDの場合は7.0以降が必要です。

標準カーネルにはiSCSIイニシエータが組み込まれていないので、
カーネルモジュールを kldload で読み込みます。
それから iscontrol を使って探索、接続します。

# kldload iscsi_initiator
# iscontrol -dt 192.168.2.99
TargetName=iqn.1994-04.org.netbsd.iscsi-target:target1
TargetAddress=192.168.2.99:3260,1

見つけたものから必要な TargetName TargetAddress の行を
/etc/iscsi.conf に書き加え、ニックネームを作成します。
最低この2個で接続できますが、オプションがいくつかあります。
詳細はマニュアル参照(man iscsi.conf)してください。
(例では myiscsi というニックネームにしています)

/etc/iscsi.conf

myiscsi {
 TargetName=iqn.1994-04.org.netbsd.iscsi-target:target1
 TargetAddress=192.168.2.99:3260,1
}

できたらそのニックネームを使って接続します。

# iscontrol -n myiscsi

接続すると /dev/da0 というデバイスが作成されます。
(そのシステムにda0が存在すればda1という風に番号が増えます)
何ができたかは以下のようなコマンドで確認できるでしょう。

# tail /var/log/messages

作成できたら内蔵のハードディスクと同じですから、
スライスを作成してnewfsを実行します。
(よくわからない人は sysinstall を起動して、
Configureの中にあるFdiskとLabelを実行します)
作成したら、適当な位置にマウントします。

# mkdir /iscsi
# mount /dev/da0s1d /iscsi

切断する場合は、まず umount コマンドを実行します。

# umount /iscsi

その後に iscontrol にHUPシグナルを送ります。
kill コマンドでプロセスIDを指定するか killall コマンドを使います。

# ps axww | grep myiscsi
 1064  ??  Is     0:00.00 iscontrol -n myiscsi
 1109  p0  RL+    0:00.00 grep myiscsi
# kill -HUP 1064
または
# killall -HUP iscontrol

起動と同時にiSCSIを利用したい場合は、
この手順をスクリプトに書く必要があります。
ちょっと面倒ですが・・・。
私は実験用にこんな感じのスクリプトを書きました。

実験用スクリプトファイル

/etc/rc.d/iscsi として置いて chown 0:0 および chmod 555 とする。
/etc/rc.conf に iscsi_enable=”YES” を追加する。

このスクリプトの前提としてiSCSIターゲットは一個しか使わない。
/etc/iscsi.fstab というファイルを /etc/fstab と同じ書式で作成しておく。
ちょっと仕組みがあれなのであくまで参考ということで。

イニシエータ側(Windows):
Server 2008からは標準搭載ですが、
2003やXP、2000では追加のソフトが必要です。
英語版のものがMSからダウンロードできます。
2000の場合は32ビット版の Initiator-2.07-build3640-x86fre.exe を
ダウンロードしてインストールします。

Microsoft iSCSI Initiator はこちらから。
http://www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang=en

Microsoft iSCSI Initiator を起動して、
Discovery タブ内の TargetPortals にある Addボタン を押して、
iscsi-target を入れた FreeBSD のIPか名前を入れます。
Port番号は標準の3260のままです。
追加するとTagets タブにiSCSIターゲットが見えるようになります。
iqn.から始まる長い名前がターゲット名です。

iscsi1.jpg iscsi0.jpg
(クリックで拡大します)

設定したiSCSIターゲットに Log On で接続します。
切断する場合は Details でセッションにチェックをいれて、Log off を押します。

接続するとハードディスクとして作成されるので、
ディスクの管理からパーティション作成とフォーマットを行います。
サーバの場合はダイナミックディスクにしてRAID構成のディスクとしても使えます。
ここでRAIDにする理由があるかはわかりませんが・・・。

HDBENCHで見るとこんな感じでした。
どっちも書き込みがあまり性能よくない。
別の2GHzのWindowsからX2の方に試すと、
Read 60MB/sでほぼ変わらず、Write 30MB/s程度は出るようです。
やはりWindows側の性能が低いとCPU使い切ってどうにもならない。
それでも850MHzという低速マシンでもギガビットのネットワークカードがあれば、
いろいろ試せそうです。

iscsi2.jpg
(クリックで拡大します)

利用した機材の主な仕様は以下の通り。

FreeBSD 7.1 PRERELEASE + iscsi-target (netbsd-iscsi-20080207)
P3-1GHz (133×7.5) / メモリ 768MB / VIA Apollo Pro 133A
HighPoint HPT370 UDMA100 Card
Hitachi HDP725050GLAT80 500GB 7200回転 250GB/プラッタ
    最大転送速度 1138Mb/s (142.2MB/s)
Intel PRO/1000 T Server Adapter (82543)

FreeBSD 7.1 PRERELEASE + iscsi-target (netbsd-iscsi-20080207)
Athlon 64 X2 5200+(2.7GHz) / メモリ 4GB / AMD 690G
オンボードSATA (3Gbps)
Hitachi HDT725050VLA360 500GB 7200回転 167GB/プラッタ
    最大転送速度 998Mb/s (124.8MB/s)
Intel PRO/1000 PT Desktop Adapter (82572)

Windows 2000 SP4 + Microsoft iSCSI Initiator 2.07
P3-850MHz (100×8.5) / メモリ 384MB / Intel 440BX
オンボードIDE (UDMA33)
Western Digital WD450AA 45GB 5400回転 15GB/プラッタ
    最大転送速度 300Mb/s (37.5MB/s)
Planex GN-1200TW2 (Realtek 8169SC)

追記:
P3ではGbEの性能を生かせないので高速なマシンでテストしました。
ターゲットはX2のみ。ソフトはCrystalDiskMark2.2を利用しました。

Windows Server 2008 64bit版
Core 2 Quad Q6600 (2.4GHz) / メモリ8GB / Intel G33
オンボードSATA (3Gbps)
Hitachi HDP725050GLA360 500GB 7200回転 250GB/プラッタ
    最大転送速度 1138Mb/s (142.2MB/s)
オンボードLAN (Realtek 8111B)

iscsi3.jpg 
(クリックで拡大)

さて、上の結果を見てやっと理解できました。
ファイルベースのベンチマークは意味がない(汗)
ターゲットとして10GBのディスクを作成したけれども、
メモリが4GBあるので遅延キャッシュとして利用されている・・・。
よって少なくとも4GB以上のファイルを読み書き対象にしないと
物理ディスクアクセスがない状態だったと。
(書き込みの場合はイニシエータ側の8GB以上?)
いままでの結果はネットワークとキャッシュの往復時間だったはず。
そこで、物理読み書きするソフトがないかと探してみたら、
HD Tuneが読み込みをするようなので試してみた。

iscsi4.jpg
(クリックで拡大)

これを見るとFreeBSD上でキャッシュに読み込み中でも40MB/sを出すようです。
70MB/sを出している部分は言うまでもなく読み込みキャッシュに乗っている部分です。

NetBSD/Xen+FreeBSD/DomUを作りたい

2008年1月30日 水曜日

このところタイトルの環境を作りたくてごにょごにょしているのだけど、うまくいかない^^;

しばらく調査するかな。HVMでFreeBSDのローダーが動かないのはどうしようもない。

そもそもDomUのディスクがNFSの領域にあるファイルの段階で怪しいかもしれないw

shell の apache を 2.2.8にアップしてみた

2008年1月26日 土曜日

特に変更箇所はないので、

# portupgrade www/apache22

だけでした。

net-snmpとかもあがっているので、

# portupgrade -a

これでまとめて更新する予定です。(現在VirtualPCで問題ないか検証中)

ちなみに、200Mhzの化石マシン(ぉぃのbuildworldはC2Q6600のVirtualPC(256MB割り当て)で実行しています。(P3-1Ghzの実機より早い)

LDAPサーバが落ちると

2008年1月26日 土曜日

rootもログインに時間かかるのね^^;

/etc/nsswitch.conf:
group_compat: ldap

/etc/group:
+:*::

この状態なので、グループチェック中にハングしてるみたいだw

groupファイルを見にいかなきゃいいのだけど。

テスト中はこれを入れておかないと危険だ。

/usr/local/etc/nss_ldap.conf:
bind_policy soft

フレッツスクウェアv6と一緒に利用したいが。。。

2008年1月12日 土曜日

Feel6とフレッツのIPv6を広告すると、クライアントには両方のIPv6がついてしまう。

しかし、デフォルトルートがフレッツだと外部にいけない。Feel6だとフレッツに行けない。

あたりまえと言えばあたりまえなのだけど、非常に困る。どうしたらいいのだろうか。

インターネットにつながらない?

2008年1月9日 水曜日

マシンを見てると、DHCPでIPが取れてない!?しかたないので、手動でIPを割り当てて様子を見て見たが、ping がまったく反応ない(汗)

壁に埋め込んであるLANケーブルが破損したのかと思った。普通はそう思うよね?なので、HUBに直接LANケーブルをまわして試したがこれもダメ。LinkUPはしているがそこから反応がない。ポートを変更しても症状はかわらない。

ちょこっと考えてみる。現状ではルータ → FE-HUB → GbE-HUBFE-HUB → 壁の埋め込みLANケーブル → クライアントPC になっている。この中で GbE-HUB には ローカルDNS が接続されて動いているので、ここまでは問題ない。当然、このHUBまでケーブルを回せば問題ない。

おかしいのは GbE-HUB ⇔ FE-HUB ⇔ 壁に行くLANケーブル ⇔ 埋め込みLANケーブル ⇔ 壁からPCに行くLANケーブル ⇔ PC のルートになる。

GbE-HUBの各ポートを確認したが問題なかった。 そこでGbE⇔FE-HUBのケーブルを交換したが改善しなかった。さらにFE-HUBを切り離して、FE-HUBの各ポート間のみで通信できるか確認する。反応ない・・・。なんてこったい。FE-HUB が故障してる。

とりあえず、予備機の同型HUBに交換したら動いた。なんだかすごい遠回りをしてしまった。LinkUPしているから大丈夫と思ったのが敗因か。

あけましておめでとうございます

2008年1月1日 火曜日

放置するのもあれかと思うのでちょこっとは書いていくようにします。サーバの再構築作業が数台残っているのでしばらくは忙しくなりそうです。

IPv6はOCNIPv6RTX1100のLAN3側に、Feel6をFreeBSDルータ側に設定しています。WindowsはFreeBSDからRAを受けています。

今後の予定はXen,iSCSI,ZFS,IPv6あたりをメインにしていきたいな。予定は未定ですが。