RAC最佳化之配置大幀(jumbo frame),rac最佳化jumboframe
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 ~]#
怎在vSphere 40 中使用巨型幀(Jumbo Frame)
通過更改vSwitch 的MTU 大小將該vSwitch 配置為使用巨型幀,步驟:
step0:使用VMware vSphere CLI 中的 vicfg -vswitch -m <MTU> <vSwitch> 命令為 vSwitch 設定MTU大小。通過此命令可為此vSwitch 上的 所以上行鏈路設定MTU。將MTU大小設定為在與vSwitch 相連的所有虛擬化網路介面卡中是最大的。例如vicfg-vswitch -m 9000 vswitch0 設定 vSwitch vswitch0 的MTU 為9000。
step1:使用 vicfg-vswitch -l 命令在主機上顯示vSwitch 列表,並列出vSwitch 的屬性。通過這個命令可以檢查你設定是否正確。
在vmkernel 連接埠上啟用巨型幀,步驟如下
Step0:直接登入ESX 主機的控制台
Step1:使用esxcfg-vmknic -a -l <ip address> -n <netmask> -m <MTU> <port group name> 命令建立支援巨型幀的VMkernel 串連
Step2:使用esxcfg-vmknic -l 命令顯示VMkernel 介面列表,檢查啟用了巨型幀的介面的配置是否正確
Step3:將所有的物理交換器以及與該VMkernel 介面相連的任何物理機或虛擬機器設定為支援巨型幀
在物理交換器上啟用巨型幀
在物理交換器上啟用巨型幀將取決於交換器的構造與類型。要想在客戶作業系統上啟用巨型幀,可以用增強型的VMXNET 或者VMXNET3 虛擬網卡,並通過客戶作業系統啟用巨型幀。
jumbo frame
其實就是巨型幀,比現在一般的乙太網路幀大,具體的可以留下連絡方式詳細告訴你~