在k8s部署的tidb中,我想用br备份数据到nfs,不知道如何将tikv中的文件夹挂载到nfs server,是否要通过直接改sts来挂载?
你的意思是要把 TiKV 的 data 放到 nfs 还是 BR 备份的 data 放到 nfs
想将BR备份的所有sst文件放到nfs,而用BR备份的时候,sst文件分散在了各个tikv中
是k8s吗? 参考这个文档备份的? https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/backup-to-pv-using-br#ad-hoc-备份过程
是的,是K8S,参考过那个文档
现在有什么问题 ?
https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-use-cases#前置要求
现在的问题是备份的sst文件还在各个tikv中,没有到nfs中,看了上面的文档,说需要挂载到nfs server,请问如何挂载?如果直接通过exec进入容器挂载的话,担心pod重启后会丢失之前的配置。
这个建议看一下 NFS Server 的相关文档,可以在网上查一下。
你好,现在不是nfs server的问题,我现在可以想到的挂载的方式有2种
- 直接进入tikv的容器里挂载,缺点是容器挂掉的话还要在新的容器里再弄,这个肯定是不合理的。
2.在sts里设置绑定挂载路径,这个还没试过,sts由tc控制,直接改sts会不会哪里有不良的影响?
是否有其他合理的方式来挂载tikv的路径?
可以看一下这篇文档,使用 BR 工具备份 TiDB 集群到持久卷
https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/backup-to-pv-using-br
当前版本文档确实没有写清楚。
可以配置tc.spec.tikv.[additionalVolumes|additionalVolumeMounts]将同一个nfs目录挂载到跟backup cr里面指定的同一个位置,这样tikv和br就能看到同一个nfs的目录在同一个本地路径了,然后sst就会保存到一个nfs共享目录
你好,请问这个配置是通过 kubectl edit tc 来改吗?
additionalVolumes|additionalVolumeMounts 应该怎么设置的?
是否类似下面这样?:
volume:
name: nfs
nfs:
server: ${nfs_server_ip}
path: /nfs
volumeMount:
name: nfs
mountPath: /nfs
```yaml
spec:
tikv:
additionalVolumes:
# specify volume types that are supported by Kubernetes, Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes
- name: nfs
nfs:
server: 192.168.0.2
path: /nfs
additionalVolumeMounts:
# this must match `name` in `additionalVolumes`
- name: nfs
mountPath: /nfs
```
不知道你们的问题有没有解决,新的文档在这里,可能迟到了哈哈
https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/backup-to-pv-using-br
这里的 nfs 可以替换成任意 k8s 支持的网络文件系统,比如 ceph 之类的,具体列表在这里
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。