Рабочие области для временных файлов
- Для временного хранения рабочих файлов (в первую очередь - большого размера) создана отдельная файловая система с именем 'scratch'.
- Рабочая область ('workspace') - директория на этой файловой системе, создаваемая по запросу пользователя, определяемая уникальным для данного пользователя именем и обладающая временем жизни, по истечению которого она автоматически удаляется. Удаление производится через запрошенное при создании количество дней, примерно в то же самое время, без округления до начала или конца дня. За семь дней до удаления непустой области её владельцу ежедневно высылаются почтовые уведомления, предупреждающие о скором удалении.
- Восстановление данных из удалённых рабочих областей возможно только с помощью моментальных снимков.
- На данный момент максимальное возможное время жизни рабочей области - 60 дней. Возможность изменения времени жизни уже существующей области не предусмотрена, кроме досрочного удаления пользователем. Но при необходимости всегда можно создать новую рабочую область и перенести данные в неё. Обращаем внимание, что подобным образом, не забывая вовремя переносить данные в новые рабочие области, информацию можно хранить сколь угодно долго. Однако файлы, предназначенные для долговременного хранения, необходимо всё-таки переносить на свои персональные компьютеры.
- В имени рабочей области можно использовать только латинские символы, цифры и знак подчеркивания.
- Каждый пользователь может одновременно иметь любое количество рабочих областей с разными именами и временами хранения. Дисковая квота пользователя на файловую систему 'scratch' ограничивает суммарный размер, занимаемый всеми файлами во всех рабочих областях. Ограничения на размер каждой конкретной рабочей области отсутствуют.
- Для удобства использования можно после создания рабочей области сделать символьную ссылку на неё из домашней директории и, изменяя ссылку каждые два месяца, работать так, как-будто это обычная директория с фиксированным путём.
- Идея заимствована с сайта High Performance Computing Center Stuttgart
Создание
- Для создания рабочей области необходимо выполнить команду ws_allocate, передав ей два параметра - имя области и время жизни в днях. В случае успешного создания команда возвращает в стандартый вывод (stdout) полный путь до соответствующей директории. В случае какой-либо ошибки возвращается пустая строка.
- В дальнейшем для получения пути до ранее созданной области по её имени используется команда ws_find, описанная ниже.
- При попытке создать область с именем, уже используемым этим пользователем, будет возвращён путь до существующей области. Новое время жизни при этом будет проигнорировано.
- Ниже приведены примеры создания рабочей области с именем 'ws1' и временем жизни 10 дней:
Из командной строки
Создание рабочей области из командной строки:
ws_allocate ws1 10
В ответ будет выведено что-то вроде следующего:
/mnt/scratch/ws/username/201004261112ws1
Из скрипта
Создание рабочей области из скрипта, с сохранением полученного пути в переменную:
#!/bin/bash ws=$(ws_allocate ws1 10) if [ ! -d $ws ] ; then echo "No such workspace: $ws" exit 1 fi cd $ws ....
Поиск по имени
Команда ws_find возвращает путь до рабочей области с указанным именем. В случае отсутствия таковой, возвращает пустую строку:
ws_find имя_области
Из скрипта:
#!/bin/bash ws=$(ws_find ws1) if [ ! -d $ws ] ; then echo "No such workspace: $ws" exit 1 fi cd $ws ....
Отображение областей
Получить список всех своих рабочих областей и времена их удаления можно с помощью следующей команды:
ws_list
Expiration time | Workspace name -----------------+---------------- 2010-04-26 11:12 | ws1 2010-05-07 11:07 | data_2
Досрочное удаление
В случае, если данные из какой-то области уже не нужны, желательно не дожидаться их автоматического удаления, а сделать это досрочно:
ws_release имя_области
При большом количестве файлов в рабочей области выполнение команды может занять существенное время.
Удаление всех пустых
Для удаления всех пустых рабочих областей можно использовать утилиту:
ws_drain