【 TiDB 使用环境】生产环境 /测试/ Poc
前两天在尝试tidb的备份时,发现在本地做备份是总是出现下面的报错:
上网查解决方法时发现需要nfs,配置后确实成功备份。本地备份时一定要用nfs吗?
【 TiDB 使用环境】生产环境 /测试/ Poc
前两天在尝试tidb的备份时,发现在本地做备份是总是出现下面的报错:
你也可以备份到tikv服务器的本地磁盘上,只要目录名称一样就行,但是备份完后需要吧这些目录里的文件合并才能供恢复使用,比较麻烦,用nfs共享盘少了合并文件这一步
我也尝试过在每台tikv服务器上创建同样目录,但是在备份时依旧出现这个问题,所以我才会有这个疑问。
备份命令能发下吗
文件目录一样吗 权限给777了吗
这是备份命令:
tiup br backup full --pd=“192.168.246.128:2379” --storage=‘local:///tmp/tidb-backup/sanpshot-20230906100000’ --backupts=‘2023/09/06 10:00:00’
文件也给权限了
没问题了,是我自己蠢了,给上一级文件权限了
tmp/tidb-backup/sanpshot-20230906100000 777 root:root 权限全给
那我想请问一下,在合并备份时应该要怎样合并?将tikv下生成的文件放在哪里?
将所有tikv对应目录下生成的文件,合并在一起,然后重新放到所有tikv的对应目录下
意思是原来每部分只有三分之一内容,但恢复时需要每个tikv节点都有全部内容是吗
是的,恢复时,每个tikv的目录都要有全部的备份数据
备份可以不用nfs 恢复也可以不用。
要求所有tikv有同样的备份备份路径并且有权限写入。
本地备份恢复时候需要把所有tikv备份的数据合并,每个tikv上都是完整的,数据量不大用scp搞下就可以了
合并就是复制到同一个目录下,文件名不会冲突的
挂载目录不行么?
所有kv节点能访问这个磁盘就可以
是的,因为每个tikv负责恢复哪些数据并不确定,所以每个tikv都需要能够访问所有的数据内容
本地备份使用NFS是相对比较合理的方案,也可以使用备份到tikv机器所在的本地目录上,但是集群环境下多个节点的数据只备份本机器的tikv数据,但是数据恢复的话需要使用所有tikv节点的数据,此时就需要将所有节点的数据合并后分别传到每个tikv节点上,操作复杂且不容易维护,易出错。另外搭建s3存储服务也是不错的解决方案
NFS是异机备份的一种方案,相对于备份到tikv服务器,异机备份可以在tikv服务器故障后,仍然有完整的备份