如何处理bacula中的移民工作

在我们现有的备份中,我们通过备份到磁盘池,将备份克隆到两个不同的磁带,然后将作业复制并迁移到两个不同的磁带池。 但迁移后,迁移的作业仍然占用磁盘卷,作业types变为“M”。

我知道我们可以在迁移作业定义中使用Purge Migration Job指令来清除这个指令。 但是,这将导致磁带上的两个作业在还原期间被选中。

你如何处理这个? 释放迁移作业占用的磁盘空间,同时使Bacula在还原期间不select这两个作业?

没有看到您的configuration,很难知道确切的问题,因为有太多的参数可供设置。 不过,我怀疑你的直接问题是,即使保留期限到期,Bacula也不会重复使用该空间。 诀窍是通知它如何知道什么时候“必须”。

请记住,磁盘存储是通过使用虚拟磁带来实现的,所以Bacula对“需要更多空间”的看法是“磁带”用完。 如果你的虚拟磁带运行你的文件系统的空间,Bacula不知道。 您必须使用“最大卷字节数”和“最大卷数”等设置约束磁盘池的大小。

还有一个名为Action On Purge = Truncate的设置,它将Action On Purge = Truncate虚拟(磁盘)磁带时使Bacula截断。 即使您仔细地限制了磁盘使用情况,这也是有帮助的,因为这可能有助于防止底层文件系统的碎片化。 通常,您需要将20%的磁盘空间保留为未使用状态,以避免巨大的性能问题,因为大多数文件系统不会有效地分配大文件。

有一件事必须纠正。 你可能实际上并没有得到你的数据的两个副本。 迁移是“移动”操作,而不是“复制”。 如果要制作两份作业,则必须使用Type = Copy 。 对于副本,当修剪原始作业时,其中一个副本( type=C )将被提升为备份( type=B )。 如果该副本稍后将被修剪,而另一副本将被提升。