引言: PI 實時數據庫系統 (Plant Inhrmation System) 是基于 C/S、B/S 結構的商品化軟件應用平臺,是工廠底層控制網絡與業務管理信息系統之間連接的數據基礎橋梁,PI 系統在工廠信息集成中扮演著特殊和重要的角色。PI用于工廠數據的自動采集、存貯和監視及分析。作為大型實時數據庫和歷史數據庫 ,PI 系統可在線存貯每個工藝過程點的多年數據。
隨著國家對于電力企業環保監管的力度不斷加大,電力企業全工況實時在線監控逐步實現,監控的范圍涵蓋脫硫、脫銷、除塵及主機系統的所有關鍵參數,做為電廠實時生產數據的源頭的PI系統的穩定行越發顯得重要,通過雙機熱備方案,保障PI系統長周期連續運行。
PI系統基本由數據采集接口機、PI服務器、客戶端等組成,常規框架如圖1。

圖1 常規PI系統框架圖
實時數據從生產控制系統經由接口機從OPC上位機采集存儲到SIS側PI服務器中,再經由SIS側PI服務器中接口程序,跨過正向隔離器,將數據傳送到MIS側PI服務器中,用戶的各種數據訪問需求,都是由MIS側PI服務器提供。
上述方案中,MIS側PI服務器本身存在單節點故障風險,數據存儲空間也受限于服務器本身所配硬盤的空間,原方案中,歷史數據只能存儲3-4年,歷史數據逐步被新的數據所覆蓋,無法滿足長時間穩定運行及海量數據存儲的需求。
在雙機框架方案中,MIS側單機服務器調整為:雙主機+存儲陣列(如圖2)。方案特點為:單臺主機更換為雙主機,兩臺主機組成群集方式,相互之間以心跳線監測運行狀態,一臺運行,一臺備用,發現主機節點故障后,主動接替服務,保證系統連續運行。數據存儲由單臺服務器中,遷移到存儲陣列中,存儲陣列為雙控制器配置,與每臺主機都有兩路光纖通道,避免單通道節點故障。對于兩臺主機,存儲的數據是公用的。
數據存儲陣列采用raid6+熱備盤的設置,允許同時損壞三塊硬盤而不丟失數據。通過增加存儲陣列中硬盤的數量,大大滿足PI數據海量存儲的需要。
基本網絡拓撲如表1,從列表中可以看出:兩臺主機構成群集,主機間心跳線監測運行,群集虛擬出應用地址。
Window域環境搭建。本方案中所使用群集環境,是微軟Windows系統自帶群集,需要Windows域環境。兩臺主機首先分別安裝好Windows 2003操作系統,然后進行域配置。在PIW2(域服務器)的命令行中輸入:dcpromo,配置活動目錄,創建域控制器;擇在新林中新建域;啟動域安裝向導;輸入域名PIW.COM,并點擊下一步;選擇林功能級別 2003,并點擊下一步。(如果選 2008,就無法添加2008以前的系統作為域控制器)--此處報錯,現將未設置IP的網卡禁用,再點擊否(M),將靜態IP地址分配給所有物理網絡適配器。輸入域管理員密碼;在管理工具中,分別設置DNS正向區域及反向區域;在反向區域右側右擊鼠標點擊新建反向區域;在正向區域鼠標右鍵新建主機A;輸入B計算機名和相應的ip地址 ;創建相關指針記錄和允許所有經過身份驗證前打勾。右鍵“piw.com”,點擊“新建主機”;B服務器安裝域,將dns指向A服務器的ip,cmd命令行中輸入:dcpromo;選擇現有林中的向現有域添加域控制器,完成后重啟操作系統,域設置完成。

表1 基本網絡拓列表

圖2 PI系統雙機熱備改造框架圖
存儲陣列配置。首先初始化系統,插入IBM Storwize USB優盤(購買磁盤陣列時附帶)。打開優盤運行InitTool.bat文件,創建新的系統,設置陣列管理IP地址,按照后續提示完成。筆記本電腦網絡設置為與陣列同網段地址,瀏覽器中輸入陣列管理地址,登錄后,通過設置向導,完成系統創建。完成后,點擊查看內部存儲器。將一塊硬盤設置為備件,其他硬盤設置為raid6模式,這種硬盤設置,陣列中允許同時損壞3塊硬盤,而系統應用不會中斷,數據不會丟失,提高可靠性。
劃分lun卷:在主菜單選擇-按池劃分的卷,創建卷,選擇從v3700pool池中劃分一個2G的votingdisk 和一個2758G Datadisk。創建主機:在主菜單中選擇 主機,填寫主機名,依次把端口號添加到列表中,并添加主機。在光纖通道端口選項中看到的選項,就分別是兩臺物理主機的HBA卡的物理地址,主機創建完成。主機映射磁盤卷:將配置好的兩個卷分配給主機。兩臺主機做相同配置。至此磁盤陣列配置完成。
故障群集配置:在服務器A上,磁盤管理選擇mbr格式將磁盤陣列中劃分好的磁盤聯機,分配仲裁盤盤符Q,空間2G;剩余的劃給數據盤,盤符為R。以同樣的方法在服務器B上創建仲裁盤和數據盤,兩臺服務器盤符和大小保持一致。分別在兩臺服務器中添加“故障轉移群集“,服務器管理器-功能-添加功能, A與B兩臺服務器均配置好后,創建群集。
按照國家關于電力系統二次防護的規定,PI系統在二區與三區之間需要配置正向隔離裝置,數據從二區向三區單向傳輸,以保障生產控制系統的安全。方案中使用的是南瑞公司SysKeeper-2000電力網絡專用安全隔離裝置,隔離裝置也是雙機配置,通過心跳線監視運行。兩臺網閘中規則配置相同。CNI接口是OSI公司開發的專門用于跨越網閘單向傳送數據的接口程序。MIS側PI系統改成雙機熱備方式后,CNI接口配置也要做相應調整。兩臺服務器中要做相同的配置。程序都要安裝到共享盤中,通過PI-ICU并設置為系統服務。修改CNI接口文件,服務器名改為群集發布的虛擬服務地址,并將其添加到群集服務中。方案中群集發布的虛擬服務地址與原方案中單機服務器的地址一樣,這樣,普通用戶不需要做任何調整,對常規應用沒有影響。
停止原有PI系統CNI服務;備份PI數據(包含主歸檔的3個歸檔);備份原有CNI配置;在新的群集虛擬出的管理地址中還原PI數據;配置CNI接口;啟動pi服務,檢查系統是否正常;啟動CNI接口,檢查數據接收是否正常(MIS單側做雙機改變,網閘中數據傳輸配置不用做修改);檢查SVG發布系統數據是否正常;群集中兩臺主機切換測試。經實驗,兩臺主機分別重啟進行切換時,網絡鏈接會中斷1個ping包,PI系統數據在3-5秒中即可恢復正常接收,滿足系統不間斷運行的需求。恢復歷史數據。至此PI系統遷移工作完成。
通過雙機熱備項目,將單臺服務器的服務方式優化為雙服務器構成的群集服務,避免了由于PI服務器的單節點故障風險對PI系統長周期穩定運行的影響;大容量磁盤陣列的使用,擴大了數據存儲的可靠性和歷史數據的長久保存。目前系統運行穩定,PI數據傳輸、歸檔、瀏覽服務正常,達到了設計預期。