AD 下的 MooseFS、Samba 共享配额

AD 下的 MooseFS、Samba 共享配额

我有一个 Windows 域控制器和 4 个 Linux 服务器作为存储连接到它。在 Linux 服务器上,我使用 centrifydc-samba 来共享用户文件夹,并且相同的文件夹是挂载其 moosefs 导出的 mfs 块服务器。我需要限制每个用户,以便用户可以看到他在 Windows 机器上有多少可用空间。我该怎么做?

答案1

在 MooseFS 中,您可以设置“项目”配额(例如 homedir 或某些内容)。

man mfssetquota

配额是针对目录设置的。配额可以通过以下四种方式之一设置:使用 -i、-I 选项设置目录内的 inode 数量(子树 inode 总数);使用 -l、-L 选项设置(逻辑)文件长度总和;使用 -s、-S 选项设置块大小总和(不考虑目标);使用 -r、-R 选项设置物理硬盘空间(每个块的目标乘以或多或少的块大小)。小写字母设置软配额,大写字母设置硬配额。mfsdelquota 中的 -a 和 -A 选项表示所有类型的配额。配额行为如下所述。对于软配额,可以使用 -p 选项定义宽限期。如果未​​指定宽限期,则将使用默认值(在 mfsmaster.cfg 中定义的选项,如果未在此处定义,则为七天)。

对您来说,最好的解决方案是设置一个“总大小硬配额”,不考虑目标。

设置命令如下(例如):

mfssetquota -S 10TiB /mnt/mfs/user1

接下来,为了向 samba 正确报告配额,您必须使用-S(相当于-o mfssubfolder)参数挂载共享:

man mfsmount

   -S PATH, -o mfssubfolder=PATH
         mount specified MooseFS directory (default is /, i.e. whole filesystem)
mfsmount -o mfssubfoler=user1 /mnt/homedirs/user1

然后通过 Samba 共享。问题是,您必须分别挂载并通过 Samba 共享每个目录,才能正确报告可用空间等。

相关内容