HowTo/GlobusToolkit/GridFTP

Установка и настройка GridFTP

Если не предпринемать специальных действий, GridFTP устанавливается вместе с базовой установкой GT4. Кроме того, GridFTP может быть установлен как независимый компонент. В данной заметке предполагается первый вариант установки, те все что дополнительно нужно сделать - это настроить GridFTP сервер.

Дополнительные требования

Для работы GridFTP нам понадобиться xinetd, который, в случае если она еще не установлен, надо установить из одноименного пакета.

Настройка GridFTP

Все что нужно сделать, это создать файл с конфигурацией xinetd и перезапустить(или запустить, если еще не запущен) сервис xinetd:

# Configure Grid-FTP
cat - > /etc/xinetd.d/gridftp <<EOF
service gsiftp
{
instances               = 100
socket_type             = stream
wait                    = no
user                    = root
env                     += GLOBUS_LOCATION=${GLOBUS_LOCATION}
env                     += LD_LIBRARY_PATH=${GLOBUS_LOCATION}/lib
env                     += GLOBUS_TCP_PORT_RANGE=${GLOBUS_TCP_PORT_RANGE}
server                  = ${GLOBUS_LOCATION}/sbin/globus-gridftp-server
server_args             = -i
log_on_success          += DURATION
disable                 = no
}
EOF
echo "gsiftp            2811/tcp" >> /etc/services
service xinetd restart

Внимание: предполагается что в вашей среде окружения заданы соответствующие переменные и их значения займут соответствующие места в xinit.d скрипте, т.е. в конечном файле значения переменные должны быть уже подставлены.

Тестирование GridFTP

Самое неприятное в работе GridFTP, это не согласованность '${GLOBUS_TCP_PORT_RANGE}' и настроек межсетевого экрана. При этом мест, где можно ошибиться, может быть довольно много. Кроме правильности настроек для 'Gram' и 'GridFTP', как показала практика, важно так же и правильность настроек у пользователя, делающего GridFTP-транзакцию или запускающего задачу на выполнение. Следующие команды при правильных настройках должны работать:

globus-url-copy -vb -tcp-bs 2097152 -p 0 -dbg gsiftp://my.grid.site.ru/etc/passwd file:///tmp/zzz; cat /tmp/zzz; rm /tmp/zzz
globus-url-copy -vb -tcp-bs 2097152 -p 4 -dbg gsiftp://my.grid.site.ru/etc/passwd file:///tmp/zzz; cat /tmp/zzz; rm /tmp/zzz
date; globusrun-ws -submit -factory-type SLURM -F nanoz.grid.kiae.ru -s -n -pft -dbg -passive -c /bin/false; date
date; globusrun-ws -submit -factory-type SLURM -F nanoz.grid.kiae.ru -s -n -pft -dbg -c /bin/false; date

При не правильных настройках, вторая и четвертая команды не будут работать, вплоть до 'подвисания', ожидая снега летом. Диагностировать последний случай по отладочной выдаче, в том числе и в журнал практически не возможно.

Если указанные команды работают, рекомендуется проверить передачу данных в разных направлениях и, желательно, выполняя команды передачи на другом узле.