Oracle 11gR2 RAC環境下私網網卡更名後如何調整GI配置
環境描述:AIX+11gR2 RAC雙節點
問題起因:兩節點用於私網通訊的網卡使用的是千兆網卡,現要換成萬兆的網卡,因萬兆網卡為一塊卡一個port,而原先的千兆網卡是一塊卡兩個port,而且主機上的槽位有限,必須要把原來的千兆網卡拔下來,才能騰出位置給萬兆的,所以不可避免的會導致在AIX裡cfgmgr認出的萬兆網卡名字會和原來不一樣。
從OS層面看似是比較簡單的一個動作:拔掉舊網卡->按上新網卡->OS認出新網卡並配上IP地址,但對於GI來講改動可不小。我們知道在安裝配置完GI後,網卡名稱和子網ID這兩樣東西會被記錄進OCR和GPnP profile,如果後面網卡名稱或者子網ID發生了變化,那麼必須要同步修改OCR裡的內容,否則CRSD進程將無法正常啟動。在我這個case裡網卡名稱會發生變化,因此我是按照如下步驟去實施的:
1、對GPnP profile做一個備份,兩節點都要執行
su - grid
cp $Oracle_HOME/gpnp/jqp750303/profiles/peer/profile.xml $ORACLE_HOME/gpnp/jqp750303/profiles/peer/profile.xml.0310
2、備份當前GI裡的網卡配置,只要在一個節點上運行一遍即可
su - grid
oifcfg getif <---注意必須要在GI處於運行狀態時才能執行這條命令
en15 10.11.176.0 global public
en16 2.2.144.0 global cluster_interconnect <---接下來要替換的就是這塊網卡
3、停GI->停機->拔出千兆網卡->按上萬兆網卡->啟動主機->認出萬兆網卡
記住萬兆網卡在OS上的名稱:en17
4、停機->拔出萬兆網卡->裝回千兆網卡->啟動主機->重新認出千兆網卡
這一步是為了還原到初始狀態,以便啟動GI
5、啟動GI
crsctl start crs
6、將萬兆網卡的資訊加入到OCR
su - grid
oifcfg iflist <---列出當前OS環境下的網卡
en15 10.11.176.0
en16 2.2.144.0 <---en16是千兆卡的名稱
oifcfg getif <---列出當前OCR裡儲存的網卡資訊
en15 10.11.176.0 global public
en16 2.2.144.0 global cluster_interconnect
oifcfg setif -global en17/2.2.144.0:cluster_interconnect <---寫入第3步中得到的萬兆卡的名稱,即便en17不存在該條命令也可以成功的
oifcfg getif <---查看修改效果,OCR裡的私網網卡變成了兩塊了,雖然en17還沒裝上
en15 10.11.176.0 global public
en16 2.2.144.0 global cluster_interconnect
en17 2.2.144.0 global cluster_interconnect
7、停GI->停機->拔除千兆網卡->按上萬兆網卡->啟動主機
8、主機啟動後確認網卡名稱是否正確
oifcfg iflist
en15 10.11.176.0
en17 2.2.144.0 <---en17是萬兆卡,en16消失了,這是從OS層面的資訊
9、啟動GI
crsctl start crs
oifcfg getif <---OCR裡還是有兩塊私網網卡
en15 10.11.176.0 global public
en16 2.2.144.0 global cluster_interconnect
en17 2.2.144.0 global cluster_interconnect
10、最後刪除原來的千兆網卡
oifcfg delif -global en16/2.2.144.0
oifcfg getif
en15 10.11.176.0 global public
en17 2.2.144.0 global cluster_interconnect
11、不放心的話再重啟一下GI,能啟成功就OK了
crsctl stop crs
crsctl start crs
在這個例子中需要說明一點,
第3步重啟主機是為了看一下OS啟動後萬兆網卡會被認成哪個名字,為第6步做準備;
第4步重啟主機為的是還原GI環境正常啟動CRSD以便提前將萬兆卡資訊加入OCR;
第7步重啟才是正式裝上了萬兆網卡;
因為我的環境裡槽位不夠用,所以才遭致了三次重啟,如果夠用,前兩次的重啟完全可以省掉