Дискові квоти дозволяють адміністраторам Windows контролювати і управляти розміром дискового простору, використовуваного користувачами на файлову систему серверів і робочих станцій. ОС Windows Server підтримує два типи квотування: квотування на базі File Server Resource Manager(Дискові квоти FSRM) і NTFS квоти. Хоча FSRM квотування і є більш гнучким і зручним, але в деяких простих випадках ефективно можна використовувати і NTFS квоти. Наприклад, для обмеження розмірів каталогів переміщуваних профілів (але не User Profile Disks) і перенаправляє домашніх папок в RDS сценаріях, каталогів користувачів на FTP сервері, особистих каталогів на сайтах IIS і т.д.
Завдяки використанню квот можна обмежити максимальний розмір файлів і папок кожного користувача, так щоб він не перевищив певного ліміту і не зайняв своїми файлами весь диск. Належність фалів і каталогів визначається шляхом перевірки їх власника. Дискові квоти працюють як на північних, так і на клієнтських версіях Windows.
Основні особливості і обмеження NTFS-квот:
- Квотування може бути застосоване лише цілком до конкретного того (розділу), відформатувати у файловій систем NTFS (на ReFS квотування працювати не буде)
- Квоти діють на всіх користувачів, що зберігають свої дані на цьому розділі. Застосувати квоту на групу користувачів, або окремий каталог не вдасться, в цьому випадку краще використовувати FSRM.
- Належність файлів користувачам визначається шляхом визначення його власника (owner) файлу, заданого в дескрипторі захисту NTFS
- За замовчуванням система сканує розділ з включеним квотуванням і перераховує сумарний розмір файлів кожного користувача 1 раз на годину
- При використанні NTFS-компресії, враховується оригінальний розмір файлів (до стиснення)
Можна виділити наступні сценарії використання дискових квот:
- Моніторинг використання дисків - перегляд статистики використання користувачами місця на диску сервера.
- Моніторинг та оповіщення - в доповненні до першого сценарію, при перевищенні ліміту в журнал системи записується даний факт.
- Контроль використання диска - при перевищенні ліміту користувач не може зберігати нові файли
Розглянемо приклад налаштування NTFS квот на диску з даними користувачів на прикладі Windows Server 2012 R2. У всіх попередніх версія Windows (починаючи з Windows 2003) квоти налаштовуються аналогічно.
Відкрийте вікно властивостей диска, на якому потрібно включити квоти і перейдіть на вкладку Quota. Потім натисніть на кнопку Show Quota Settings:
Щоб включити політику квотування для даного тому, встановіть чекбокс Enable quota management.
Подальші опції слід вибрати в залежності від бажаного сценарію використання квот:
- Deny disk space to users exceeding quota limit - заборонити запис на диск користувачам, які перевищили ліміт
- Limit disk space to - ліміт дискового простору для користувача
- Log event when a user exceeds their quota limit - записувати в системний журнал подія при перевищенні ліміту користувачем
- Log event when a user exceeds their warning level - записувати в журнал події при наближенні до зазначеного порогу
Не рекомендується відразу включати правило заборони запису при перевищенні ліміту. Переважно спочатку оцінити поточне використання дисків користувачами. У нашому прикладі ми хочемо обмежити користувачів 300 Мб місця на диску сервера.
Зберігаємо зміни (Apply). Через деякий час (в залежності від розміру диска і кількості файлів), Windows підрахує сумарне використання диска кожним користувачем.
Натиснувши на кнопку Quota Entries, можна перейти до результуючої таблиці, в якій вказані квоти і поточний розмір зайнятого місця кожним користувачем системи (файли яких знайдені на файлову систему).
З даного віконця можна створити / змінити / видалити значення квоти. Тим самим можна перевизначити стандартні настройки квот, наприклад, збільшивши квоту для певного користувача.
Щоб NTFS квоти не застосовувалися до конкретної облікового запису, потрібно відкрити властивості записи в таблиці квот (Properties) І встановити опцію Do not limit disk usage.
важливо. Обов'язково слід відключити квотування для системних облікових записів. NT Service \ TrustedInstaller і NT AUTHORITY \ SYSTEM, інакше робота системи може бути паралізована.Якщо потрібно отримати список файлів конкретного користувача, який, наприклад, перевищив квоту, потрібно вибрати пункт Delete.
З цього діалогового вікна можна змінити власника конкретного файлу (Take ownership), вилучити (Delete) Або перемістити його (Move).
Після того, як навели порядок з квотами в режимі аудиту, можна включати опцію Deny disk space to users exceeding quota limit. Після цього користувач не зможе перевищити виділене йому на диску місце, а розмір диска в сесії користувача буде відображатися з урахуванням наявних у нього квот. У цьому прикладі для мого аккаунта на диску C: \ використано 70 Мб з 300 Мб квоти.
При перевищенні ліміту користувач отримує повідомлення:
"There is not enough space on ...."Одночасно в журналі системи фіксується подія з EventID 37, source Ntfs (Ntfs)
A user hit their quota limit on volume C:.NTFS-квотами можна управляти і з командного рядка для цих цілей використовується команда fsutil quota.
Щоб отримати поточні настройки квот для зазначеного диска, виконайте:
fsutil quota query e:
Отримати список перевищених квот:
fsutil quota violations
Отримати частоту оновлення (перерахунку) таблиці квот:
fsutil behavior query quotanotify