HDR對於數據同步實時性要求高,而且不管主備日誌傳送同步或者異步,但是主備的檢查點也是完全同步的,這樣由於網絡環境不佳或者傳輸延遲,都會對性能造成影響,另外就是HDR只支持一個HDR輔助服務器,所以對於一些需要將數據備份擴展多個主機點的用戶需求還說無法滿足,於是應運而產生了RSS,補充了HDR的這些不足
RSS將日誌發送到RS輔助服務器被指定給完全在異步通信框架內的函數,所以可以對主服務器影響最小,RSS服務器對之間事務落實或檢查點均不同步進行,所以不保證同一時間主服務器上提交完成的事務在RS輔助服務器上完成,但是這個功能不是免費提供的,至少在Informix Choice Edition版本。
從對RSS與HDR功能應用比較來看,RSS相對於HDR有以下不支持的功能:
不支持SYNC方式
不支持DRAUTO參數
不支持同步檢查點
RSS不能直接轉換爲主服務器
RSS 工作的基本原理
爲支持 RS 輔助服務器,主服務器要進行檢查以查看是否連接了RS 輔助服務器,如果連接,那麼將頁面複製到用於將該頁面發送到 RS 輔助服務器的日誌高速緩存。SS_Send 線程將日誌頁面傳輸到 RS 輔助服務器。很有可能需要發送的下一頁不在日誌高速緩存中。在該情況下,RSS_Send 線程將直接從磁盤讀取日誌頁。
RSS_Send 線程與 SMX 交互,以使用全雙工方式發送數據。有了全雙工通信,線程在發送下一個緩衝區之前不等待來自RS 輔助服務器的確認。在主服務器需要來自 RS 輔助服務器的確認之前最多可發送 32 個緩衝區傳輸。如果達到 32 個緩衝區的限制,那麼發送線程將等待 RSS_Recv 線程接收來自 RS 輔助服務器的確認。
在 RS 輔助服務器上,RSS_Recv 與 SMX 交互,以接收來自主服務器的日誌頁。
RSS服務器配置的硬軟件要求可參見HDR,在此就不補充,其整個過程如下,相對來說比較簡單:
1.在主服務器上,啓用索引頁面日誌記錄
這樣可以使在創建索引時,索引頁日誌記錄將各頁寫入到邏輯日誌,以使高可用性環境中各服務器之間的索引創建同步,使用RS輔助服務器也必須啓用這項功能,才能將索引頁記錄完整記錄日誌並異步傳輸到輔助服務器。對於RSS,主服務器不必等待來自輔助服務器的確認,這可以運行主服務器上索引立即訪問。
索引頁日誌記錄是使用 onconfig 參數 LOG_INDEX_BUILDS 進行控制的。如果 LOG_INDEX_BUILDS 設置爲 1(已啓用),那麼在主服務器上構建索引然後將索引發送到輔助服務器。
$onmode -wf LOG_INDEX_BUILDS=1
此處注意,最好將輔助服務器的和主服務器的這個參數保持一致,以便於將來切換。
2.在主服務器上,註冊新的RS備用服務器
$onmode -d add RSS sb [password]
password可選加密,也可以不帶,sb就是輔助服務器的數據庫服務名,注意RSS是大寫。
3.對主服務器採取0級備份,標準I/O恢復
$ontape -s -L 0 -t STDIO -F|rsh 192.168.1.210 “. ~/.bash_profile;ontape -p -t STDIO”
4.使RS備用服務器進入online模式
$onmode -d RSS sa
5.RSS 狀態監控
onstat – 命令
IBM Informix Dynamic Server Version 11.50.UC1 — Updatable (RSS)– Up 00:00:59 — 105120 Kbytes
每次執行onstat時顯示的頭信息均有字段指示數據庫服務器正在作爲主數據庫服務器還是輔助數據庫服務器運行。
以下示例顯示作爲複製對中的 RSS 輔助數據庫服務器並且處於讀寫方式的數據庫服務器:
onstat -g rss 命令
我們可以在主服務器和 RSS 節點中分別運行 onstat -g rss 命令查看 RSS 節點狀態。 在主服務器和 RSS 節點上的輸出稍有不同。
在主服務器上運行 onstat -g rss 命令輸出如下:
Local server type: Primary //服務器類型
Index page logging status: Enabled //索引頁即可狀態是否激活
Index page logging was enabled at: 2011/06/3 18:10:01 //索引頁日誌記錄激活的時間
Number of RSS servers: 3 //連接主服務器上的RSS服務器數量
RSS Server information:
RSS服務器名 RSS服務器活動狀態 RSS服務器連接狀態 最近發送的LPG日誌標識和頁面 是否支持update
RSS Srv RSS Srv Connection Next LPG to send Supports
name status status (log id,page) Proxy Writes
sb Active Connected 7,899 Y
在輔助服務器上運行 onstat -g rss 命令輸出如下:
IBM Informix Dynamic Server Version 11.50.UC1
– Read-Only (RSS) — Up 00:05:18 — 55296 Kbytes
Local server type: RSS //服務器類型
Server Status : Active /RSS服務器狀態
Source server name: sa //主服務器名
Connection status: Connected //連接狀態
Last log page received(log id,page): 7,877 //最近接收的LPG日誌標識和頁面