influxdb相當好用,先誇下,但是官方沒有開源的集羣方案,比較坑,涉及到高可用比較弱一點。
還好是作爲監控的數據庫使用,這不就趕上機房搬遷,需要做遷移。。。 頭大,因爲之前只是用了一臺服務器做influxdb使用,配置裏面全都是這個服務器的IP,grafna展示也是用這個IP。如果是使用域名就好了,只需要修改下域名的指向,這些部分的都不需要修改了。所以呀,辦事還是規範點,不然一天到晚的埋坑 踩坑 填坑。
開始正事,準備遷移
1 在新的服務器上準備好influxdb,主要是安裝influxdb了。
前往官網下載安裝:
安裝步驟省略。。。無非是 yum rpm 或者是make
然後把配置文件同步過來。
啓動服務, 查看是否有報錯
然後做域名指向,附加項,這部分完全是爲了減輕一會遷移或者維護
到現在爲止,已經有了一個新的influxdb,hold on 感覺那裏不對,是不對,因爲沒有數據,不能遷移一下之前的數據都丟了吧。
2 進行數據備份遷移:
遷移的核心步驟爲:
備份元數據
1、
influxd backup -host localhost:8088 ./influx_db_backup
備份數據庫
2、
influxd backup -database ihome_default -host localhost:8088 ./influx_db_backup
恢復元數據
3、
influxd restore -metadir /var/lib/influxdb/meta/ ./influx_db_backup
恢復數據庫
4、
influxd restore -database ihome_default -datadir /var/lib/influxdb/data ./influx_db_backup
修改權限
5、
chown -R influxdb:influxdb /var/lib/influxdb
重啓influxdb
6、service influxdb stop
7、service influxdb start
2.1登錄influxdb查看數據庫:
#influx >show databases
然後再數據盤上進行備份,注意空間大小
將數據庫名字粘貼到:
database.txt
2.2執行備份
然後書寫腳本:
# cat backup.sh #備份元數據 influxd backup ./influx_db_backup #恢復元數據 #influxd restore -metadir /var/lib/influxdb/meta/ ./influx_db_backup while read line do echo $line backdir=$line-backup #備份數據庫 influxd backup -database $line -host localhost:8088 $backdir #恢復數據庫 #influxd restore -database $line -datadir /data0/influxdb/data ./$backdir done < database.txt
然後執行,在屏幕上回出現執行的進度,逐個庫備份,這時候服務器壓力會增大,注意幹這種事情 儘量在夜深人靜的時候
2.3 同步數據,建議直接把備份的數據rsync到新服務器上
命令就忽略了
2.4 恢復數據庫,還是剛纔的腳本 簡單的改吧改吧。
# cat backup.sh #備份元數據 #influxd backup ./influx_db_backup #恢復元數據 influxd restore -metadir /var/lib/influxdb/meta/ ./influx_db_backup while read line do echo $line backdir=$line-backup #備份數據庫 #influxd backup -database $line -host localhost:8088 $backdir #恢復數據庫 influxd restore -database $line -datadir /data0/influxdb/data ./$backdir done < database.txt
執行一下 ,屏幕上又是一堆輸出,都是正常的。等待導入完成。
建議 導入完成後重新下數據庫
2.5 進行善後工作
修改寫入位置 主要是寫入域名
修改grafana的調用
2.6 最後檢查
檢查老influxdb上的日誌 查看寫入情況 持續修改
至此 遷移工作完成
可以去喝口茶水了 啦啦啦啦啦啦