Solaris Resource Manager 1.3 系统管理指南

保存和恢复限制数据库

因为限制数据库可能是一个稀疏文件,在对其进行复制时应该小心。如果该文件是采用不支持稀疏文件的实用程序编写的,则该文件就非常可能消耗大量磁盘空间,因为文件的空白区域在被读取时可能呈现为一系列的零,并作为真正的块而非空白区域被写回。如果该文件被诸如 tar(1)、cpio(1) 或者 cp(1)等实用程序复制、备份或恢复,则可能发生这种情况,虽然诸如 ufsdump( 1M) 和 ufsrestore(1M) 等程序能保护空洞。

您可使用 limreport 生成文件的一个 ASCII 版本,并使用 limadm 从该保存 ASCII 版本重新生成原始文件,进而对限制数据库进行备份和恢复。例如,命令:

# limreport 'flag.real' - lname preserve > /var/tmp/savelnodes 

将为口令映射中的每个用户创建作为 lnode 的 ASCII 表示的 /var/tmp/savelnodes。请注意,这样的操作将不保存没有相应口令映射条目的 lnode。至多在口令映射中的所有 UID 的集合都应该存在 lnode。

命令:

# limadm set -f - < /var/tmp/savelnodes

将重新创建数据以前得到过保存的 lnode。该命令不会删除未经保存的 lnode,所以这些技巧也可以用于保存和恢复所选的 lnode,而不是整个限制数据库。

limreportlimadm 命令 详细介绍了 limreportlimadm 命令的使用。管理员熟悉用这些命令保存和恢复 lnode 会很有帮助的,因为在改变 lnode 结构的解释(由限制数据库定义)时可能需要使用这些命令。

因为限制数据库的内容在正常系统运行过程中会定期改变,所以应该在系统静止时或者单用户模式下进行备份操作。类似地,只有在不使用 Solaris Resource Manager 时(如系统处于单用户模式时)才能对整个限制数据库进行恢复。