[FreeBSD-users-jp 92815] iSCSI 通 信時の 30 秒ペナルティ
坂元と申します。 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ÌLv` 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ªFf[^MpPbgª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ªFackpPbgª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±±ÜŪ1ZbgB³íÈêÍȺAÅÌs©çÌâèæèðJèÔ·j 00:53:15.231064 IP bsd.60821 > iscsi.iscsi-target: P 118687501:118687549(48) ack 2090685 win 16384 ¡ ~ÜéÌÊMÌLv`i»ÌPj 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ªFf[^MpPbgª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ªFackpPbgª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ÌNGXg('P'pPbg)ÅÍÈAFreeBSD¤©çackªM³êéj 00:53:45.536721 IP iscsi.iscsi-target > bsd.60821: . ack 131288845 win 65520 iiscsi¤©ç131288845ÌackªÄ³êéB±Ì_Å30bt[Y) i30bãAFreeBSD¤©çN
[FreeBSD-users-jp 92816] Re: FreeBSD(98) 6.4R ã«ã¤ãã¦
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: 玄柴
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)