Квота на MooseFS, Samba делится под AD

596
Edik Mkoyan

У меня есть контроллер домена Windows и 4 сервера Linux, подключенные к нему в качестве хранилища. На linux-серверах у меня есть centrifydc-samba для совместного использования пользовательских папок, и те же самые папки - это chunkservers mfs, которые монтируют свои экспорты moosefs. Мне нужно ограничить каждого пользователя, чтобы пользователь мог видеть, сколько свободного места у него в машине Windows. Как я могу это сделать?

0

1 ответ на вопрос

0
oxide94

In MooseFS you can set up "project" quotas (e.g. homedir or sth).

man mfssetquota:

Quota is set on a directory. It can be set in one of 4 ways: for number of inodes inside the directory (total sum of the subtree's inodes) with -i, -I options, for sum of (logical) file lengths with -l, -L options, for sum of chunk sizes (not considering goals) with -s, -S options and for physical hdd space (more or less chunk sizes multiplied by goal of each chunk) with -r, -R options. Small letters set soft quota, capital letters set hard quota. -a and -A options in mfsdelquota mean all kinds of quota. Quota behaviour is described below. For soft quota grace period can be defined using -p option. When grace period is not given then default value will be used (option defined in mfsmaster.cfg or seven days if it's not defined there).

The best solution for you is to set a "total size hard quota", which does not take goal under consideration.

The command to set it is as follows (e.g.):

mfssetquota -S 10TiB /mnt/mfs/user1 

Next, to report the quota properly to samba, you have to mount a share with -S (equivalent to -o mfssubfolder) parameter:

man mfsmount:

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

and then share it through Samba. The thing is, that you have to mount and share through Samba each directory separately to enable properly reporting free space etc.