Для предотвращения исчерпания свободного места на системах хранения данных используется контроль за потребляемым пользователями дисковым пространством. Это реализуется путем введения ограничений (квот). При превышении ограничения пользователь теряет возможность занимать новое место до тех пор, пока не удалит часть имеющихся файлов и не снизит потребляемое пространство ниже значения квоты.
Как правило используются ограничения двух видов:
Ограничения настраиваются индивидуально для каждого пользователя и независимо для каждой файловой системы. В настоящий момент пользователям доступны две файловые системы:
Как правило, квоты будут позволять занимать на 'scratch' больший объем, чем на 'storage'.
Занимаемое дисковое пространство, значения мягкой и жёсткой квот, а также факт срабатывания ограничений отображаются в момент авторизации на интерфейсном сервере. Примеры сообщений:
Filesystem Used Soft Hard State /mnt/storage 18.25GB 20GB 25GB Good, quota is not exceeded /mnt/scratch 32.83GB 50GB 60GB Good, quota is not exceeded
Filesystem Used Soft Hard State /mnt/storage 18.25GB 20GB 25GB Good, quota is not exceeded /mnt/scratch 54.12GB 50GB 60GB Soft quota exceeded
Filesystem Used Soft Hard State /mnt/storage 18.25GB 20GB 25GB Good, quota is not exceeded /mnt/scratch 60.00GB 50GB 60GB Blocked, hard quota exceeded
Для просмотра текущего состояния квот используйте на интерфейсном сервере (на других серверах она не работает) следующую команду:
panfs_quota
В случае превышения жёсткой квоты пользователю ежедневно отправляются уведомления электронной почтой.
Важный момент: используемая у нас система хранения при работе квот учитывает не размер файла, а объём дискового пространства, необходимый для его хранения, причём с учётом накладных расходов на обеспечение отказоустойчивости. В качестве примера рассмотрим файл '/opt/shared/bin/ws_find'. Его размер отображается командой 'ls -al':
hpc-suvir2:~ # ls -al /opt/shared/bin/ws_find -r-xr-xr-x 1 root root 548 Apr 30 2010 /opt/shared/bin/ws_find
Видно, что размер файла - 548 байт. Объём дискового пространства, необходимого для хранения этого файла, отображается командой 'du -h':
hpc-suvir2:~ # du -h /opt/shared/bin/ws_find 48K /opt/shared/bin/ws_find
Как видно, требуется 48 Кбайт. Те же самые 48 КБ тратятся на хранение файлов и меньшего размера, даже нулевого. Чем больше размер файла, тем меньше относительная разница между его размером и необходимым для хранения местом. Однако, они никогда не совпадут и второе значение всегда будет больше. Например, для хранения файла размером 5,4 ГБ необходимо 6,2 ГБ. Поэтому желательно организовавывать свои данные таким образом, чтобы избегать использования большого количества файлов небольшого размера.