TTserver運維方案

2021-08-31 20:42:29 字數 2864 閱讀 7507

ttserver運維方案

note:示例資料庫目錄 /data/ttserver_data

* 配置ttserver伺服器的啟動指令碼

安裝ttserver後預設在/usr/local/sbin目錄下有ttservctl啟動指令碼示例,建議copy到具體ttserver資料存放

的目錄(乙個機器可能有多個ttserver伺服器,分開便於配置和管理)

cp /usr/local/sbin/ttservctl /data/ttserver_data/;

cd /data/ttserver_data;

配置啟動指令碼ttservctl , vim ttservctl;如:

# configuration variables

basedir="/data/ttserver_data" #資料庫目錄

port="1978" #ttserver埠

ulimsiz="256m" #對單個ulog檔案限制,超過將新建乙個檔案

sid=1 #server id同mysql,不能有重複的

mhost="remotehost1" #master的位址

mport="1978" #master埠

extfile="$basedir/ext.lua" #lua擴充套件指令碼檔案,預設ttservctl沒有這項,如果要使用lua擴充套件**上,

#並在啟動指令碼下面的邏輯**中增加相應判斷。

rtsfile="$basedir/rts" #replication的時間記錄檔案

dbname="$basedir/database_name.tch#bnum=bucket數量#xmsiz=最大使用記憶體"

#資料庫名稱及優化引數(「#」後面引數,根據需求配置,bnum推薦為記錄數0.5-4倍,xmsiz理論上越大效能越好,

預設64m,也可以使用預設配置,去掉「#」後面引數即可啟動)

啟動ttserver伺服器:./ttservctl start ; 關閉ttserver伺服器:./ttservctl stop ;

note:可以放入rc.local中, ttserver啟動指令碼如果錯誤會有提示,也可以檢查埠是否啟用來確定ttserver的啟動是否成功

* ttserver的監控

note:具體閥值可以設定iotop佔總量的80%

* ttserver的備份

全量熱備份

備份命令為:tcrmgr copy -port 1978 localhost dpath.tch.***xx (其中***xx為備份時間)

根據業務需求及資料庫執行狀態決定備份的頻度,全量熱備時資料庫庫會寫鎖定,讀不受影響。全量備份需記錄備份時間點以提供replication恢復時所用,時間記錄點精確的微妙,可記錄到備份檔案名中,如backup.tch.1259474040630024。

示例備份指令碼:

[ -n "$1" ] ||

[ -n "$2" ] ||

backup_date=`date +%s%n`

backup_date=`expr $backup_date / 1000`

tcrmgr copy -port $ localhost $/backup_$.tch.$

echo "back up finish! $/backup_$.tch.$"

增量備份ulog

ttserver產生的ulog在"$basedir/ulog"目錄,設定了ulimsiz後會按檔案尺寸進行切割並按資料公升序命名,可以根據備份的

頻度,按ulog檔案最後修改時間,備份到ulog最大命名數字的前乙個檔案,同時也需記錄備份時間,可將時間記錄在打包備

份的檔名中,如backup_ulog.1259474040630024.tar.gz, 和全量備份一樣,精確到微妙。

note:全量備份速度和伺服器情況有關,基本接近直接copy速度

* ttserver的恢復

使用replication恢復

根據備份方案中資料庫全量備份方法得到的備份庫,如backup.tch.****** ,

echo ****** > "$basedir/rts" 寫入備份時間點,即恢復時間點

cp backup.tch.***xx database_name.tch

啟動: ./ttservctl start

恢復的庫會根據時間點去master庫同步資料,實現恢復使用日誌增量恢復

先使用前乙個全量備份的資料庫檔案作為基資料庫,下線要整理的ttserver。

清空原來的日誌,然後解壓,再cp 備份的ulog檔案 $basedir/ulog/ ,

echo ****** > "$basedir/rts" 寫入備份時間點(壓縮檔案名中包含),即恢復時間點

單獨啟動ttserver : ttserver database_name.tch

從日誌恢復:tcrmgr restore -port port -rcc localhost ulog

ctrl+c停掉ttserver,然後使用 ./ttservctl start 啟動,master結構重新建立

note:日誌增量恢復環節應避免受其他ttserver的伺服器影響,如可以使用乙個不使用的埠進行恢復,這樣資料也不會影響到其他伺服器,恢復後再用原來的啟動指令碼啟動,形成原來的dual master結構

* ttserver優化

note:整理時會鎖庫,讀寫都鎖定

* 備註

基於dual master的結構具有較高的可靠性,dual master其實就是實時的熱備方案,所以在備份頻度和廣度上是否可以

適當寬鬆一些?建議每天備份全量即可,增量的日誌一直留在伺服器上,但是日誌的分割尺寸要根據業務和恢復的粒度來確定。

TTserver運維方案

ttserver運維方案 note 示例資料庫目錄 data ttserver data 配置ttserver伺服器的啟動指令碼 安裝ttserver後預設在 usr local sbin目錄下有ttservctl啟動指令碼示例,建議copy到具體ttserver資料存放 的目錄 乙個機器可能有多個...

it運維中faq IT運維解決方案

藍快為企業提供桌面運維 系統運維 應用系統運維 儲存與備份運維 網路運維 資訊保安運維等服務,降低企業裝置的故障率,提公升裝置的執行能力,推動企業商業價值的實現 藍快it運維服務 桌面運維服務 對終端使用者及相關辦公裝置等問題,進行響應支援,保障使用者的日常辦公 系統運維服務 對各類伺服器進行日常維...

運維(1)什麼是運維

運維,這裡指網際網路運維,通常屬於技術部門,與研發 測試 系統管理同為網際網路產品技術支撐的4大部門,這個劃分在國內和國外以及大小公司間都會多少有一些不同。乙個網際網路產品的生成一般經歷的過程是 產品經理 需求分析 研發部門開發 測試部門測試 運維部門部署發布以及長期的執行維護。對於初創公司,運維部...