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