Developerネットワーク


NASを導入してギガビットネットワークを堪能する


構成


  導入したのはQNAP TS-239 PRO IIと言うNASです。機能の豊富さもさることながらギガイーサに対応して
 いるのが決めてでした。

  [NAS] <========> [HUB] <==========> [PC]

  

LowMem?メッセージ


  lowmem_reserve[]: 0 0 0 0のようなメッセージがでて動きがおかしくなりました。
  vm.min_free_kbytesのデフォルト値
  sysctl vm.min_free_kbytes
  vm.min_free_kbytes = 5462
  これを変えます
  sysctl vm.min_free_kbytes
  sysctl vm.min_free_kbytes=65536
  
  


r8169を使わないようにします。



r8169ではなくてRTL8168bを使うようにします。


$ sudo mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko.old
$ sudo depmod -a
$ sudo mv /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.ubuntu
$ sudo mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r` 

$ dmesg|grep RT
eth0: RTL8168b/8111b at 0xffffc9000035a000, 00:25:22:54:ab:4e, XID 0c100000 IRQ 27

まずはドライバーですが、これでまともになりました。
tcpdumpしたら帰りがMTU1500でした。双方向9000にしたら↓のような感じ。

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
voyager          4G  1843  98 83783   8 42095   8  4438  96 98509   7 337.9   6
Latency             14451us     749ms    2155ms   30699us   90786us     909ms
Version  1.96       ------Sequential Create------ --------Random Create--------
voyager             -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  1122   8  2472   8  1108   7  1127   8  2667  11  1163   7
Latency             50514us   41204us     181ms   49989us    5266us     119ms
1.96,1.96,voyager,1,1284031547,4G,,1843,98,83783,8,42095,8,4438,96,98509,7,337.9,6,16,,,,,1122,8,2472,8,1108,7,1127,8,2667,11,1163,7,14451us,749ms,2155ms,30699us,90786us,909ms,50514us,41204us,181ms,49989us,5266us,119ms

ping -M do -s 1472 -c 4 あて先IPアドレス 
/etc/sysctl.confに以下を追加。

# Tweaks for faster broadband...
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.route.flush = 1
sysctl -p してこの状態で計測すると↓   

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
voyager          4G  1791  97 79720   7 41703   8  3898  76 97681   7 374.5   7
Latency             16566us    2159ms    2261ms     196ms   98798us     766ms
Version  1.96       ------Sequential Create------ --------Random Create--------
voyager             -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  1128   7  2488   7  1109   7  1125   6  2673  11  1155   7
Latency             61145us   41041us     212ms   54627us    4149us     318ms
 1.96,1.96,voyager,1,1284037442,4G,,1777,98,81171,10,43081,9,4774,94,96062,7,391.3,8,16,,,,,1128,7,2488,7,1109,7,1125,6,2673,11,1155,7,7302us,855ms,2210ms,39726us,205ms,389ms,61145us,41041us,212ms,54627us,4149us,318ms

条件:MTU1500
   mount -t nfs -rw -o hard,intr,async 192.168.19.23:/db0 /mnt

  

イーサネットドライバがハングアップ



 更なる問題がこれ。ハングアップすると言う症状。
 
 Sep  8 22:53:21 voyager kernel: [  420.295630] svc: failed to register lockdv1 RPC service (errno 97).
 
 解決策はこれ。IPv6をディセーブルにします。
 
 ### BEGIN /etc/grub.d/10_linux ###
 menuentry 'Ubuntu, with Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	 set root='(hd0,1)'
	 search --no-floppy --fs-uuid --set 42b46835-7624-47ec-aacf-e5f76dea163e
	 linux	/boot/vmlinuz-2.6.32-24-generic root=UUID=42b46835-7624-47ec-aacf-e5f76dea163e ro   quiet splash ipv6.disable=1
	 initrd	/boot/initrd.img-2.6.32-24-generic
 
 設定後ハングアップはしなくなりました。
 
 Sep  8 23:47:00 voyager kernel: [ 2433.076123] RPC: Registered tcp NFSv4.1  backchannel transport module.