Параллельные вычисления в ИММ УрО РАН
|
|
Коротко о синхронизации файлов в работе с удаленной суперЭВМН.В. Гусева, А.В. Коновалов Работа выполнялась при частичной поддержке гранта РФФИ 04-07-90138
Разработанная авторами система синхронизации файлов предназначена для автоматизации процесса копирования файлов в работе с удаленной машиной. Файл, измененный на одной машине, через какое-то время будет скопирован на другую. Ниже в качестве примера локальной машины используется um16, а в качестве удаленной суперЭВМ - МВС-1000М в Межведомственном суперкомпьютерном центре (г. Москва), которая для краткости в дальнейшем называется beta. Использование системы синхронизации файлов предполагает передачу пароля для удаленной суперЭВМ (запуск программы set-pw) и собственно запуск программы-синхронизатора scp-sh из каталога синхронизации. Пароль, переданный однажды, обеспечивает, как правило, многократную синхронизацию файлов. Синхронизация файлов может осуществляться как по запросу пользователя, так и автоматически, при этом первый запуск системы рекомендуется осуществить вручную. Взаимодействие системы с пользователем строится исключительно на служебных файлах. Ниже приводятся краткие сведения о системе, необходимые для ее использования. Подробное описание дано по адресу http://parallel.imm.uran.ru/freesoft/sync/sync.htm. Подготовка к первому запуску системы 1. Переписать необходимые утилиты в каталог bin на um16 командой r-init: um16:~$ r-init
Всего перепишется 3 утилиты:
2. Отредактировать, при необходимости,
3. Рекомендуется в своем домашнем каталоге создать новый каталог (в наших примерах это- test1), в который поместить файлы, предназначенные для синхронизации. Синхронизация файлов по запросу пользователя 1. Перейти в каталог синхронизации (test1), сделав его текущим командой cd: um16:~$ cd test1 2. Передать пароль для удаленной машины, используя r-pas. Если пароль уже был передан, то пользователь получит сообщение 'Password was set already'. um16:~/test1$ r-pas 3. Запустить синхронизацию файлов, используя r-syn: um16:~/test1$ r-syn Автоматическая синхронизация файлов Для включения автоматической синхронизации файлов используется команда crontab, которой в качестве параметра передается файл с подготовленной пользователем информацией о том, когда, откуда (из какого каталога) и какую программу запускать (в наших примерах это файл r-crontab). 1. Передать пароль для удаленной машины, если он еще не был передан (см. Синхронизация файлов по запросу пользователя, пункты 1, 2). 2. Отредактировать файл r-crontab: время запуска, каталог синхронизации. Каждая строка файла имеет 5 полей для описания времени запуска программы, а именно: минуты (0-59), часы (0-23), дни месяца (1-31), месяцы (1-12), дни недели (0-7, где 0 или 7 ? воскресенье). При этом звездочка (*) в поле означает весь допустимый диапазон; слэш (/) используется для задания шага. Ниже приведен пример файла r-crontab, состоящий из 2-х строк. В 1-ой строке команда (~/bin/r-syn) запускается из каталога test1 каждые 20 минут по рабочим дням, при этом информация об аварийных остановах не сохраняется (>/dev/null 2>&1); во 2-ой строке ? из test2 в рабочие дни каждый час. Вторая строка закомментирована (#). */20 * * * 1-5 cd ~/test1; ~/bin/r-syn >/dev/null 2>&1 #0 */1 * * 1-5 cd ~/test2; ~/bin/r-syn >/dev/null 2>&1 3. Выполнить команду crontab, указав в качестве параметра файл r-crontab (у нас из каталога bin): um16:~$ crontab ~/bin/r-crontab Примечание. Если синхронизация файлов происходит автоматически и возникает необходимость внесения изменений в файл r-crontab, то проще: 1) сначала отключить синхронизацию um16:~$ crontab -r 2) затем отредактировать r-crontab 3) снова включить автоматический режим синхронизации, т.е. выполнить um16:~$ crontab ~/bin/r-crontab P.S. Посмотреть содержимое r-crontab можно, выполнив: um16:~$ crontab -l Совет. На период отпуска автоматическую синхронизацию лучше отключить. Имена всех служебных файлов, кроме connector, начинаются с точки (.), связаны с именем удаленной машины и имеют в зависимости от назначения соответствующее окончание (расширение), в частности: log-файл содержит информацию о работе системы, прежде всего, о переписи файлов, а также при отсутствии пароля просьбу его передать ('Please, :'). Если представляющий интерес файл менялся и локально, и удалённо, то он не копируется ('Can't copy :'), а разрешение этой конфликтной ситуации возлагается на пользователя. В log-файл записывается только новая информация. saved.date-файл обновляется при каждом успешном завершении запуска синхронизатора, поэтому при отсутствии записи в log-файл, особенно в автоматическом режиме, обновление saved.date-файла может служить признаком нормальной работы синхронизатора (т.е. запуска по расписанию). Служебные файлы, за исключением log-файла, пользователю лучше не трогать. |