У меня есть контроллер домена Windows и 4 сервера Linux, подключенные к нему в качестве хранилища. На linux-серверах у меня есть centrifydc-samba для совместного использования пользовательских папок, и те же самые папки - это chunkservers mfs, которые монтируют свои экспорты moosefs. Мне нужно ограничить каждого пользователя, чтобы пользователь мог видеть, сколько свободного места у него в машине Windows. Как я могу это сделать?
1 ответ
В MooseFS вы можете установить "проектные" квоты (например, homedir или sth).
man mfssetquota
:
Квота установлена в каталоге. Это может быть установлено одним из 4 способов: для количества инодов в каталоге (общая сумма инодов поддерева) с опциями -i, -I, для суммы (логических) длин файлов с опциями -l, -L, для сумма размеров блоков (без учета целей) с параметрами -s, -S и для физического жесткого диска (более или менее размеры блоков, умноженные на цели каждого блока) с параметрами -r, -R. Маленькими буквами установлена мягкая квота, прописными буквами установлена жесткая квота. Опции -a и -A в mfsdelquota означают все виды квот. Поведение квоты описано ниже. Для льготного периода мягкой квоты можно указать опцию -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 каждый каталог отдельно, чтобы правильно составлять отчеты о свободном пространстве и т.д.