我有一些数据正在通过 bacula 备份到磁带上,很快我将需要迁移到非磁带存储。
Bacula 支持磁盘归档,但我突然想到,如果只有一些到 S3 或 openstack Swift 的虚拟磁带库接口,或者一些其他对象存储服务,我就可以交换配置并无缝维护预先存在的归档、老化和调度配置。
我使用谷歌搜索,发现 Amanda(使用设备 API)和一堆备份产品都有 S3 对象存储后端,但我没有看到任何可以使用 *nix /dev/st0 设备接口语义进行替换的项目。
这很可能是因为我不知道,而且这个想法是荒谬和不可能的,等等,然而,在我深入研究一些被破解的替代品之前,我很想知道我是否错过了任何显而易见的事情。
因此,请明确平台选项 - 它不托管在 AWS 上,目前没有可用的 EBS,目标是内部 S3 兼容的 openStack Swift 对象存储,因此带宽和存储成本是内部的。
答案1
答案2
在 EC2 上模拟磁带的坏处是,为了模拟磁带,您必须模拟所有方面。这包括当您加载磁带并且不打算在开始时写入时,您必须查找所有数据。
我相信一个更简单的做法是将 EBS 卷作为 Bacula 中的块设备进行连接。
更简单的操作方法是使用Media Type = Fifo
并链接到一个写入 EBS 的程序。对于恢复,您必须想出其他办法,但它会移动您的数据。
答案3
您可以尝试 MHVTL,它模拟虚拟磁带库并使用文件/目录作为存储。您可以使用 S3FS 或其他机制来模拟 MHVTL 可以放置的文件/目录。您还可以修改 MHTL,使其文件在挂载/卸载时像目标一样移入/移出 S3/Swift。它看起来像 /dev/tapedevice 和 scsi 媒体转换器,因此备份产品可能无需更改即可工作。不知道是否支持。