GaussDB(DWS)《ROACH小課堂Ⅰ測試方法篇之故障測試》
ROACH故障測試

ROACH作為備份恢復工具,在發(fā)生故障后的數(shù)據(jù)恢復能力尤為重要,這也是大多數(shù)需要用到恢復的場景。所以,對于故障的驗證,不僅僅需要保證故障類型的全面,還需要保證在備份恢復過程時間段上的充分驗證。
1????? 常見故障類型及注入方式
故障類型
注入方式
gs_roach進程故障
kill -9 強殺roach進程
CN/DN/GTM集群實例故障
mv 數(shù)據(jù)庫實例二進制文件+kill -9實例進程
網(wǎng)絡故障
ifdown/ifup 網(wǎng)卡閃斷
文件權限不足
root用戶chmod 000修改文件權限
磁盤滿/資源不足
dd if=/dev/zero of=big_file bs=1M count=20000,生成一個20GB的文件
宕機/重啟
reboot
2????? ROACH故障測試方法
2.1????? 備份恢復過程關鍵點注入故障
在備份或者恢復發(fā)起后,根據(jù)備份恢復流程分析拆解出的關鍵流程節(jié)點,通過匹配$GAUSSLOG/roach/agent日志中打印的信息,精準注入故障。以集群級備份為例:
#1啟動gs_roach進程
Creating Thread Roach Agent
#2開始準備備份文件清單
RAGENT_EXEC_PREPARING_METADATA come
#4開始備份行存文件
Copying the data files
#5開啟延遲XLOG回收
start delay xlog recycle before xlog copy
#6開啟延遲DDL回收
start delay ddl recycle before col file copy
#7create barrier
Setting agent state to \[AGENT_CREATING_BARRIER\]
#8開始備份XLOG
RAGENT_EXEC_BACKUP_XLOGFILES come
#9關閉延遲XLOG回收
stop delay xlog recycle after having copied all needed xlog segments
#10開始備份列存
Start backup table colfiles for physical fine grained backup
#11關閉延遲DDL回收
stop delay ddl recycle after having copied all col files
腳本實現(xiàn)思路:循環(huán)查詢?nèi)罩荆ヅ潢P鍵信息,當關鍵信息匹配成功后,立即執(zhí)行故障注入。eg.
flag=0;while [[ $flag -eq 0 ]];do file_name=`ls $GAUSSLOG/roach/agent/|grep "current.log"`;if [[ -f $GAUSSLOG /roach/agent/$file_name ]];then flag=`cat $GAUSSLOG /roach/agent/$file_name|grep "enter the callback of rowstore copy"|wc -l`; fi; if [[ $flag -eq 1 ]];then cm_ctl stop &&cm_ctl start; fi; done
2.2????? 備份恢復過程中隨機注入故障
黑盒精準注入故障,并不能保證所有流程分支都被覆蓋。并且,人工分析識別也存在認知限制。因此,精準故障注入之外,還需要長時間持續(xù)驗證備份恢復成功中,隨機點故障注入。
腳本實現(xiàn)思路:設置隨機的時間間隔,進行故障注入。(需要根據(jù)環(huán)境上的數(shù)據(jù)量,先摸底一次備份的時長,然后設置合理的時間間隔)。
Loop:
3????? ROACH故障測試關注點 1.對于不支持斷點續(xù)做的備份恢復,操作因為故障注入中斷后,要能重入成功。并且恢復后數(shù)據(jù)要一致且沒有core產(chǎn)生,集群其他的OM和業(yè)務功能不受影響; 2.對于支持斷點續(xù)做的備份恢復,操作因為故障注入中斷后,要能直接斷點續(xù)做成功。并且恢復后數(shù)據(jù)要一致且沒有core產(chǎn)生,集群其他的OM和業(yè)務功能不受影響; EI企業(yè)智能 Gauss AP 數(shù)據(jù)倉庫服務 GaussDB(DWS)
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。