垃圾 translator 允许用户访问已删除或截断的文件。 每个 brick 都维护着一个隐藏的 .trashcan 目录,该目录将用于存储从相应 brick 中删除或截断的文件。 可以从挂载点访问所有这些 .trashcan 目录的集合。 为避免名称冲突,在将原始文件名移动到垃圾目录时,会将时间戳附加到原始文件名上。
**含义和用法**
除了访问被用户删除或截断的文件之外,垃圾 translator 还有助于内部操作,例如自我修复和再平衡。 在自我修复和再平衡期间,可能会丢失关键数据。 在这种情况下,垃圾 translator 可以帮助恢复丢失的数据。 垃圾 translator 旨在拦截 unlink、truncate 和 ftruncate 类型的 fop,将当前文件的副本存储在垃圾目录中,然后对原始文件执行 fop。 对于内部操作,文件存储在垃圾目录内的“internal_op”目录下。
**卷选项设置**
***●gluster volume set <VOLNAME> features.trash <on/off>***
此命令用于启用卷中的垃圾箱。 如果设置为 on,将在卷启动命令期间在卷内的每个 brick 中创建一个垃圾目录。 默认情况下,在卷启动期间会加载 translator,会创建垃圾目录,但 translator 不会运行。 使用此选项禁用垃圾不会从卷中删除垃圾目录及其内容。
***●gluster volume set <VOLNAME> features.trash-dir <name>***
此命令用于将垃圾目录重新配置为用户指定的名称。 该参数是一个有效的目录名称。 该目录将在此名称下的每个 brick 内创建。 如果用户未指定,垃圾 translator 将使用默认名称“.trashcan”创建垃圾目录。 这只能在垃圾 translator 打开时使用。
***●gluster volume set <VOLNAME> features.trash-max-filesize <size>***
此命令用于根据文件大小过滤进入垃圾目录的文件。 超过垃圾最大文件大小的文件被直接删除/截断。 size 值后面可以跟后缀,如 KB、MB、GB。默认大小设置为 5MB。
***●gluster volume set <VOLNAME> features.trash-eliminate-path <path1> [ , <path2> , . . . ]***
此命令用于设置垃圾 translator 的排除路径。 在此设置中的路径在删除/截断期间不会移动到垃圾目录。 该路径必须是卷中存在的有效路径。
***●gluster volume set <VOLNAME> features.trash-internal-op <on/off>***
此命令用于为内部操作启用垃圾,例如自我修复和再平衡。 默认设置为关闭。