kubernetes - Kubernetes中的CockroachDB快照备份

标签 kubernetes cockroachdb

我正在尝试使用Velero在使用Velero的12节点测试CockroachDB集群的Kubernetes中使用Velero进行快照备份,这样,如果集群失败,我们可以重建集群并从这些快照中还原cockroachdb。

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

有没有人获得快照备份以与具有大型数据库的CockroachDB一起使用? (鉴于数据集的大小,执行转储或从转储还原是不可行的。)

最佳答案

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

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

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

  • CockroachDB BACKUP的所有节点都将数据写入外部存储(S3,GCS等),但是需要enterprise license
  • SQL dump对于大型数据集而言是不切实际的
  • 停止所有节点,快照所有磁盘,然后再次启动所有节点。 警告:这是我们用来快速加载测试数据集的东西,但并未在生产环境中使用。
  • 关于kubernetes - Kubernetes中的CockroachDB快照备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57878858/

    相关文章:

    Kubernetes:如何将服务映射到 pod 内的本地端口

    c# - Npgsql 忘记了所有数据类型

    选择查询中的 Cockroachdb 格式日期时间

    postgresql - 通过在 JSONB 列上应用过滤器来查询 postgresql 中的数据

    mysql - 在 CockroachDB 的 GROUP BY 子句的返回集中连接字符串

    cockroachdb - CockroachDB 中的 DESCRIBE TABLE 等价物?

    kubernetes - ETCD 向 Prometheus 认证数据

    Kubernetes 在 pod 中使用 secret

    php - 如何使用Kubernetes运行一个简单的PHP Hello World应用程序

    kubernetes - 使用 Kustomize 跨多个环境和应用程序进行通用配置