首页 > 代码库 > RAC优化之配置大帧(jumbo frame)

RAC优化之配置大帧(jumbo frame)

RAC优化之配置大帧(jumbo frame

首先讲讲MTU的概念:在网络通信中,有个MTU(Max Transmission Unit)的概念,即网络传输中最大帧的大小,这个值默认是1500Byte(以太网的可变帧大小是46-1500Byte)。

[root@node1 ~]# ifconfig bond0

bond0     Link encap:Ethernet  HWaddr C8:1F:66:FB:6F:CD 

          inet addr:10.10.10.105  Bcast:10.10.10.255  Mask:255.255.255.0

          inet6 addr: fe80::ca1f:66ff:fefb:6fcd/64 Scope:Link

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

          RX packets:353 errors:29 dropped:0 overruns:0 frame:29

          TX packets:254 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:250669 (244.7 KiB)  TX bytes:160443 (156.6 KiB)

所以默认配置下,如果次传输的数据超过了1500Byte大小,那么系统会将这个帧拆分成几个帧进行传输:

[root@node1 ~]# traceroute -F  node2-priv 1500

traceroute to node2-priv (10.10.10.106), 30 hops max, 1500 byte packets

 1  node2-priv.localdomain (10.10.10.106)  0.234 ms  0.217 ms  0.204 ms

[root@node1 ~]# traceroute -F  node2-priv 1501

traceroute to node2-priv (10.10.10.106), 30 hops max, 1501 byte packets

 1  node1-priv.localdomain (10.10.10.105)  0.024 ms !F-1500  0.005 ms !F-1500  0.004 ms !F-1500

[root@node1 ~]#

再说说在RAC环境中,我们需要注意的一处地方。

RAC私有网络主要是供节点之间进行网络心跳通信的,但除此之外节点间还经常需要通过私有网络进行数据块的传输。在Oracle中一个数据库的大小为8192byte,所以按照默认配置,一个数据块不得不分成几个帧进行传输,这样就加重了私有网络的负载,所以Oracle建议将私有网卡的MTU设置为9000。

下面看看我的修改步骤:

1)   查看私有网卡(在2个节点执行)

[root@node1 ~]# oifcfg getif

em1  192.168.10.0  global  public

bond0  10.10.10.0  global  cluster_interconnect

2)   设置私有网卡mtu(在2个节点执行)

[root@node1 ~]# ifconfig -s bond0 mtu 9000

已经设置成功了,我们可以通过traceroute或ping来测试下:

1)   traceroute

[root@node1 ~]# traceroute -F node2-priv 9000

traceroute to node2-priv (10.10.10.106), 30 hops max, 9000 byte packets

 1  node2-priv.localdomain (10.10.10.106)  0.346 ms  0.364 ms  0.413 ms

[root@node1 ~]# traceroute -F node2-priv 9001

traceroute to node2-priv (10.10.10.106), 30 hops max, 9001 byte packets

 1  node1-priv.localdomain (10.10.10.105)  0.043 ms !F-9000  0.010 ms !F-9000  0.010 ms !F-9000

[root@node1 ~]#

2)   Ping

[root@node1 ~]# ping -c 2 -M do -s 8972 node2-priv

PING node2-priv.localdomain (10.10.10.106) 8972(9000) bytes of data.

8980 bytes from node2-priv.localdomain (10.10.10.106): icmp_seq=1 ttl=64 time=0.552 ms

8980 bytes from node2-priv.localdomain (10.10.10.106): icmp_seq=2 ttl=64 time=0.551 ms

 

--- node2-priv.localdomain ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 0.551/0.551/0.552/0.023 ms

[root@node1 ~]# ping -c 2 -M do -s 8973 node2-priv

PING node2-priv.localdomain (10.10.10.106) 8973(9001) bytes of data.

From node1-priv.localdomain (10.10.10.105) icmp_seq=1 Frag needed and DF set (mtu = 9000)

From node1-priv.localdomain (10.10.10.105) icmp_seq=1 Frag needed and DF set (mtu = 9000)

 

--- node2-priv.localdomain ping statistics ---

0 packets transmitted, 0 received, +2 errors

 

[root@node1 ~]#

RAC优化之配置大帧(jumbo frame)