S_lion's Studio

glusterfs回收站功能

字数统计: 723阅读时长: 3 min
2021/07/16 Share

功能简述

glusterfs有一个类似windows回收站的功能,可以帮助用户获取和恢复临时被删除的数据。每个块都会保留一个隐藏的目录.trash,它将会被用于存放被从各个块删除的文件。这个translator以后还会增强功能来支持被删除文件的恢复。

回收站的目录名应该是可配置的。trash translator也会被用于内部操作比如自卷的自修复以及再平衡。

1
# gluster volume set <VOLNAME> features.trash <on/off>

此命令可用于启用卷中的Trash translator,如果设置为on,则在卷启动命令期间,将在卷内的每个brick块中创建.trashcan目录。默认情况下,translator在卷启动期间加载,但仍然不起作用。在此选项的帮助下禁用垃圾桶将不会从卷中删除垃圾邮件目录或甚至其内容。

1
# gluster volume set <VOLNAME> features.trash-dir <name>

此命令用于将垃圾目录重新配置为用户指定的名称。参数是有效的目录名称。目录将在这个名字下面的每个brick内创建。如果用户没有指定,translator将创建默认名称为“.trashcan”的垃圾桶目录。只有当Trash translator开启时才可使用。

1
# gluster volume set <VOLNAME> features.trash-max-filesize <size>

此命令可用于根据大小过滤进入垃圾目录的文件。大小超过rash_max_filesize的文件将直接删除/截断。大小值后可以跟乘性后缀,例如KB(= 1024字节),MB(= 1024 * 1024字节)和GB(= 1024 * 1024 * 1024字节)。默认大小设置为5MB。考虑到垃圾目录占用了glusterfs卷空间这一事实,垃圾邮件功能的实现方式是,即使此选项设置为大于1GB的某个值,它也可以直接删除/截断大于1GB的文件。

1
# gluster volume set <VOLNAME> features.trash-internal-op <on/off>

此命令可用于为内部操作(例如自愈和重新平衡)启用垃圾桶。默认设置为关闭。

简单测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@gluster1 /]# gluster volume info

Volume Name: gv1
Type: Distribute
Volume ID: 58bf037f-5b56-4cf6-8dab-9e9944800b61
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gluster1:/storage/brick1
Brick2: mystorage2:/storage/brick1
Options Reconfigured:
features.trash: on
performance.readdir-ahead: on

启用gv1卷中的Trash translator:

1
2
[root@gluster1 /]# gluster volume set gv1 features.trash on
volume set: success

进入到挂载目录进行删除操作:

1
2
3
4
[root@gluster1 /]# cd /mnt/
[root@gluster1 mnt]# ls
aa bb cc ddd
[root@gluster1 mnt]# rm -rf cc

查看目录发现有带时间戳的文件:

1
2
3
4
5
6
7
8
9
10
11
[root@gluster1 mnt]# ls -la
total 12
drwxr-xr-x 4 root root 4096 May 21 06:03 .
dr-xr-xr-x. 23 root root 4096 May 20 17:23 ..
-rwxr-xr-x 1 root root 0 May 20 00:36 aa
-rwxr-xr-x 1 root root 0 May 20 00:36 bb
-rwxr-xr-x 1 root root 0 May 20 00:36 ddd
drwsr-sr-x 3 root root 4096 May 20 23:22 .trashcan
[root@gluster1 mnt]# cd .trashcan/
[root@gluster1 .trashcan]# ls
cc_2019-05-20_151208 internal_op
CATALOG
  1. 1. 功能简述
  2. 2. 简单测试