大數據“復活”記
1121
2025-04-01
1、GaussDB(DWS)NBU備份介紹
華為NBU備份的邏輯如下所示:
每個數倉節點都有Roach agent進程負責本節點的數據備份;
第一個節點額外有一個Roach master進程負責分布式集群備份。
每個Media Server(備份介質服務器)安裝華為的Roach client 插件。
備份數據流向:
在Media Server端安裝Roach Client插件(該插件端口可指定)
規劃集群節點與Media Server之間的映射文件
集群內Roach agent組件生成備份內容到內存,根據映射關系socket傳輸到遠端Roach Client。
NBU服務器側Roach Client插件接收備份數據,調用XBSA接口發送給Media Server。
Master Server根據StorageGroup策略分發數據到對應的Media Server,存儲到磁帶或磁盤
2、備份恢復操作步驟:
2.1 前置操作
需要保證集群內節點ping通 NBU 集群內所有集群,沙箱環境內Ruby用戶下要能ping通NBU機器;
NBU服務器、集群內節點以及涉及的中轉節點,都應保證是萬兆網絡鏈接,否則會影響性能驗證
驗證前進入沙箱臨時調整gsql禁免密guc參數:
su – Ruby
gs_guc set -Z coordinator -I all -N all -h 'local all all trust'
gs_guc set -Z datanode -I all -N all -h 'local all all trust'
需提前安裝好NBU環境,包括NBU Media Server等;
NBU Media Server機器上需要對外開放通信端口,用于沙箱內集群各節點和NBU Media Server之間TCP通信傳輸備份文件;
已安裝配置roach client插件
已配置NBU參數和策略
2.2? 集群備份操作步驟
云數倉備份功能可基于兩種方式實施:
方式一:DWS管控面
啟動Roach client并確保NBU配置正確;
進入DWS管控面,點擊備份集群,打開管控界面NBU開關,打開方式為:: F12進入瀏覽器console后,輸入如下指令
window.configData.snapshotSwith = 'true'
window.configData.nbuServerConfig = 'true'
進入集群,點擊快照,點擊自動快照狀態,修改快照策略,選擇備份設備為NBU、備份服務器IP為NBU Media Server ip,按行輸入,不要有空行。備份服務器端口即為roach client插件開放的端口,NBU策略根據實際配置輸入,與創建的policy保持一致。
配置策略完成后,進入對應集群控制界面,點擊更多,會彈出下拉菜單,點擊創建快照即可,然后輸入快照名稱,點擊確定,即可創建快照。
設置自動快照備份后,即會周期觸發增量備份(默認周期為8小時)
方式二:命令行(可根據需要配置為備份作業)
執行全量備份命令:
python $GPHOME/script/GaussRoach.py -t backup --master-port 55000 --media-destination nbu_policy --media-type NBU --metadata-destination? /data1/roachbackup/metadata? --parallel-process 3 --nbu-on-remote --nbu-media-list /home/Ruby/media.txt --client-port 8888
注意:--media-destination為NBU策略名、metadata-destination、parallel-process、nbu-media-list、client-port根據實際配置進行更改。 其中metadata-destination值為元數據存放路徑parallel-process為設置的并行參數, 至少為單個節點主DN個數 + CN個數,nbu-media-list值為media server ip的記錄清單,client-port為roach_client插件開放的端口
執行增量備份命令:
python $GPHOME/script/GaussRoach.py -t backup --master-port 55000 --media-destination nbu_policy --media-type NBU --metadata-destination? $GAUSSHOME/roachbackup/metadata? --parallel-process 3 --nbu-on-remote --nbu-media-list /home/Ruby/media.txt --client-port 8888 --prior-backup-key 20200912_083324
備份說明:
全量備份會將源數據完整備份,而增量備份僅將上次備份后所做的更改進行備份,這里的上次備份可以是全量備份,也可以是全量備份后的增量備份。
需要注意的是,增量備份的基礎始終是全量備份。如果一次全量備份之后進行了全量恢復,則不能再基于該全量備份進行增量備份,必須要重新進行全量備份,然后基于新的全量備份進行增量備份。
增量備份分為累積增量備份和差分增量備份:指定的--prior-backup-key參數值始終為全量備份的backup key,那么增量備份就是累積增量備份,累積增量備份均是基于最近一次全量備份
2.3? 集群恢復操作步驟
執行全量/增量恢復命令:
python $GPHOME/script/GaussRoach.py -t restore --clean --master-port 55000 --media-destination nbu_policy --media-type NBU --metadata-destination? /data1/roachbackup/metadata? --backup-key xxxxxx --nbu-on-remote --nbu-media-list /home/Ruby/media.txt --client-port 8888
根據指定的backup key和系統中相關的全量/增量備份文件執行全量/增量恢復
啟動集群
python $GPHOME/script/GaussRoach.py -t start
2.4? 后置操作
執行結束后,需要還原gsql禁免密配置:
su - Ruby
gs_guc set -Z coordinator -I all -N all -h 'local?? all??? all??? sha256'
gs_guc set? -Z datanode -I all -N all -h 'local?? all??? all??? sha256'
想了解GuassDB(DWS)更多信息,歡迎微信搜索“GaussDB DWS”關注微信公眾號,和您分享最新最全的PB級數倉黑科技,后臺還可獲取眾多學習資料~
EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。