什么是rss
RSS是一種將數據從主服務器復制到備服務器的方法
實例級別的復制 (所有啟用日志記錄功能的數據庫)
基于邏輯日志的復制技術,需要傳輸大量的邏輯日志,數據庫需啟用日志模式
通過網絡持續將數據復制到備節點
如果主服務器發生故障,那么備用服務器可以接管,直到主服務器恢復運行為止
RSS特點
與HDR相比可以有多個備節點
每個節點擁有它自己的存儲設備
能承受服務器軟硬件故障
支持異步檢查點
不能升級為HRD集群
使用索引頁日志記錄
搭建步驟
主? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 備
onmode -wf ?LOG_INDEX_BUILDS=1
onmode –d add RSS <rssname>
ontape –s –L 0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ontape -p
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?onmode –d RSS <priname>
?? ??? ??? ??? ??? ??? ??? ??? ??? ??
與HDR相比切換的差異
DRAUTO 必須使用CM切換
RSS 節點不能提升為主節點,只能提升為標準節點
RSS 節點不能提升為HDR備節點
HDR備節點可降級為RSS節點
通信流程如下
圖片來源于網絡
相關線程
主節點
smx相關線程,同HDR集群
smxrcv gbase02
smxsnd gbase02
smxRecvSnd
RSS_Send_gbase02
主要函數 ?cloneStdSend()
作用
向RSS節點發送 log buffers
啟動線程cloneSourceRecvThread 接收RSS 返回的ack
最大允許主節點發送64個log buffers 后返回ack
RSS_Recv_gbase02
接收RSS端ack消息
備節點
smx相關線程,同HDR集群
smxsnd gbase01
smxrcv gbase01
smxRecvSnd
RSS_Recv
主要函數 cloneRecvThread()
作用
接收主節點logical log buffer pages
遍歷日志記錄并將其排隊等待RSS_apply線程處理
向主節點發送ack消息
如下線程主要作用為解析主機發送的邏輯日志然后在備機重做
RSS_apply
logrecover
bld_logrecs
logredo
xchg_*
監控
onstat -g cluster
onstat -g rss
onstat -g rss verbose
onstat -g rss log
onstat -g smx
追蹤數據庫集群交互的通信過程
xtrace on
xtrace size 10000
xtrace heavy -c XTF_CLONE -f XTF_SMX_MSG
將環形隊列信息導出到文件
xtrace -t fview > result.txt
關閉
xtrace off
xtrace部分輸出如下