使用TSM备份时跳过硬链接

我们需要使用大量的硬链接来备份文件系统。 由于每个“真实”文件有几个硬链接,所以在备份文件系统时,我们想要跳过所有的硬链接,以避免每个文件的精确副本。

备份是使用Tivoli Storage Manager Backup完成的,我们无法将其作为除了单独文件以外的其他任何东西进行备份。

如果它与可能的解决scheme相关,我想要指出的是,可以通过文件名告诉硬链接正确的文件:

foobarbaz-123.ext # file foobarbaz-123-1.ext # hardlink foobarbaz-123-2.ext # hardlink barbazfoo-456.ext # file barbazfoo-456-1.ext # hardlink barbazfoo-456-2.ext # hardlink barbazfoo-456-3.ext # hardlink 

也就是说,所有硬连接在文件名中都有两个连字符,正确的文件只有一个连字符。

服务器正在运行Ubuntu Linux,这些文件位于我们SAN上的gfs卷上。

快速阅读一些TSM文档build议“不要那样做!”

使用unix,“文件”只是一个指向inode的目录条目。 一个“硬链接”就是当你有多个目录项(指针)指向一个给定的inode。 对于所有的意图和目的,这两个“文件”完全相同。

硬链接是unix中已经build立和理解的机制。 遇到它们是正确和常见的,备份软件通常可以准确地理解硬链接是什么,并且完全按照它应该支持的那样 – 作为指向特定数据片段的另一个指针,而不是作为独特和新颖的片断的数据碰巧和其他硬链接完全一样。

tsm和硬链接的快速谷歌表明,tsm理解硬链接,文档特别警告:

如果您只备份一个硬链接文件,就会出现问题。 例如,文件texta和textb包含彼此的硬链接。 您将texta归档,然后编辑textb并进行更改。 如果您检索texta,则对textb所做的更改将丢失。

有趣的是,似乎有两种不同的方法可以使用TSM进行备份 – 备份和归档,而这两种方式似乎对硬链接的处理方式有所不同。

备份和恢复文件 :

当两个文件指向相同的数据文件时,build立硬链接。 备份包含到另一个文件的硬链接的文件时,TSM将链接信息和数据文件存储在服务器上。 如果备份包含硬链接的两个文件,则TSM将两个名称下的相同数据文件以及链接信息一起存储。

归档和恢复文件 :

将包含硬链接的文件存档到另一个文件时,TSM将链接信息和数据文件存储在服务器上。

从这个angular度来看,如果你的备份服务器是“归档”的东西,那么你的备份服务器就会被打开,如果你正在“备份”它将会做你想做的事情。 留给IBM让它简单!

首先,“正确的文件”和“硬链接”之间没有区别,硬链接只是同一个对象的另一个名称,而软链接实际上是一个包含指向真实文件的指针的文件,这就是为什么软链接可以跨文件系统的边界和硬链接不能。

关于实际的问题:看一下文档中的Exclude选项和include-exclude-list选项,你应该可以和他们一起工作。 (如exclude /path/to/your/files/*-*-?.*或其他)。

如果不了解Tivoli Storage Manager的任何信息,就不可能获得任何软件来处理与文件不同的硬链接,因为原始文件句柄和其他硬链接之间没有实际的区别。 (可能会根据文件名进行编写)

升级到TSM 6.1并激活重复数据删除。 (目前只适用于设备types文件,但耐心是一种美德)