非常好實用的關於solaris ipmp配置文件
解析IPMP
IP網路多路徑(IP Network Multipathing)是Solaris8下的一種新特性,旨在為主機側提供網路可用性和提高吞吐量。
IPMP主要提供三種功能:(1)故障檢測及故障切換(failover):當網路介面卡(包括主機一側或與之相連的網路裝置一側)發生故障時,IP Network Multipathing的故障檢測特性提供了檢測功能,自動把網路訪問切換到備用網路介面卡,真正消除了主機網路介面卡的單點故障。(2)恢復檢測(failback):當發生故障的網路介面卡被修復後時,IP網路多路徑的修理檢測特性有能力執行檢測,並自動把網路訪問切換到原來提供服務的主要網路介面卡。(3)出網負荷分佈(outbound load spreading):高層應用可以向許多網路介面卡分配不同目的地址的網路資料包,來提高網路吞吐量。
配置Ipmp的需求:
1. 作業系統solaris8 以上。
2.MAC地址應當不一樣,在eeprom中 setenv local-mac-address? True;因為這樣系統中網路介面才使用不同的實體地址(MAC地址)。
3.為IPMP的數個網路介面指定一個組名(group name)。
4.為每個網路介面設定一個測試地址(test IP)。
5.網路中存在一臺供測試的主機,這臺主機通常是預設的路由。因為這臺主機提供網路介面向外測試ICMP報文的回應,連續5的ICMP報文沒有回應,就認為該網路介面聯接失敗。
IPMP的關鍵程式是in.mpathd程式。該程式的啟動shell是在/etc/rcS.d/ S30network.sh 而在/etc/default/mpathd檔案中包含了與IPMP相關的引數設定。
root#more /etc/default/mpathd
#ident "@(#)mpathd.dfl 1.1 00/01/03 SMI"
# Time taken by mpathd to detect a NIC failure in ms. The minimum time
# that can be specified is 100 ms.
FAILURE_DETECTION_TIME=10000
# Failback is enabled by default. To disable failback turn off this option
FAILBACK=yes
# By default only interfaces configured as part of multipathing groups
# are tracked. Turn off this option to track all network interfaces
# on the system
TRACK_INTERFACES_ONLY_WITH_GROUPS=yes
root#
在通常情況下,IPMP有active/standby 和active/active兩種模式。下面介紹一下關於這兩種模式的詳細配置。
1,線上配置IPMP,用命令配置,reboot後配置失效。
實驗環境:sun440,solaris 8,浮動IP=192.168.1.10(當然浮動的IP可以有兩個或更多)。實現active/standby模式。
root@N440 # ifconfig -a
看到原來機器上的IP地址為192.168.1.10,現在進行把它加如IPMP的組裡去。
root@N440 # ifconfig ce0 group ipmptest
為網路介面ce0 指定測試ip為192.168.1.11,ce1的測試ip為192.168.1.12,同時把網路介面ce1加入NAFO組ipmptest中。
root@N440 # ifconfig ce0 addif 192.168.1.11 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up
root@N440 # ifconfig ce1 plumb 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up deprecated -failover standby up
然後用命令檢視ipmptest組。
root@N440 # ifconfig -a
止此,線上的ipmp配置成功,你可以做一下網路切換。拔去ce0的網線,看看能否切換到ce1上。當然了,你也可以透過命令來測試切換。下面的這個命令把浮動ip切換到ce1上,並且ce0狀態是offline。
root@N440 # if_mpadm -d ce0
這時你可以用ifconfig –a看到failover了。然後你可以用命令再把ce0 ONLINE。
root@N440 # if_mpadm -r ce0
2.修改配置檔案,重新啟動後生效。本例中,Ce0的浮動IP為192.168.1.10,測試IP為192.168.1.11,ce1的測試IP為192.168.1.12。
root@N440 # vi /etc/hostname.ce0
192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up addif 192.168.1.11 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up
root@N440# vi /etc/hostname.ce1
192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up deprecated -failover standby up
3,關於負載均衡active/active模式。對於網路介面的負載問題,我總結了下,一個IP地址好象不能夠捆綁在兩塊NIC上。而對於跑兩個以上的應用,把浮動IP地址分配到兩塊NIC上,實現負載均衡和失敗切換的功能。但是對於跑一個應用的程式如何實現負載均衡呢?由於IP地址對應用程式是透明的,所以只能從客戶端實現訪問哪塊網路介面上的浮動IP,實現負載均衡。基於上面的那個例子,我們再給ce1加兩個浮動的IP(192.168.1.9,192.168.1.8),把它配置成active的。
root@N440# vi /etc/hostname.ce1
192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up addif 192.168.1.12 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up
root@N440# vi /etc/hostname.ce1:1
192.168.1.9
root@N440#reboot
這樣重新啟動後,浮動的IP(192.168.1.8,192.168.1.9,192.168.1.10)同在一個IPMP組——ipmptest中。
Troubleshooting:
1,最常見的問題就是對配置了IPMP的主機,Ping能通但是卻Telnet不上,這是因為網路中沒有ailve的路由被test到,導致in.mpathd程式認為兩塊網路介面都failed,至於能ping通,可能是因為in.mpathd程式不能控制到工作在網路層的ICMP報文。
2,從閘道器能ping通主機,但是從主機ping不通閘道器,導致IPMP組失敗。這可能是因為閘道器上的安全策略,遮蔽了ICMP報文的reply。
3,網路通暢,儘管可能失敗切換能成功,但是應用程式出現網路斷續的情況,該問題可能是由於OBP裡面的local-mac-address?沒有被設為true,這樣兩個網路卡用同樣的MAC地址,導致交換機裡面的轉發表裡的埠—MAC對應關係錯亂。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-558170/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Solaris IPMP 配置
- Solaris 11中配置基於link的IPMP
- Solaris 11 中 Oracle RAC 私網冗餘模式從HAIP到IPMPOracle模式AI
- Configuring Solaris IP Multipathing (IPMP) for the Oracle 10g VIPOracle 10g
- 關於solaris 10的密碼有效位密碼
- 寫得非常好的一篇關於Oracle的SCNOracle
- 配置IPMP
- 關於sun Solaris的遠端拷貝的問題
- 關於vim的實用外掛
- 關於solaris10 掛載ISO檔案的方法
- 關於一個非常好用的載入條,只是一個人圖片樣式
- 推薦一個非常好用的Chrome擴充套件應用,用於美化Json字串Chrome套件JSON字串
- 關於solaris10檢視主機系統的位數
- 關於 IDEA 簡單實用的小功能Idea
- 關於許可權管理的實用指令碼指令碼
- solaris 10的ftp相關配置FTP
- 關於某些空白字元,(實用篇)字元
- 關於用ejb實現負載平衡負載
- 關於《JAVA實用系統開發指南》引申的~Java
- 10個關於Android開發的實用教程Android
- Linux其實非常好學Linux
- Solaris的硬體相關命令(轉)
- IPMP面試“秘笈”(Level C)(轉)面試
- 初學者:關於用java實現並行Java並行
- 關於JAVA實用系統開發的指南的問題Java
- 關於ToDolist 的增刪改查 用jQuery來實現jQuery
- 關於相機相簿的一些實用技術
- 關於“Java實用系統開發指南”的學習Java
- 關於xmanager不能遠端登入Solaris 10主機問題
- 關於webgl的大型應用Web
- 關於值物件的應用物件
- 關於rowid的應用
- turbo linux ipmp配置備記Linux
- 關於樂觀鎖與悲觀鎖的實際應用
- Python中關於進度條的6個實用技巧Python
- 關於裸裝置及Oracle的20個實用問答Oracle
- 關於百度地圖api的實用方法記錄地圖API
- 關於限流實現的思考