用于 CephFS 备份和/或数据恢复的 Ceph 池快照

用于 CephFS 备份和/或数据恢复的 Ceph 池快照

由于 CephFS 尚不支持快照,我们是否可以使用 Ceph Pool Snapshot 进行备份,以防意外删除 CephFS 内部的文件?

ceph osd pool mksnap {pool-name} {snap-name}
ceph osd pool rmsnap {pool-name} {snap-name}
rados -p {pool-name} lssnap
rados -p {pool-name} rollback {snap-name}

如果可能的话,我想利用 Ceph Pool Snapshot 备份 CephFS 内部的文件,并在 CephFS 内部意外删除文件时回滚 CephFS 池。

我知道我们总是可以使用异地备份,但我目前无法承受另外 200+ TB 的存储空间,并且我希望快照只使用 Ceph 集群内少量的空间。

参考:

答案1

好吧,我对 CephFS 快照的用途和机制感到好奇,搜索结果将我带到了这里。

首先,CephFS 中的快照功能已经可用,但尚不稳定。使用allow_new_snapsset,CephFS 中将启用快照,并且创建快照就像创建目录一样简单。除了不稳定之外,我发现快照中的文件似乎仍会随着文件系统中的文件的变化而变化,但我对此一无所知。

对池进行快照似乎是一种可靠的备份方式,但请记住,您必须对数据池和元数据池进行快照,并且需要同时进行两个快照,才能获得文件系统的一致快照。更糟糕的是,您需要合并两个快照并使用它们创建一个新文件系统,以便从快照中获取单个文件或目录,但multi-fs据我所知,ceph 中尚未实现此功能。因此,您执行恢复的唯一方法可能是用快照完全覆盖当前文件系统。

我正在采用allow_new_snaps看起来更有希望的方法。

相关内容