在AIX上執行RAC時網路方面的一些最佳經驗

531968912發表於2017-07-10

在AIX上執行RAC時網路方面的一些最佳經驗


在AIX上執行RAC時網路方面的一些最佳經驗

1. Oracle推薦使用Etherchannel來配置網路卡繫結,推薦主/備模式的網路卡繫結,主/主(Active/Active)模式不推薦,因為主/備模式更穩定一些。注意:從11.2.0.2開始,Oracle 的叢集軟體Grid Infrastructure(GI)中新增了Redundant Interconnect with Highly Available IP(HAIP),以實現叢集私網的高可用性和負載均衡。也就是說,有了HAIP之後,無需使用網路卡繫結就可以實現私網網路卡的冗餘( 關於HAIP的更多資訊,請參考 Redundant Interconnect with Highly Available IP (HAIP) 簡介)。

2. Oracle針對網路的另外一個推薦是使用Jumbo Frames,網路卡和交換機支援9000 MTU 大小就可以啟用。MTU (Maximum Transmission Unit)是指最大的網路傳輸單位,預設一般是1500 bytes。由於在RAC例項間傳輸的資料可能在2K to 64K或者更大,當MTU是1500時,會導致這些資料被分割,對效能產生影響。啟動Jumbo Frames後,MTU可以達到9000 bytes,這樣可以降低資料被分割的次數。 更多資訊,請參考MOS文件:
Recommendation for the Real Application Cluster Interconnect and Jumbo Frames (Note 341788.1)

3. 如果網路的一些引數設定不合理,可能會產生"gc cr multi block request" 這樣的等待事件。如果在AWR中發現了這個等待事件很高,需要檢查UDP 引數udp_sendspace和udp_recvspace的設定是否滿足下面的要求:

針對AIX:
o 設定udp_sendspace >=[(DB_BLOCK_SIZE * DB_FILE_MULTIBLOCK_READ_COUNT) + 4096],但是不低於 65536.
o 設定udp_recvspace 為 4到10倍的udp_sendpace
o 由於sb_max 必須 >= udp_recvspaceIf ,可能需要增加sb_max的值(預設為1048576)
o 如果udp的引數設定不合理,可能會產生“socket buffer overflows”,如果這個值非0, 需要增加udp_recvspace:
 netstat -s | grep "socket buffer overflows"

4. 針對交換機使用哪種協議,CRS 和 RAC 沒有要求,如果使用了Etherchannel,只要這種協議和Etherchannel相容並且穩定就可以。

下面的文件中有針對網路方面的一些要求:
Minimum Software Versions and Patches Required to Support Oracle Products on IBM Power Systems (Note 282036.1)
10 Gigabit Ethernet
. LACP timeout: Use the “long timeout” switch setting for the amount of time to wait
before sending LACPDUs.
· Flow control: Enable flow control at the switch port and on the server side ports
(using HMC) for the 10GE adapter or 10GE HEA configuration.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2141834/,如需轉載,請註明出處,否則將追究法律責任。

相關文章