influxdb相当好用,先夸下,但是官方没有开源的集群方案,比较坑,涉及到高可用比较弱一点。
还好是作为监控的数据库使用,这不就赶上机房搬迁,需要做迁移。。。 头大,因为之前只是用了一台服务器做influxdb使用,配置里面全都是这个服务器的IP,grafna展示也是用这个IP。如果是使用域名就好了,只需要修改下域名的指向,这些部分的都不需要修改了。所以呀,办事还是规范点,不然一天到晚的埋坑 踩坑 填坑。
开始正事,准备迁移
1 在新的服务器上准备好influxdb,主要是安装influxdb了。
前往官网下载安装:
https://www.influxdata.com/
安装步骤省略。。。无非是 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
执行一下 ,屏幕上又是一堆输出,都是正常的。等待导入完成。
建议 导入完成后重启下数据库
service influxdb restart
2.5 进行善后工作
修改写入位置 主要是写入域名
修改grafana的调用
2.6 最后检查
检查老influxdb上的日志 查看写入情况 持续修改
至此 迁移工作完成
可以去喝口茶水了 啦啦啦啦啦啦