我有一些数据是通过bacula备份到磁带上的,在某些时候,我将需要迁移到非磁带存储。
Bacula支持磁盘存档,但是我发现如果只有一些虚拟磁带库接口到S3或者OpenStack Swift或者其他一些对象存储服务,我可以换掉configuration并保持原有的存档,老化和调度configuration无缝。
我有一个谷歌,我可以看到,阿曼达(使用设备API)和一堆备份产品有S3对象存储的后端,但我没有看到任何项目,将放入replace使用* nix / dev / st0设备接口语义。
这可能是因为我不知道,这个想法是荒谬的,不可能的,等等,但是我有兴趣知道在深入研究一些被黑客入侵之前,我是否已经错过了任何明显的事情。
因此,澄清平台选项 – 它没有托pipe在AWS上,目前没有EBS可用,目标是内部S3兼容的openStack Swift对象存储,因此带宽和存储成本是内部的。
对于任何人都可以考虑备份的问题,这不是一个值得怀疑的方法,但是您应该可以尝试一下。 你需要的第一件事就是在S3之上提供一个块接口。 像一个NBD服务器与S3后端 – 看看这个 。
当你得到这个工作之后,你需要在一个块设备上面提供一个文件,然后用换盘器和磁带驱动器为你的系统提供一个SCSI目标/虚拟HBA。 看看这个项目在这里 。
使用S3进行备份和恢复可能是一个坏主意(使用当前的S3定价scheme),请参阅S3NBD项目(第一个链接)了解更多理由。
在EC2上模拟磁带的坏处在于,要模拟磁带,必须模拟所有方面。 这包括这样的想法,即当您加载磁带并且不打算在一开始写入时,您必须查找所有的数据。
我相信一个更简单的做法是将EBS卷连接到Bacula的块设备。
什么可能是一个更简单的行动将是使用Media Type = Fifo和链接到一个程序,写出到EBS。 为了恢复,你必须去做别的事情,但它会让你的数据移动。
您可以尝试MHVTL模拟虚拟磁带库,并使用文件/目录作为存储。 你可以使用S3FS或其他机制来模拟MHVTL可以在其上的文件/目录。 你也可以修改MHTL,把它的文件移到/从S3 / Swift像mount / unmount上的目标一样。 它看起来像/ dev / tapedevice和scsi媒体转换器,所以备份产品可能会保持不变。 不知道支持。