用BR备份时,如何将所有SST文件备份到NFS

在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种

  1. 直接进入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 分钟后被自动关闭。不再允许新回复。