HACMP將診測并響應(yīng)于三種類型的故障:網(wǎng)卡故障,網(wǎng)絡(luò)故障,節(jié)點故障。下面就這三種故障分別進行介紹。
(1)網(wǎng)卡故障
前面講到,HACMP的群集結(jié)構(gòu)中,除了TCP/IP網(wǎng)絡(luò)以外,還有一個非TCP/IP網(wǎng)絡(luò),一般為RS232連接,它實際上是一根"心跳"線,專用來診測是節(jié)點死機還是僅僅網(wǎng)絡(luò)發(fā)生故障。一旦節(jié)點加入了cluster(即該節(jié)點上的HACMP已正常運行),該節(jié)點上的各個網(wǎng)卡、RS232串口和Target-ModeSSA或SCSI就會不斷地接收并發(fā)送Keep-Alive信號包,K-A的參數(shù)是可調(diào)的,針對以太網(wǎng),當處于normal狀態(tài)時,將每隔0.5秒發(fā)送一個K-A包,如果12個包丟失后HACMP確認對方網(wǎng)卡、或網(wǎng)絡(luò)、或單點發(fā)生故障。因此,有了K-A后,HACMP可以很輕易地發(fā)現(xiàn)網(wǎng)卡故障,因為一旦某塊網(wǎng)卡發(fā)生故障,發(fā)往該塊網(wǎng)卡的K-A就會丟失。此時nodeA上的clustermanager(HACMP的"大腦")會產(chǎn)生一個swap-adapter的事件,clustermanager將原來的serviceadapter的IP地址轉(zhuǎn)移到standbyadapter上,同時網(wǎng)上其他節(jié)點進行ARP的刷新。網(wǎng)卡互換(swap-adapter)通常在幾秒內(nèi)就可完成,以太網(wǎng)為3秒,并且這種轉(zhuǎn)換對應(yīng)用和client來說是透明的,只發(fā)生延遲但連接并不中斷。
(2)網(wǎng)絡(luò)故障
如果發(fā)往nodeA上的service和standby網(wǎng)卡上的K-A包全都丟失,而RS232上的K-A仍然存在,那么HACMP斷定nodeA仍然正常,是網(wǎng)絡(luò)發(fā)生故障。此時HACMP執(zhí)行一個network-down的事件的script,通常這個script提供一個用戶自行定義其行為的接口,用戶可以根據(jù)自己的網(wǎng)絡(luò)結(jié)構(gòu),用戶數(shù),是否有替代路徑,使用的通訊軟件,應(yīng)用軟件等來自行設(shè)計網(wǎng)絡(luò)發(fā)生故障后應(yīng)采取的行為。
(3)節(jié)點故障
如果不僅網(wǎng)絡(luò)上的K-A全部丟失,而且RS232上的K-A也丟失,那么HACMP斷定該節(jié)點發(fā)生故障,一個node-down事件發(fā)生。此時將有資源的接管發(fā)生,即放在共享磁盤陣列上的資源將由備份節(jié)點接管,接管包括一系列操作:Aquiredisks,VaryonVG,Mountfilesystems,ExportNFSfilesystems,AssumeIPnetworkAddress,Restarthighlyavailableapplications,其中,IP地址接管和應(yīng)用的重啟是由HACMP來實現(xiàn),而其它是由AIX來完成。當整個節(jié)點發(fā)生故障時,HACMP將故障節(jié)點的serviceIPaddress轉(zhuǎn)移到備份節(jié)點上,使網(wǎng)絡(luò)上的client仍然使用這個IP地址,這個過程稱為IP地址接管(IPAT),當一個節(jié)點down掉后,如果設(shè)置了IP地址接管,網(wǎng)絡(luò)上的clients會自動連接接管節(jié)點上;同樣,如果設(shè)置了應(yīng)用接管,該應(yīng)用會在接管點上自動重啟,從而使系統(tǒng)能繼續(xù)對外服務(wù)。對于要實現(xiàn)接管的應(yīng)用,只需在HACMP中把它們設(shè)置成“Applicationserver",并告訴HACMP啟動這個應(yīng)用的startscript的全路徑名和停止該應(yīng)用的stopscript的全路徑名。由此可見,應(yīng)用接管的配置在HACMP中十分簡單