■ 北京 韋群
編者按:Veritas和各大運(yùn)營商以及國內(nèi)的系統(tǒng)集成商合作,參與了業(yè)務(wù)運(yùn)營支撐系統(tǒng)改造、數(shù)據(jù)保護(hù)、容災(zāi)和網(wǎng)管等項(xiàng)目的建設(shè)。在LTBJ新業(yè)務(wù)運(yùn)營支撐系統(tǒng)建設(shè)中,核心系統(tǒng)引入Veritas Storage Foundation for Oracle RAC(以后簡稱SF Oracle RAC)提升存儲系統(tǒng)管理能力。
V e r i t a s S t o r a g e Foundation采用獨(dú)特的鏡像雙寫技術(shù),構(gòu)造全冗余的存儲高可用架構(gòu),在存儲層面實(shí)現(xiàn)“HA(High Availability高可用)”,當(dāng)一個存儲發(fā)生硬件故障時,業(yè)務(wù)系統(tǒng)主機(jī)會自動采用另一個鏡像存儲提供數(shù)據(jù),核心業(yè)務(wù)絲不受影響。
Storage Foundation能夠?qū)崿F(xiàn)異構(gòu)存儲之間的高可用,最大限度避免來自同構(gòu)同型號存儲的Bug并發(fā)影響。該技術(shù)徹底消除核心業(yè)務(wù)系統(tǒng)的存儲單故障點(diǎn),減少業(yè)務(wù)中斷風(fēng)險(xiǎn),有效加固存儲層面的高可用性,減少意外停機(jī)時間。
V e r i t a s D y n a m i c Multi-Pathing (DMP)通過使用路徑故障轉(zhuǎn)移和負(fù)載平衡來提供更高的性能。該功能可用于不同供應(yīng)商的多端口磁盤陣列。
其主要功能如下:
(1)光纖多通道的Fast failover 快速切換;
(2)I/O路徑優(yōu)化,提供多種算法;
(3)自動發(fā)現(xiàn)失效光纖路徑,并自動啟用恢復(fù)的光纖路徑;
(4)動態(tài)監(jiān)測多路徑的狀態(tài);
SF Oracle RAC使用I/O防護(hù)來消除與裂腦相關(guān)風(fēng)險(xiǎn)。I/O防護(hù)允許活動集群的成員進(jìn)行寫訪問并阻止非集群成員對存儲進(jìn)行訪問。
I/O防護(hù)功能由基于內(nèi)核的防護(hù)模塊(vxfen)提供,該功能在發(fā)生節(jié)點(diǎn)故障和通信故障時會采取相同的措施。當(dāng)節(jié)點(diǎn)上的防護(hù)模塊收到GAB模塊的通知,告知集群成員集發(fā)生了更改時,該防護(hù)模塊會立即啟動防護(hù)操作。該節(jié)點(diǎn)會使用“搶占并中止”命令,嘗試將已脫離節(jié)點(diǎn)的key逐出fencing磁盤。
SF Oracle RAC使 用CFS管理大型數(shù)據(jù)庫環(huán)境中的文件系統(tǒng),通過部署CFS,將相同的文件系統(tǒng)同時MOUNT到多個節(jié)點(diǎn)上,實(shí)現(xiàn)同時共享文件系統(tǒng)。
由于CFS是VxFS的擴(kuò)展,所以它以類似的方式運(yùn)行并在內(nèi)存中緩存數(shù)據(jù)。CFS使用稱為Global Lock Manager (GLM)的分布式鎖機(jī)制確保所有節(jié)點(diǎn)都具有一致的文件系統(tǒng)視圖。GLM通過協(xié)調(diào)對文件系統(tǒng)元數(shù)據(jù)的訪問,實(shí)現(xiàn)跨節(jié)點(diǎn)的元數(shù)據(jù)和緩存的一致性。
V e r i t a s C l u s t e r Server(VCS)通過控制組件層的啟動和關(guān)閉,以及提供監(jiān)視功能和故障通知功能來指示SF Oracle RAC操作。在典型SF Oracle RAC配置中,VCS的Oracle RAC服務(wù)組作為“并行”服務(wù)組而不是“Failover”服務(wù)組運(yùn)行;發(fā)生故障后,沒有發(fā)生故障的節(jié)點(diǎn)的服務(wù)組繼續(xù)運(yùn)行,故障節(jié)點(diǎn)VCS不會嘗試遷移發(fā)生故障的服務(wù)組。相反,可以使用該軟件將該服務(wù)組配置為在發(fā)生故障時重啟。
ODM(Oracle Disk Manager)是Oracle提供的磁盤管理工具,在Oracle 9i后,Oracle使 用Oracle磁盤管理組件(Oracle Disk Manager)來管理數(shù)據(jù),提高oracle數(shù)據(jù)庫的輸入輸出數(shù)據(jù)吞吐量。Veritas提供了ODM的擴(kuò)展,可以在VxFS文件系統(tǒng)的基礎(chǔ)上,為Oracle提供更高的讀寫速率和更簡便的管理,其在VxFS文件系統(tǒng)上的讀寫速率和裸設(shè)備屬于同一量級。在Veritas ODM管理下的數(shù)據(jù)文件使用連續(xù)的存儲空間,從而不會出現(xiàn)文件上的碎片。
本次安裝主機(jī)平臺選用AIX6.1。
SFRAC的版本為5.1SP1。
(1)配置主機(jī)信任關(guān)系,按要求設(shè)置環(huán)境變量。
(2)按硬件兼容性手冊要求,修改光纖卡參數(shù)設(shè)置。
根據(jù)硬件兼容列表要求,設(shè)置光纖卡參數(shù):
# chdev -l fscsi0 -a fc_err_recov=fast_fail -P
# chdev -l fscsi0 -a dyntrk=yes -P
重啟生效。
(1)VCS資源、資源組統(tǒng)一命名規(guī)則。
C l u s t e r n a m e &cluster id命名按規(guī)則要求。
ServiceGroup:命 名 以dg名為基礎(chǔ),依次命名。
Resource:需 要 配 置mount和dg兩種資源。均按要求統(tǒng)一命名。
(2)安裝按統(tǒng)一步驟要求,避免不同機(jī)器之間安裝的差異。
(1)統(tǒng)一格式化所有HDS硬盤
(2)確定磁盤使用順序,以取得最優(yōu)讀寫性能
根據(jù)disk 大小和name,對應(yīng)HDS LUN masking,挑出用于數(shù)據(jù)保護(hù)的磁盤fencingdisk,fencingdg 的名字統(tǒng)一為vxfendg。
(3) 創(chuàng) 建 所 需 dg、volume、fs等
創(chuàng)建共享dg
vxdg -s init dg diskxx diskxxx ....
設(shè)置dg屬性
vxdg -g dg set activ ation=sw disk detpolicy=g lobal dgfailpolicy=reques tleave
(1)DMP針對array鏈路判斷機(jī)制的參數(shù)優(yōu)化
fixedretry retrycount是陣列層面的參數(shù),要針對每一個陣列更改。
根據(jù)DMP多路徑的條數(shù),使得fixedretry方式下retrycount(對 enclosure的鏈路retry總數(shù)量)的數(shù)量 是 dmp_retry_count(每條鏈路上retry的次數(shù))數(shù)量的2-3倍。
(2)計(jì)費(fèi)文件系統(tǒng)優(yōu)化之碎片整理
規(guī)則:每周一次,2點(diǎn)到5點(diǎn)之間, 避開業(yè)務(wù)高峰的30-7號,做文件碎片優(yōu)化。
(3)對于鏡像卷的read優(yōu)化
由于盤陣的raid組不夠多,盤陣整體性能可能并不理想。我們可以通過調(diào)整read方式提供卷的讀性能。
根據(jù)測試,確認(rèn)round策略客戶系統(tǒng)中性能較好。
要將讀取策略設(shè)置為round,使用以下命令:
# vxvol [-g diskgroup] rdpol round volume
(4)GAB在和HAD通訊不上時Panic系統(tǒng)行為的優(yōu)化
當(dāng)系統(tǒng)負(fù)載高時,VCS守護(hù)進(jìn)程HAD進(jìn)程因?yàn)槟撤N原因無法按時向gab發(fā)送心跳,這種情況下,GAB會采取kill HAD的做法,kill后由hadshadow重啟HAD進(jìn)程。但當(dāng)HAD進(jìn)程由于某種原因無法被GAB成功kill的話,GAB為了保持Cluster一致性會強(qiáng)行panic系統(tǒng)。建議優(yōu)化該影響系統(tǒng)可用性的參數(shù)設(shè)置,同時加強(qiáng)系統(tǒng)監(jiān)控,及時發(fā)現(xiàn)問題。
在啟動后系統(tǒng)自動enable該參數(shù), 應(yīng)該更改/etc/gabtab文件,增加-k的option。
(5)SFCFS/SFRAC文件系統(tǒng)和磁盤組資源參數(shù)的優(yōu)化
當(dāng)系統(tǒng)性能出現(xiàn)瓶頸時,VCS的monitor程序有可能出現(xiàn)無法在默認(rèn)時間之內(nèi)return的問題,此時VCS將采取調(diào)用clean來強(qiáng)行offline資源。為避免這種情況:
對相關(guān)資源的monitor timeout 從60s優(yōu)化至180s;延長monitor 返回值的時間。
對相關(guān)資源的RestartLimit從0優(yōu)化至5;增加了當(dāng)資源狀態(tài)異常時先不進(jìn)行clean 操作,而是再一次進(jìn)行online操作嘗試,如果online 成功即不再clean資源,最大程度地提高應(yīng)用的高可用性。
(6)CRS timeout參數(shù)的優(yōu)化
修改CRS默認(rèn)timeout時間為300s,避免CRS快速Panic 系統(tǒng)。
檢查當(dāng)前值:
修改:
# /apps/crshome/bin/crsctl set css misscount 300
# /apps/crshome/bin/crsctl set css disktimeout 300
(7)SFCFS/SFRAC LLT的優(yōu)化
在系統(tǒng)資源極其緊張的情況下,LLT的進(jìn)程可能沒有響應(yīng),導(dǎo)致了LLT報(bào)錯,當(dāng)超過默認(rèn)的16s后Cluster即認(rèn)為LLT 心跳失效從而引發(fā)vxfencing 進(jìn)行動作,導(dǎo)致系統(tǒng)panic。為了更有效地規(guī)避該問題,建議將LLT的peerinact優(yōu)化為32s。
在/etc/llttab后添加:
s e t-t i m e r t i m e r peerinact:3200
功能性測試,驗(yàn)證是否對存儲系統(tǒng)進(jìn)行有效管理,各項(xiàng)基本功能是否實(shí)現(xiàn);
冗余性測試,驗(yàn)證是否能夠?qū)Ω鞣N故障進(jìn)行適當(dāng)?shù)靥幚?,從而保證業(yè)務(wù)系統(tǒng)在出現(xiàn)單點(diǎn)故障時還能繼續(xù)工作;
壓力測試, 當(dāng)系統(tǒng)壓力急劇增加時,是否能夠合理應(yīng)對,及應(yīng)急方案。