【问题标题】:CockroachDB snapshot backups in KubernetesKubernetes 中的 CockroachDB 快照备份
【发布时间】:2020-01-12 16:29:44
【问题描述】:

我正在尝试使用 Velero 在 Kubernetes 中使用 Velero 对 12 节点测试 CockroachDB 集群进行快照备份,这样,如果集群发生故障,我们可以重建集群并从这些快照中恢复 cockroachdb。

我们正在使用 Velero 来执行此操作,并且快照和还原似乎可以正常工作,但在恢复时,我们似乎遇到了 CockroachDB 丢失范围的问题。

有没有人获得快照备份以使用具有大规模数据库的 CockroachDB? (鉴于数据集的大小,转储或从转储中恢复是不可行的。)

【问题讨论】:

    标签: kubernetes cockroachdb


    【解决方案1】:

    在 CockroachDB 节点运行时执行底层磁盘备份不太可能按预期工作。

    主要原因是即使持久性磁盘快照是原子的,也无法确保在完全相同的时间捕获所有磁盘(时间由 CockroachDB 的一致性机制定义)。还原将包含具有不同提交索引的节点的副本的数据,从而导致数据丢失或仲裁丢失(在管理 UI 中显示为“不可用”范围)。

    您有几个选择(按顺序或方便):

    • CockroachDB BACKUP 让所有节点将数据写入外部存储(S3、GCS 等)。在 20.2 版之前,这仅适用于 enterprise license
    • SQL dump 这对于大型数据集是不切实际的
    • 停止所有节点,快照所有磁盘,再次启动所有节点。 警告:这是我们用来快速加载测试数据集但没有在生产环境中使用的东西。

    【讨论】:

    • 可能是题外话,但这听起来像是在生产中作为仅操作系统许可证使用的限制,还是?
    猜你喜欢
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多