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 

然后执行,在屏幕上回出现执行的进度,逐个库备份,这时候服务器压力会增大,注意干这种事情 尽量在夜深人静的时候

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 

执行一下 ,屏幕上又是一堆输出,都是正常的。等待导入完成。

建议 导入完成后重新下数据库

2.5  进行善后工作

修改写入位置 主要是写入域名

修改grafana的调用

2.6 最后检查

检查老influxdb上的日志 查看写入情况 持续修改

至此 迁移工作完成

可以去喝口茶水了 啦啦啦啦啦啦

Logo

一站式 AI 云服务平台

更多推荐