[FreeBSD-users-jp 92815] iSCSI 通 信時の 30 秒ペナルティ

2010-02-17 Thread Hideki SAKAMOTO
坂元と申します。

HPのサーバにInfortrend社のiSCSI RAIDを接続して利用しようとしているのですが、
謎の30秒ペナルティが発生して困っております。

FreeBSD:
 ハード: HP DL320 G5p
 OSバージョン: 7.2-RELEASE、7.2+*1のパッチ、7_STABLE
  *1: http://lists.freebsd.org/pipermail/freebsd-scsi/2008-February/003387.html
RAID: Infortrend EonStor S12E-G1133-2, 1TB SATA*12 RAID6/5

これをクロスケーブルで直接接続しています。

症状:大量のデータを書き込もうとすると、30秒間のフリーズが頻発する

最初に問題に気付いたのは、ddを使って1MBから10倍ずつ書き込むサイズを増やしていく
テストをしていた時でした。下の試行では、100MBまではそれなりの値が出ているのです
が、1GB連続して書き込もうとすると、1MBpsにがくんと落ちてしまっています。

# dd if=/dev/zero of=/raid/t.img bs=1024 count=1000
1000+0 records in
1000+0 records out
1024000 bytes transferred in 0.008301 secs (123358339 bytes/sec)
(以下、コマンドと結果だけ示します)
# dd if=/dev/zero of=/raid/t.img bs=1024 count=1
1024 bytes transferred in 0.175166 secs (58458869 bytes/sec)
# dd if=/dev/zero of=/raid/t.img bs=1024 count=10
10240 bytes transferred in 1.785327 secs (57356441 bytes/sec)
# dd if=/dev/zero of=/raid/t.img bs=1024 count=100
102400 bytes transferred in 895.287328 secs (1143767 bytes/sec)

何回か調べたところ、書き込む容量によって再現性があるわけではなく、100MBとか10MB
でも極端に遅くなることがありました。

そこでddコマンドを実行しておいてRAIDのアクセスランプの状況を見てみたところ、ddコ
マンドが終了するまでの間、コントローラのbusyランプがしばらく点灯→30秒ほど消灯→し
ばらく点灯という状態を繰り返していました。これをヒントにtcpdumpでパケットを観察
したところ、iSCSサーバから変なack応答が届いたり、あるはずのack応答が無かったりし
て、FreeBSD側のサーバが応答待ちでストップした後、タイムアウトして再送しているよ
うでした(添付ファイル)。タイムスタンプをみると、毎回ほぼきっかり30秒で再送してい
るので、どこかのタイムアウトなんだろうと判断しました。

現象を確認後、以下のような試行錯誤をしてみましたが、いずれも効果ありませんでした。
・間にplanexのGbEハブを挟む
・ifconfigで強制的にmediaを100baseTXに落とす
・http://lists.freebsd.org/pipermail/freebsd-scsi/2008-February/003387.htmlの
  パッチを当ててカーネルを再構築
・7_STABLEにアップデート
・バッファの増量(/etc/sysctl.conf)
   net.inet.tcp.sendspace=196608
   net.inet.tcp.recvspace=196608
   net.inet.udp.maxdgram=196608
   net.inet.udp.recvspace=196608
   net.local.stream.sendspace=196608
   net.local.stream.recvspace=196608
   net.local.dgram.maxdgram=196608
   net.local.dgram.recvspace=196608
   net.inet.raw.recvspace=196608
   net.inet.raw.maxdgram=196608
・bgeのJumbo frame化、はBCM5714コントローラでは対応していないということで試せず
・Intel PRO 1000 CT(emドライバ)への変更
  - tcpdumpで'IP bad-len 0'が出たので、net.inet.tcp.tso=0に変更
   http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2008-02/msg00186.html
・emのJumbo frame化
  - http://www.infortrend.com/japan/doc/appNote/APP_iSCSI_bottom_up_v1.1.pdfより
EonStorのMTUは9014バイトということだったので、em側も合わせた。

RAID装置の販売店の方にも問い合わせているところですが、せめて30秒のペナルティを
1秒とかにできないかと思っています。が、それらしいパラメータを見つけられていません。

どなたかこの30秒という値を決めている箇所に心当たりありませんでしょうか?ソースの
書き換えとカーネル再構築ぐらいでしたら試せます。あるいは、他に試すことがありまし
たら助言いただけるとありがたいです。

よろしくお願いします。

--
坂元 英紀
 e-mail: h...@on-sky.net
¡ ³í‚ȒʐM‚̃Lƒƒƒvƒ`ƒƒ

00:53:15.230030 IP bsd.60821 > iscsi.iscsi-target: P 118621869:118621917(48) 
ack 2090589 win 16384
00:53:15.230133 IP iscsi.iscsi-target > bsd.60821: . ack 118621917 win 65520
00:53:15.230136 IP iscsi.iscsi-target > bsd.60821: P 2090589:2090637(48) ack 
118621917 win 65520
00:53:15.230150 IP bsd.60821 > iscsi.iscsi-target: . 118621917:118630109(8192) 
ack 2090637 win 16384
00:53:15.230154 IP bsd.60821 > iscsi.iscsi-target: . 118630109:118638301(8192) 
ack 2090637 win 16384
i’†—ªFƒf[ƒ^‘—MƒpƒPƒbƒg‚ªŒp‘±j
00:53:15.230177 IP bsd.60821 > iscsi.iscsi-target: . 118679261:118687453(8192) 
ack 2090637 win 16384
00:53:15.230181 IP bsd.60821 > iscsi.iscsi-target: P 118687453:118687501(48) 
ack 2090637 win 16384
00:53:15.230317 IP iscsi.iscsi-target > bsd.60821: . ack 118630109 win 65520
00:53:15.230442 IP iscsi.iscsi-target > bsd.60821: . ack 118638301 win 65520
i’†—ªFackƒpƒPƒbƒg‚ªŒp‘±j
00:53:15.230820 IP iscsi.iscsi-target > bsd.60821: . ack 118687501 win 65520
00:53:15.231045 IP iscsi.iscsi-target > bsd.60821: P 2090637:2090685(48) ack 
118687501 win 65520
i‚±‚±‚Ü‚Å‚ª1ƒZƒbƒgB³í‚ȏꍇ‚͈ȉºAÅ‰‚̍s‚©‚ç‚Ì‚â‚èŽæ‚è‚ðŒJ‚è•Ô‚·j
00:53:15.231064 IP bsd.60821 > iscsi.iscsi-target: P 118687501:118687549(48) 
ack 2090685 win 16384

¡ Ž~‚܂鎞‚̒ʐM‚̃Lƒƒƒvƒ`ƒƒi‚»‚Ì‚Pj

00:53:45.436075 IP bsd.60821 > iscsi.iscsi-target: P 131223213:131223261(48) 
ack 2109021 win 16384
00:53:45.436179 IP iscsi.iscsi-target > bsd.60821: . ack 131223261 win 65520
00:53:45.436182 IP iscsi.iscsi-target > bsd.60821: P 2109021:2109069(48) ack 
131223261 win 65520
00:53:45.436199 IP bsd.60821 > iscsi.iscsi-target: . 131223261:131231453(8192) 
ack 2109069 win 16384
i’†—ªFƒf[ƒ^‘—MƒpƒPƒbƒg‚ªŒp‘±j
00:53:45.436231 IP bsd.60821 > iscsi.iscsi-target: P 131288797:131288845(48) 
ack 2109069 win 16384
00:53:45.436366 IP iscsi.iscsi-target > bsd.60821: . ack 131231453 win 65520
i’†—ªFackƒpƒPƒbƒg‚ªŒp‘±j
00:53:45.436870 IP iscsi.iscsi-target > bsd.60821: . ack 131288845 win 65520
00:53:45.437095 IP iscsi.iscsi-target > bsd.60821: P 2109069:2109117(48) ack 
131288845 win 65520
i‚±‚±‚܂ł͐³íj
00:53:45.536685 IP bsd.60821 > iscsi.iscsi-target: . ack 2109117 win 16384
i‚±‚±‚ŁAŽŸ‚̃ŠƒNƒGƒXƒg('P'ƒpƒPƒbƒg)‚Å‚Í‚È‚­AFreeBSD‘¤‚©‚çack‚ª‘—M‚³‚ê‚éj
00:53:45.536721 IP iscsi.iscsi-target > bsd.60821: . ack 131288845 win 65520
iiscsi‘¤‚©‚ç131288845‚Ìack‚ªÄ‘—‚³‚ê‚éB‚±‚ÌŽž“_‚Å30•bƒtƒŠ[ƒY)

i30•bŒãAFreeBSD‘¤‚©‚烊ƒNƒ

[FreeBSD-users-jp 92816] Re: FreeBSD(98) 6.4R について

2010-02-17 Thread Naoya Masuyama
2010-02-15 (月) の 21:39 +0900 に Satoshi Kimura さんは書きました:
> こんちには,木村です.
> 
> XF86Config にて,
> 
> Section "ServerFlags"  の中に
> 
>Option "DisableVidModeExtension"  "なにがしかの設定"
>^^^
> こういう行があるはずですから,この行を消してみて下さい.
> この行が無い場合,またはこの行を消しても問題が解決しない場合,
> 私にはこの問題の原因を予想することはできません.その点はあらか
> じめご了承下さい.
> 
>  Satoshi Kimura  (satosi.kim...@nifty.com)

木村さま。

http://kobuchicken.blog22.fc2.com/blog-entry-11.html

のようなHPがあるのですが、

引用させていただくと、

xvidtune のエラーはこんな感じでした:
$ xvidtune
Xlib: extension "XFree86-VidModeExtension" missing on display
":0.0".
Unable to query video extension version



XFree86-VidModeExtension を含むパッケージを検索:
$ apt-cache search XFree86-VidModeExtension
Xlibs-static-dev - X Window System client library development
files


じゃぁそいつをインストール:
$$ sudo apt-get install xlibs-static-dev


とあるのですが、FreeBSD で、 xlibs-static-dev

 とか、ports も 、packages も見つからないんですね。

一体、どうしたら・・・・。

もしよろしかったら、ご返答、くださいませ。



[FreeBSD-users-jp 92817] Re: 玄柴

2010-02-17 Thread SAITOU Toshihide
OpenRD の情報ありがとうございます.これからのレポート期待し
てます.


自分> かったので eSATA も試してみるつもりです.

こちらも動作確認できました.MacBook の VirtualBox 上の
FreeBSD から外付けの JMicron JM20336 SATA, USB Combo が認識
しなくてつまずきましたが、モジュールをアンロードしたらゲスト
の FreeBSD で認識したので、やっと作業できました.
$ sudo kextunload -b com.apple.iokit.IOUSBMassStorageClass

少し長いですが起動とその後の出力を貼っておきます.

Marvell>> ide reset

Reset IDE: 
Marvell Serial ATA Adapter
Integrated Sata device found
[0 1 0]: Enable DMA mode (5)
  Device 1 @ 0 1:
Model: Hitachi HTS541280H9SA00  Firm: HP3OC20F Ser#:   
HP2C00BFG7L36A
Type: Hard Disk
Supports 48-bit addressing
Capacity: 76319.0 MB = 74.5 GB (156301488 x 512)

Marvell>> ffsload ide 1 0x90 kernel.bin
Marvell>> go 0x90
## Starting application at 0x0090 ...
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-STABLE #7: Wed Feb 17 22:44:30 JST 2010
to...@fbsd8:/usr/obj/arm/usr/src/sys/SHEEVAPLUG_ME arm
Preloaded elf kernel "elf kernel" at 0xc0bf2e84.
CPU: Feroceon 88FR131 rev 1 (write-through core)
  WB enabled EABT branch prediction enabled
  16KB/32B 4-way Instruction cache
  16KB/32B 4-way write-back-locking-C Data cache
real memory  = 536870912 (512 MB)
Physical memory chunk(s):
 - 0x8f, 9437184 bytes (2304 pages)
0xce7000 - 0x1f64bfff, 513167360 bytes (125285 pages)
avail memory = 520372224 (496 MB)
SOC: (0x6281:0x02) Marvell 88F6281 rev A0, TClock 200MHz
mem: 
nfslock: pseudo-device
null: 
random: 
mbus0:  on motherboard
ic0:  at mem 0xf1020200-0xf102023b on 
mbus0
timer0:  at mem 0xf1020300-0xf102032f irq 1 on mbus0
timer0: [FILTER]
rtc0:  at mem 0xf1010300-0xf1010307 on mbus0
rtc0: registered as a time-of-day clock (resolution 100us)
gpio0:  at mem 0xf1010100-0xf101011f irq 
35,36,37,38,39,40,41 on mbus0
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
uart0: <16550 or compatible> at mem 0xf1012000-0xf101201f irq 33 on mbus0
uart0: [FILTER]
uart0: fast interrupt
uart0: console (115740,n,8,1)
uart1: <16550 or compatible> at mem 0xf1012100-0xf101211f irq 34 on mbus0
uart1: [FILTER]
uart1: fast interrupt
ehci0:  at mem 0xf105-0xf1050fff irq 
48,19 on mbus0
ehci0: [FILTER]
ehci0: [MPSAFE]
ehci0: [ITHREAD]
ehci0: 5.24 GL USB-2 workaround enabled
usbus0: EHCI version 1.0
usbus0: set host controller mode
usbus0:  on ehci0
mge0:  at mem 0xf1072000-0xf1073fff irq 
12,13,14,11,46 on mbus0
mge0: bpf attached
mge0: Ethernet address: 00:50:43:01:4b:1e
miibus0:  on mge0
e1000phy0:  PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
mge0: [MPSAFE]
mge0: [ITHREAD]
mge0: [MPSAFE]
mge0: [ITHREAD]
sata0:  at mem 0xf108-0xf1085fff irq 21 
on mbus0
sata0: [MPSAFE]
sata0: [ITHREAD]
ata0:  on sata0
ata0: hardware reset ...
ata0: SATA connect timeout status=
ata0: [MPSAFE]
ata0: [ITHREAD]
ata1:  on sata0
ata1: hardware reset ...
ata1: SATA connect time=0ms status=0123
ata1: reset tp1 mask=01 ostat0=80 ostat1=00
ata1: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata1: reset tp2 stat0=50 stat1=00 devices=0x1
ata1: [MPSAFE]
ata1: [ITHREAD]
Timecounter "CPU Timer" frequency 2 Hz quality 1000
Timecounters tick every 1.000 msec
vlan: initialized, using hash tables with chaining
lo0: bpf attached
ata0: Identifying devices: 
ata0: New devices: 
ata1: Identifying devices: 0001
ata1: New devices: 0001
ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire
ad0: setting UDMA100
ad0: 76319MB  at ata1-master UDMA100 SATA 
3Gb/s
ad0: 156301488 sectors [155061C/16H/63S] 16 sectors/interrupt 1 depth queue
usbus0: 480Mbps High Speed USB v2.0
GEOM: new disk ad0
ugen0.1:  at usbus0
uhub0:  on usbus0
uhub0: 1 port with 1 removable, self powered
Trying to mount root from ufs:/dev/ad0
ct_to_ts([2000-01-28 01:13:26]) = 949022006.0
start_init: trying /sbin/init
Setting hostuuid: 1f8d836d-d520-11d3-bae6-005043014b1e.
Setting hostid: 0xecf42005.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
Mounting local file systems:.
/etc/rc: WARNING: $hostname is not set -- see rc.conf(5).
Starting Network: lo0.
lo0: flags=8049 metric 0 mtu 16384
options=3
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
inet6 ::1 prefixlen 128 
inet 127.0.0.1 netmask 0xff00 
nd6 options=3
Starting devd.
mge0: link state changed to DOWN
Generating host.conf.
Creating and/or trimming log files.
Starting syslogd.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
Clearing /tmp (X related).
Updating motd:.
Starting cron.
Starting background file system checks in 60 seconds.

Fri Jan 28 01:13:36 UTC 2000

FreeBSD/arm (Amnesiac) (ttyu0)