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 ~]#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章