有没有办法将Cassandra直接备份到磁带(流媒体设备)? 或者执行真正的快照? Cassandra所指的快照不是我想要的快照。 它更像是数据库文件到目录的一致副本。
关心托马斯
答案 0 :(得分:1)
首先,让我们澄清Cassandra写入路径,以便我们知道需要备份的内容。写入进入并首先记录在commitlog中,然后写入memtable,然后最终刷新到sstables。当sstables flush时,将删除相关的commitlog段。
如果你想要一致的Cassandra备份,你至少需要sstables,但最好是sstables + commitlog,这样你就可以在commitlog和最近的flush之间重放任何数据。
如果您正在使用磁带备份,则可以将磁盘上的文件(commitlog和sstables)视为典型的数据文件 - 您可以对它们进行tar,rsync,根据需要复制它们,或指向amanda或任何磁带系统'在数据文件目录+ commitlog目录中使用,它应该只是工作 - 那里没有很多魔法,只需抓住它们并备份它们。其中一个更常见的备份过程涉及使用tablesnap,它会监视新的sstables并将它们上传到s3。
答案 1 :(得分:1)
您可以使用SPFS将Cassandra直接备份到磁带 SPFS是Spectrum Protect的文件系统。
只需将SPFS文件系统安装在您希望备份登陆的位置。 例如
然后将Cassandra备份到此路径。
通过此挂载点(/ backup)进行的所有操作将自动转换为Spectrum Protect Client API调用。 在Spectrum Protect备份服务器上,可以使用任何类型的受支持媒体。 例如:CD,磁带,VTL,SAS,SATA,SSD,云等。
通过这种方式,您可以轻松地将Cassandra直接备份到备份服务器。