# Квоты

## [clu]

Ппл, есть ли возможность ставить квоты на директории?

----------

## ba

 *[clu] wrote:*   

> Ппл, есть ли возможность ставить квоты на директории?

 

afaik ничего такого нету. тока создавать fs и моунтить ее куда надо...

----------

## viy

А чем вызвана такая потребность?

Чтобы пользователь не мог использовать больше 5Mb из доступных 10Gb в /home?

----------

## [clu]

потребность вызвана на файловом сервере под самбой.

что бы отделы  не превышали свой 50gb лимит  :Smile: 

----------

## ba

а создать им всем по разделу или сделать групповые квоты не катит?

----------

## [clu]

атк тогда уже без квот мона создать каждому отдела/подразделению по разделу  :Smile: )

имхо 15 разделов - не спортивно  :Smile: )))

----------

## ba

ну групповые квоты тогда

----------

## viy

Почему 15 разделов --- не спортивно? lvm позволяет до 255 делать  :Wink: 

----------

## ABVGD

В samba-3.* есть свой механизм квот: smbcquotas - Set or get QUOTAs of NTFS 5 shares. Сразу оговорюсь: сам не пользовался, но уже любопытно  :Smile: 

USE="quotas" emerge samba (если нужно) и man smbcquotas.

----------

## ba

 *ABVGD wrote:*   

> В samba-3.* есть свой механизм квот: smbcquotas - Set or get QUOTAs of NTFS 5 shares. Сразу оговорюсь: сам не пользовался, но уже любопытно :)
> 
> USE="quotas" emerge samba (если нужно) и man smbcquotas.

 

имхо это клиент чтобы редактировать квоты на виндовом сервере

----------

## ABVGD

Похоже на то. По крайней мере без поднятых системных квот не работает. Жаль. Закатываю губу обратно.

----------

## GreenDragon

1) Выделить раздел для самбовых шар

2) собрать ядро с поддержкой quota

3) в /etc/fstab прописать: 

```
/dev/rd/c0d0p2  /home   xfs     defaults,usrquota       0       1
```

 естественно подставить свой раздел  :Smile: 

4) man quota

после этого каждый пользователь имеет квоту, для него установленную.

Это если они у Вас каждый в свои папки ходят. Думаю на общие шары будет приблизительно так же

----------

## [clu]

блин.. я вот оже ничего не нашёл  :Sad: ( 

а если потом нуна розширить пространство ? lvm ?

ну что за лажа :\\\

----------

## GreenDragon

 *[clu] wrote:*   

> блин.. я вот оже ничего не нашёл ( 
> 
> а если потом нуна розширить пространство ? lvm ?
> 
> ну что за лажа :\\\

 

Мужики, читайте хоть что-нибудь, блин. Если потом нужно пользователю Васе дать больше места это делаетсся так:

```
edquota vasya
```

----------

## ba

Не, народ, че-то вы тупите, я же для решения поставленной задачи предложил нормальное решение - групповые квоты. Я так понял, у каждого отдела своя папка, притом расшаренная по самбе? тогда в описании папки делаем force group = department_name, создаем группу department_name, добавляем в нее всех юзеров из этого отдела, ставим на эту группу квоту. все. если надо, то увеличиваем/уменьшаем квоту. Если хоумы/профиля находятся на том же разделе что и папки, то тогда надо чтобы department_name была не основной группой пользователя.

----------

## viy

Я понял, что требуется установить квоту данному пользователю в данном каталоге, причем эта квота может быть/будет меньше, чем квота для пользвотеля в системе вообще.

Или я не прав?

----------

## ba

 *[clu] wrote:*   

> потребность вызвана на файловом сервере под самбой.
> 
> что бы отделы  не превышали свой 50gb лимит :)

 

может быть(я если честно тоже не совсем понял автора), но как то что ты предполагаешь относится к тому что сказано в этом посте?

----------

## viy

Плохо относиться  :Wink:  Я зациклился на пользователях и не соотнес "отделы" с группами.

На самом деле, автору стоило бы конкретизировать проблему, т.к. пока все предлагаемые решения (как заметил GreenDragon) упираются в FM.

----------

## [clu]

вот. конкретезирую.

есть раздел раздел, например 200 Гб.

на нём следующие директории

dep1

dep2

dep3

dep4

filexchange

pub.

в директории depХ  пишут только юзеры  с групп depX_boss соотвественно.

в filexchange все.

в pub только юзеры группы asu.

нужно на это дело поставить квоты 

dep1 - 50 gb

dep2 - 50 gb

dep3 - 40 gb

dep4 - 20 gb

filexchange - 10 gb.

pub -30gb

в pub - вложенные директории со следующим квотированием

lib - 1 gb

prof - 2 gb

promo -2 gb

video - 5gb

photo - 3 gb

например.

как это сделать ?

----------

## [clu]

 *GreenDragon wrote:*   

> 
> 
> Мужики, читайте хоть что-нибудь, блин. Если потом нужно пользователю Васе дать больше места.
> 
> 

 

а если на директорию квоту в три раза увеличить ? а ?

----------

## viy

Ну... Прав был и ba, и я  :Wink: 

Насчет лимитов в depX --- квоты на группу.

Насчет увеличения разделов --- думай сам. Можно потом засунуть еще один диск/сделать доп. партицию и физически часть папочек depX перенести туда. Можно и lvm использовать.

Что касается  *[clu] wrote:*   

> lib - 1 gb
> 
> prof - 2 gb
> 
> promo -2 gb
> ...

 

Насколько я понял сейчас и ранее, ты хочешь, чтобы были такие квоты на сами директории, независимо от юзера/группы? Самое простое --- отдельные партиции. Или (как при создании iniеrd) делать файл соотв. размера и mount -o loop в нужное место.

----------

## [clu]

 *Quote:*   

> Насчет лимитов в depX --- квоты на группу. 

 

но всё раво нужно делать отдельными розделами  :Sad: 

----------

## ba

 *[clu] wrote:*   

>  *Quote:*   Насчет лимитов в depX --- квоты на группу.  
> 
> но всё раво нужно делать отдельными розделами :(

 

зачем???

----------

## [clu]

сорри, тормознул  :Smile: ))

```
/etc/init.d/quota restart

 * Stopping quota...

Turning quota off

/dev/sda3 [/home]: user quotas turned off                                                     [ ok ]

 * Starting Quota...

Checking quotas. This may take some time.

quotacheck: Scanning /dev/sda3 [/home] quotacheck: Old group file not found. Usage will not be substracted.

```

мне вот инетерсно - в чём проблема в последней строчке ?

----------

## [clu]

также там на раздел /data не ставятся групповые квоты

edquota -g talsi

edquota: Bad format:

  /dev/sdb1                  22220840          0          20971520      81393        0

edquota: Can't read quotas from file.

.

может просто файл autoquota.group ? стрёмно  :Sad:  вдруг ещё что-т осделать надо и оно косяком работать будет.

----------

## ba

таак... напиши для начала что за fs на разделах и с какими опциями они примоунчены и что в ядре включено насчет квот. а файлик *quota.group на разделах создался?

----------

## [clu]

kernl: 2.6.9

[code]

Filesystens ->

[*] XFS filesystem support

      [*] Quota support

      [*]Security label support

      [*] Posix ACL support

[*] Quota support

      [M] Quota format  v2 support

[code]

/etc/fstab

[code]

/dev/sda3       /home           reiserfs        noatime,auto,usrquota   0 0

/dev/sdb1       /data           xfs             noatime,auto,grpquota   0 0

[/code]

в хомах само создало, а в дата я тачем сделал  :Smile:  после этого для одной группы ок а для других нет. то вообще не работает.

[code]

fileserver ~ # /etc/init.d/quota restart

 * Stopping quota...

Turning quota off

/dev/sda3 [/home]: user quotas turned off                                 [ ok ]

 * Starting Quota...

Checking quotas. This may take some time.

quotacheck: Scanning /dev/sda3 [/home] quotacheck: Old group file not found. Usage will not be substracted.

done

quotacheck: Checked 81 directories and 135 files

quotacheck: Skipping /dev/sdb1 [/data]

Done.

Turning on quota

/dev/sda3 [/home]: user quotas turned on                                  [ ok ]

fileserver ~ #

[/code]

[code]

fileserver ~ # edquota -g talisman

edquota: Bad format:

  /dev/sdb1                         0          0         20571920

edquota: Can't read quotas from file.

[/code]

----------

## ba

на xfs-е никаких файлов не создается, и стартовый скрипт для него не нужен, надо тока моунтить с нужным параметром и все. и попробуй edquota -f /data -g talisman

насчет рейзера, я даже не знал что в нем подержка квот появилась(если конечно появилась), так что ниче не скажу...

----------

## [clu]

уже всё ок -)

----------

## [clu]

фигня нарисовалась  :Smile:  точнее она была но во время дискусси из головы выелетела. может как-то мона побороть:

в шаре xxx принадлежащей группе xxx

лежит директория yyy на которую права rx имеют пользователи группы yyy.следовательно директория пренадлежит группе yyy. эта директория должна входить в квоту для группы xxx.

т.е. как я вижу нуна либо

1. Сделать доступ для группы yyy иначе чем установкой на директорию группы владельца yyy.

2. как то распространить (сделать общей) глобальную квоту и на группу yyy. 

какие мысли?

----------

