【发布时间】:2018-09-12 00:26:41
【问题描述】:
使用快照备份 Cassandra 并上传它们是集群常见的事情吗?
我正在考虑让每个节点上的 cron 作业拍摄快照,对其进行 tar,然后每 24 小时上传一次,但我有点担心它对性能的影响。一旦节点上的数据变大,这不会削弱它吗?
【问题讨论】:
使用快照备份 Cassandra 并上传它们是集群常见的事情吗?
我正在考虑让每个节点上的 cron 作业拍摄快照,对其进行 tar,然后每 24 小时上传一次,但我有点担心它对性能的影响。一旦节点上的数据变大,这不会削弱它吗?
【问题讨论】:
nodetool snapshot 在 Cassandra 中创建的备份是硬链接,因此实际上不会使用比原始文件更多的空间。有关硬/软链接的说明,请参阅此帖子:
但是,如果您不使用 nodetool clearsnapshot 清除快照,那么您的数据会随着时间在集群上增长。这里的文档谈论clearing snapshots
顺便说一句,nodetool tablestats(以前的 nodetool cfstats)对于查看您在给定节点上为给定表使用了多少快照数据非常有用。
【讨论】:
有两种备份策略,完全备份和增量备份。进行完整备份后,请在每个节点上启用增量备份。您可以进行 1 个 cron 作业以将所有增量备份同步到 s3。 (Fullbackup + 之后的所有增量备份构成最新备份)。
因此,您可以有另一个 cron 作业,您可能只在周末或一个月运行一次,以删除所有以前的备份并进行完整备份。
【讨论】: