Ha:初始階段的規劃最重要
第一部分:概念和模型Ha目標:掩蓋和消除計劃和非計劃的宕機
Eliminate SPOF:消除單節點故障,single point of failuare(SPOF)
Cluster:node可要是設備可是分區
Node盡量不要在一個機柜
Node之間一定要有非ip網絡,串口,磁盤
RSCT:負責node之間的通訊和協調,發送心跳,監控cluster
clstrmgrES:該工具用來實現HA管理
clcomd:cluster nodes間的通信進程端口6191
LAA:local administrated address(本地管理地址),可以給它做一個假的mac地址來進行管理
存儲:應支持熱插拔和冗余
光纖:普通SAN存儲< 10公里
HAGU > 10公里
JFS:journal filesystem日志系統
PowerHA支持兩種環境:順序環境:熱備,互備,互備是兩個應用的熱備
并行環境:RAC
歷史上HA指的是順序環境版,CMP指的是并行環境版
普通版叫CM,并行版叫EM
powerHA最多支持的node數量為32個
topology:以網絡為中心的物理結構
resource:可以改變的實體
resource group:resource集合,可以一起切換到另一個node
推薦配置應用監控
網卡在教程中都叫做communication interface,串口、心跳磁盤等叫做communication device
HA每切換一次,系統就要重啟一次,典型的宕機時間一般在3分鐘左右,最短20S,6分鐘以上就不能容忍了
Virtual SCSI:VIO SCSI
目前常見ha版本:5.4、5.4.1、5.5、6.1
Ha的層次結構:
HACMP | |
RCST | |
AIX | |
LVM | TCP/IP |
時間同步的協議:stpd、stmp
HA并發卷組:利用鎖機制,應用層保證對數據的使用不沖突
Raw:支持數據庫的鎖機制
FS:不支持鎖機制,所以Oracle使用鎖機制對FS上的數據庫操作
共享存儲:不是HA所必需,而是應用必需
Cluster對其節點的要求:
不要求硬件完全相同
性能支持應用
能安裝同樣的HA版本
安裝了同樣的os版本
powerHA的XD選件用于距離非常遠的HA,這種HA使用異步傳輸
plug-ins組件需要另外單獨花費200多美元,其內容是很多腳本
Smart-assistant組件
并發是共享的一個特例
HA要求相關的系統環境不能改變,不能修改環境,否則HA不正常
實施前一定要畫好規劃圖,an41側重于規劃和實施,學會規劃、安裝、管理
Resource group polices:資源組策略包括:
啟動online on home node only模式中住node不啟動RG不切換
Online on first available node先到先得,也是鏡像模式
分布式哪個node啟動,他就拿到RG,但是只拿到屬于自己的那組RG,但是并發vg在所有node都有效
從powerHA5.4.1開始支持多借點磁盤心跳
Failover按照節點列表的順序,指定下一個接管節點
動態切換到下一個node
不切換(多node并發-并行模式中,該模式多節點同時對外服務,單個故障不影響集群)
回切回到最高的優先級,首先要定義一個回切時間
不回切
現實中的具體情況一般是先啟動數據庫,再啟動中間件,因為中間件依賴于數據庫
IPAT:ip地址接管,就是ip漂移,需要定義的ip serviceIP、persistIP(用于管理)
同一vlan中所有的ip的子網掩碼必需一樣
HA需要配置同步的資源:
應用
心跳用RSCT控制同步
節點配置用clcomd控制同步
觸發同步的事件:
網卡失敗
網絡失敗
節點失敗
配置HMC遠程管理時本地IE設置
選項-高級-關閉TLS1.0
開啟SSL2.0
開啟SSL3.0
Cgi-bin中的cgi指的是通用網關接口
不同類型的心跳ip,服務ip不能在同一網段,否則干擾心跳
HA配置成心跳的ip網絡將自動發送心跳
如下圖所示:如果node1的1端口網線斷了,該如何判斷?
現象肯定是兩node間的1端口互相不同,這是該如何判斷哪個節點網絡出問題?
可以實用tcpdump命令
通過node1的2端口向node2的1端口發送arp包能收到說明node2的1口沒問題
通過node2的2端口向node1的1端口發送arp包不能收到說明node1的1端口網絡問題
說明:
同一個vlan可以包括不同的子網(網段),其中的每臺主機都能收到本vlan其他host發送的arp/ip包,但是不同子網的網卡收到包后丟棄不作回應,所以通過查看另一個節點的網卡是否收到arp包可以確定網卡網絡是否正常
Os本身具有路由功能,127.0.0.1多網卡同一網段時,會選擇本身路由通信。
同一個node的任何兩個網卡不能設置成同一個子網,因為如果在同一個subnet,發包時會從不同的網卡發出,因為兩個網卡的路徑不同,如果有一個路徑出現問題,該網卡將收不到返回包,會有丟包。
如果是單網卡可以通過配置第三方網卡或文件(netmon.cf)來判斷節點失敗的原因。
第二部分:存儲共享存儲:只允許一個節點修改,其他node不能讀也不能寫。誰varyonvg誰能操作該存儲。
共享存儲有兩種保護數據不被同時修改的模式:
Reserve/release標簽模式,基于硬件保護(普通共享使用的模式)
Active/passive模式(HA使用的模式)
使用清除磁盤disk reserve標記位的命令,該共享存儲將得以釋放,其他node可varyonvg改共享。。。清理鎖的標識符:clear ssa
gsclvmd進程:lv改動時負責在各節點間發送廣播,為成員間的通訊提供服務
JFS:
JFS2:不支持并發訪問,不支持鎖機制
多node間查看同一個共享存儲時可能看到的模式不同:
Passive varyon:只能讀部分信息,但是不能寫
Active varyon:可以讀寫
Concurrent vg=fast vg
For avoid split-brain, ip/non-ip心跳都應該有冗余
當所有的vg都被varyon以后才能對vg進行操作
ConcurrentVG既可以被HA使用也可以當做普通的fs使用
跟bootip是同一個網段的ip是別名ip(alias IP)
跟bootip不同一個網段的ip是standbyIP
磁盤快速接管:接管速度快,需要安裝bos.crvm軟件,如果一個node安裝了crvm,另一個沒裝就會看不到
Gost-disk概念:普通共享可能會出現“鬼盤”
當用reserve/release使用共享存儲時
B故障,a接管b
B恢復,這時候A占著存儲,B找不到屬于自己的存儲,所以b又自己創建了一次
這時看到兩份存儲
可以在a上釋放存儲在b上使用就能解決b上執行mklv –l
第三部分:HA安裝和配置Pvid:盤序列號最好一致,便于管理
Man rendv給設備改名
Lazy update:使用enhanced concurrentVG
oslevel –s
lsvg rootvg
lsvg –l rootvg
smitty jfs2 – add enhanced JFSG/fix/4/yes
mount /fix
lslpp –l |grep x.tar
mirrorvg –s rootvg為rootvg做鏡像
uncomPRess x.tar.z
tar –xvf x.tar
bosboot –a
cd cdrom
smit updateadd
bootlist –m normal hdisk1 hdisk0
bootlist –m normal –o
做concurrentvg需要安裝clvm軟件
Lslpp –a|grep clvm
系統軟件不能同時安裝
clstrmgrES工具在系統啟動時自動啟動
more /etc/inittab可以查看,這個工具修改兩個nodes之間/usr/es/sbin/cluster/etc/rhosts文件,保持一致并同步
clcomd使用標準的連接認證
找源ip時,通過/usr/es/sbin/cluster/etc/rhosts文件、找ODM
clcomdES工具如果環境變量設置成中文會有問題
RSCT:最多支持32 nodes
RSCT:由心跳拓撲、組服務、RMC組成
無論何種心跳,心跳包都走環狀拓撲,ip、串口心跳都走環狀順序,按照序號循環
snmpinfo查詢snmp信息
clinfoES:cluster information daemon(clinfo)
安裝完HA后os本身的NFS會出問題,NFS支持鎖協議,但是只支持兩個nodes
Oslevel –s
smit update_all軟件更新后,提示的最下端會出一個attention提示重啟,最好是將系統重啟。
安裝完clvm以后也需要重啟,如果不重啟可能出問題
用vmo命令可以確定系統是否需要重啟:
1、Vmo
2、查看安裝歷史
3、查看啟動時間
4、確定是否重啟
HA的補丁最好都先打上,其他的補丁可以先不考慮
Ip別名方式192.168.1.99p510_boot1
192.168.2.99p510_boot2
192.168.1.88p550_boot1
192.168.2.88p550_boot2
10.1.1.88 srv1
10.1.1.99 srv2
10.1.1.100 srv3
10.1.1.88 p550
10.1.1.99 p510
替換ip模式只支持2個serviceIP,alias模式可支持多個serviceIP
克隆系統的命令:man alt_disk_copy
克?。喊次募容^計算
鏡像:按文件系統比較計算,兩個os的fs應該一致大小
Lsps –a查看換頁空間/var中存放日志,dump等文件,應該足夠大否則有報錯就會撐滿
/usr/sbin/alt_disk_copy –p all –d hdisk2 hdisk3 –OB (可以先終止進程然后用以下命令繼續)
ps –ef |grep alt
nohup –p <pid>
alt_disk_install –x altinst_rootvg刪除鏡像
HA和application安裝順序可以互換,不一定非要先安裝HACMP,如果HA出問題也可以在安裝好的系統上卸載并重新安裝HACMP
Lssrc –ls clstrmgrES
Iostat
鏡像之后修改ip和hostname即可使用
HA在配置過程中只需要配置一個node然后同步到另一個node即可
先配拓撲同步
再配資源同步
在配置enhanced concurrentVG
以此類推(我們要配置的雙機熱備+并發)
Smit HACMP
c-spoc日常管理選項
problem determination tool日常問題解決
HA配置步驟如下:1、配置hostname ip
2、創建enhanced concurrentVG
3、配置通信路徑
a)Clusterànodesà發現網絡(第一項)
b)拓撲à通信接口à自動發現(第五項用于non-IP)
c)Show top
d)同步(interactive)
e)啟動HA(選中兩個nodes,單獨啟動時node也可以同時啟動HA不用有先后順序)
f)查看ha狀態
4、配置application server name最好不要大寫字母
5、配置資源,service_name、啟停腳本、service_ip
a)配置服務名
b)選擇啟停腳本位置
c)配置serviceIP
6、配置存儲在c-spoc中配(兩個nodes間的共享vg)
a)logicVGàcreate shared VGàcreate a concurrent VG(可以實現快速接管)
7、配置resource group
a)選第三個,放在前面的節點是主
b)啟動策略選第4個并發,
c)Failback都選never
d)如果改了startup策略也得改第二項選擇bring offline
e)修改屬性,選擇serviceIP、APP、VG
f)發現resource Group
8、配置服務(HA都停掉才能同步)
a)
9、配置non-IP網絡
a)磁盤心跳:拓撲àcommunication deviceàdiscover磁盤心跳占用io很小
b)查看心跳clstat可能會看不到,因為找不到命令路徑,/usr/es/sbin/cluster/clstat才可以;more or vi /etc/snmpd3.conf
c)Stopsrc –s snmpd
d)Startsrc –s snmpd
e)查看心跳:cldump/usr/es/sbin/utilities/cldump,可以把要用的文件路徑放到path里;cldump=HACMP里面檢測中的第二項
f)Ls –l | grep ^d (ctrl_d)
10、同步(啟動)
11、校驗配置對不對
a)cltopinfo :/usr/es/sbin/cluster/cltopinfo
b)clshowres查看資源
c)cldisp顯示動態vip
d)/usr/bin/snmpinfo/ -n next –v risc
e)/usr/es/sbin/cluster/utilities/clcheck_server grpsvcs|echo $0表示沒啟,1表示已啟動
f)lssrc –ls clstrmgrES(vrmf是版本的意思)
g)clRGinfo
h)lssrc –a |grep cl
i)不要使用HA自帶的test工具,日志cluster.log hacmp.out,hacmp停掉aix會重啟
j)Lssrc –ls clstrmgrES,current state:ST_INIT正在執行,ST_STABLE狀態穩定
k)elf、mount查看FS
12、如果HA有問題,HA從活動向非活動同步,stable代表狀態穩定
刪除HA的步驟:1、停HA
2、刪除nodes(persistIP可以不刪)
3、刪除vg
a)Varyoffvg vg00
b)Exportvg vg00
c)Reducevg bvg hdisk2
d)Lsvg –o
e)Ls –l /etc/vg
4、Odm方法刪除vg
a)Odmget –q name=bvg CuDv
b)Odmdelete –o CuDv –q name=bvg
c)Odmget –o CuAt –q name=bvg
d)Odmget –o CuDvDr
5、
Aix各種忘記密碼的辦法:
Root:用光盤重新引導
Asmi:
Sms:摳出電池放電
串口管理、simi:找到小開關撥弄一下
HMC(CA/CE login):重裝HMC、恢復出廠設置、等14天以后自動重設
通過串口可以獲得HMC IP,HMC先開機再插網線,ip會變成默認,并發資源組不能帶IP。最好使用串口連接安裝AIX
smit hostname修改主機名
smit tcp/ipàfuuther configuration(好像是配置persistIP)
lssrc –s sshd
cfgmgr –l scsi2
cfgmgr
lsdev –Cc disk
bootinfo –s hdisk2查看磁盤的大小
rmdev –dl hdisk2刪除磁盤
HA中node名可以和host名不一樣,但最好是一樣
HA在smit建立節點連接的時候,選一個網卡資源就行
Add interface/deviceàadd discovered連接接口和設備
persistIP用來管理:(主要用于平時的管理,路由配置、ip不能漂移到另一個node、校驗同步,在“interactive”選擇中配置)
ssa
disk心跳(enhanced concurrentVG)
串口心跳
校驗和同步
persistIP可路由,監控程序、監視目前是安全的cluster
gsclvmd:隨著HA啟動而啟動,單獨停止再啟動啟不來
grpglsm:用來監控,sp做切換時使用,平時不啟動
netstat –i查看啟動端口
chmod 700 *
報錯HACMPsiteinfo
/etc/es/objrepos/HACMPsiteinfo這是沒有pvid的原因
授予pvidchdev –l hdisk2 –a pv=yes
Machinfo查看cpu
改變0,0à33,24
同步頻率60à10
改變ssa節點號0à1,
0à2
Smit clstart啟動ha
Lssrc –ls clstrmgrES
Netstat –i
查看路由:netstat –rn
Ping –R
Cllsif查看接口
Crfindres
Clshowsrv –v、-a
Odmget HACMPlogs查看日志菜單
查看歷史操作:history| .sh_history | wtmp
Ifconfig en1 10.1.1.1 delete
Lqueryvg –p hdisk4 –At | more
Redefinevg –d hdisk4 bvgRedefinevg –d hdisk4
Cd /dev/ls –l | grep vg
Odmget CuDvDr |grep –p bvg
Ls –l |grep 48,
Odmget CuAt | grep pvid
Odmget CuAt|grep –p pvid
Shutdown –Fr
Odmdelete –o CuDvDr –q value=bvg
第四部分:ip替換方式配置HA相比于別名方式,ip替換方式支持mac接管,這是ip替換方式的唯一優點
serviceIP啟動以后替換bootIP
一個網卡只能有一個ServiceIP
一個網卡對應一個ip,有多少個網卡就有多少個iP
所有serviceIP和bootip都應該在同一個子網
最多只支持2個serviceIP,且必須在同一個子網
當網卡的HA故障檢測需要配置第三方節點,即netmountcf文件
常見的ip配置錯誤:
子網掩碼不同
一個node上的ip都在同一subnet
放在同一subnet
網口速率最好指定,不要自動
/etc/host文件不同
Ip地址漂移對client的影響:
同一node上的en1飄到了en2
Gratuitous app廣發消息包,但是有些路由不支持,因為一旦是欺騙包將導致以后不能正常通信
Ip –d刪除ip(在客戶端執行)
Arp –d ip
Ping –c 4 ip(ip表里沒有)
這時可以更新ip列表
如果遇到ipcache問題可以實用假mac方式解決
Smitàdeviceàcommunicationàaddà合并
有多種檢測方式可以檢測總體情況:
規劃應用監控:進程監控、定制監控
Hacmp es cluster manage包含
Run_clappmond
Clappmond
定制監控:服務可用、不可用
Ps –l <process_name>
Ps –e顯示其他
一個app可以有多個monitor,一個cluster最多有48個monitor
Ip別名方式換成ip替換方式,persistIP需要先刪掉
Snapshot用來備份ha配置信息,還原配置信息,也可以存儲配置信息
DARE:動態重分配
Cluster toplogy
運行DARE需要三種odm copies:DCD/SCD/ACD在同步過程中使用
單節點控制:
做改變之前,建議先做snapshot,改變vgda其實是改變odm,gpfs需要單獨買軟件
Esc+9切換到另一個node
配置ha過程中一定要把vg加入到resourceVG中
Snap –e
Netmon –cf
Clsnap –a
Lvm問題原因,基本上是改變和odm不一致造成,手工改變lvm就行
在a上改口令,突然切到了b上,b上還是老口令
Link to。。。
Home目錄下不妨共享文件
使用集群修改口令,如果A改動,那么自動同步到b,如果某node關閉,就需要將cluster改成single模式
如果HA版本不一致,包括補丁,可以校驗但不要同步,否則odm會垮掉
如果某個node非活,那么該節點不能發起同步
每日巡檢:
校驗:配置和env是否匹配
先不要同步,先校驗
如果想回滾操作可以用snapshot還原
測試串口心跳:
兩個節點都執行stty</dev/tty0
也可以在一個節點執行cal>/dev/tty0另一個執行cat</dev/tty0
測心跳應該雙方向
c-spoc選項用來添加刪除可以,但是改變不可以
home node模式不是并發
netmon.cf用來配置單網卡cluster第三方校驗
ls –l |grep ^d
事件目錄:/usr/es/sbin/cluster/events
Ls|grep –v rp|wc –l
Ls –l |grep –v rp|grep down
網絡故障是fail不是down
使用smit中的文件名最好不帶空格
打完補丁就會自動改腳本,所以打完補丁需要改動腳本
添加事件實際就是啟用
停掉cluster服務,clmond先是停掉在重啟,修改事件記錄再重啟cluster
建立資源時不應該讓vg自動varyon
模擬錯誤日志:
Errpt|head
Detail send data什么都沒有說明是模擬
如果有二進制數說明有問題
Ha的自動校驗是默認每晚12點,生產環境中testtool不要用
Led顯示888,
原因:可能是dms超時(dead man swich死人開關)
Cluster在每個node都有心跳的計數,達到一定數值會自動復位,如果磁盤io太大,cluster不讓計數及時復位,不復位node就不能發出心跳,節點間會互相認為對方故障,出現split-brain
DGSP原理:一個節點正在正常運行資源,另一個資源來接管(搶),cluster會中斷資源數少的node,保證數據完整,網絡不混亂
Dms產生的原因:
沒有心跳網絡和通信網絡
切換太快
Dms是不允許停掉的。要想改變dms報錯,
只能擴展配置,
把心跳率變低
Syncd每60秒把磁盤上的東西寫到磁盤,如果時間變短一點io也會變得少一點,就能減少dms幾率
把系統級別的改成33、24
Src中斷會導致死機
Src意外中斷、kill -9等原因
沒打補丁修復bug
會導致關機或死機
Src不能意外終止否則會死機
兩個節點,拔掉線之后馬上插上,節點也會down(有丟包了認為對方down,又通了說明有未知問題,為了保護數據down掉自己)
問題定位采用少數節點服從多數節點原則
2節點可能是名字順序
如果意外宕機將先記錄關機日志,在記錄錯誤日志,注意時間順序
RG事件再加180秒,錯誤往前推
Snap –c收集ha日志
http://www.aixchina.net/home/space.php?uid=6880&do=blog&id=24175
Death man swich
The DGSP messageA Diagnostic Group Shutdown Partition (DGSP) message is sent when a node loses communication with the cluster and then tries to re-establish communication.214 IBM ^ Certification Study Guide - pSeries HACMP for AIXFor example, if a cluster node becomes unable to communicate with other nodes, yet it continues to work through its process table, the other nodes conclude that the “missing” node has failed because they no longer are receiving keepalive messages from it. The remaining nodes then process the necessary events to acquire the disks, IP addresses, and other resources from the “missing” node. This attempt to take over resources results in the dual-attached disks receiving resets to release them from the “missing” node and the start of IP address takeover scripts.As the disks are being acquired by the takeover node (or after the disks have been acquired and applications are running), the “missing” node completes its process table (or clears an application problem) and attempts to resend keepalive messages and rejoin the cluster. Since the disks and IP addresses are in the process of being successfully taken over, it becomes possible to have a duplicate IP address on the network and the disks may start to experience extraneous traffic on the data bus.Because the reason for the “missing” node remains undetermined, you can assume that the problem may repeat itself later, causing additional down time of not only the node but also the cluster and its applications. Thus, to ensure the highest cluster availability, a DGSP message is sent to all nodes in one of the partitions. Any node receiving a DGSP message halts immediately, in order to not cause any damage on disks or confusion on the networks.
In a partitioned cluster situation, the smaller partition (lesser number of nodes) is shut down, with each of its nodes getting a DGSP message. If the partitions are of equal size, the one with the node name beginning in the lowest name in the alphabet gets shut down. For example, in a cluster where one partition has NodeA and the other has NodeB, NodeB will be shut down.
Deadman switch
To ensure a clean takeover, HACMP provides a Deadman Switch, which is configured to halt the unresponsive node one second before the other nodes begin processing a node failure event. The Deadman Switch uses the Failure Detection Parameters of the slowest network to determine at what point to halt the node. Thus, by increasing the amount of time before a failure is detected, you give a node more time in which to give HACMP CPU cycles. This can be critical if the node experiences saturation at times.To help eliminate node saturation, modify AIX 5L tuning parameters. For information about these tuning parameters, see the following sections in the Administration Guide:•Configuring Cluster Performance Tuning in Chapter 18: Troubleshooting HACMP Clusters•Changing the Failure Detection Rate of a Network Module in Chapter 12: Managing the Cluster Topology.Change Failure Detection Parameters only after these other measures have been implemented.
Syncd FrequencyThe syncd setting determines the frequency with which the I/O disk-write buffers are flushed. Frequent flushing of these buffers reduces the chance of deadman switch time-outs.The AIX 5L default value for syncd as set in /sbin/rc.boot is 60. Change this value to 10. Note that the I/O pacing parameter setting should be changed first. You do not need to adjust this parameter again unless time-outs frequently occur.
Ha非常重要的幾個概念:
Gost-disk
Split-brain
Deadman swich
DGSP
新聞熱點
疑難解答