Отдельный проверочный сервер
Возможно, я спрашиваю очевидную вещь, но я не нашел этого в документации.
Можно ли в тестирующей системе ejudge запускать программы участников для проверки на выделенном для этого сервере?
Можно ли в тестирующей системе ejudge запускать программы участников для проверки на выделенном для этого сервере?
Re: Отдельный проверочный сервер
Да, можно. Проще всего на проверяющей машине монтировать файловую систему, на которой расположены каталоги турниров.
Я постараюсь поместить на Вики более подробное руководство.
Я постараюсь поместить на Вики более подробное руководство.
Re: Отдельный проверочный сервер
Спасибо. Попробую разобраться и буду ждать появления материалов в вики.
Re: Отдельный проверочный сервер
Не совсем ясно каким образом запускать ejudge на основном и тестирующем сервере и какие каталоги монтировать.
Я так понимаю, что на стетирующем сервере нужно запустить только демон тестировщика. А как это сделать. ejudge-control стартует все сервисы.
Расскажите, пожалуйста, в кратце каким образом можно настроить выделенный тестирующий сервер.
Я так понимаю, что на стетирующем сервере нужно запустить только демон тестировщика. А как это сделать. ejudge-control стартует все сервисы.
Расскажите, пожалуйста, в кратце каким образом можно настроить выделенный тестирующий сервер.
Re: Отдельный проверочный сервер
Достаточно запустить демоны compile и super-serve.
Это будет работать, если тестирующий компьютер один. В случае параллельной компиляции и/или тестирования есть некоторые нюансы. Я сейчас дорабатываю систему чтобы сделать параллельное тестирование максимально просто настраеваемым.
Code: Select all
super-serve -D -C /home/judges
compile -D -C /home/judges/compile
Re: Отдельный проверочный сервер
А какие демоны запустить на основном сервере? Все кроме super-serve и compile?
Re: Отдельный проверочный сервер
Выложена новая версия ejudge - 2.3.6. В ней упрощена организация тестирования на отдельных машинах.
При конфигурировании (configure) необходимо указать опцию --enable-local-dir, задав ей путь к каталогу, который не будет монтироваться с других компьютеров, например, --enable-local-dir=/var/lib/ejudge.
После инсталляции на главном компьютере систему ejudge необходимо запускать в режиме "мастера":
ejudge-control -m start
На тестирующих компьютерах необходимо примонтировать каталог /home/judges с главного компьютера и каталог, в который проинсталлирована ejudge. Необходимо создать каталог, указанный в --enable-local-dir, то есть /var/lib/ejudge и назначить его владельцем того пользователя, из-под которого будет запускаться ejudge. Для этого потребуются права суперпользователя
mkdir /var/lib/ejudge
chown ejudge:ejudge /var/lib/ejudge
Возможно еще потребуется вручную создать loop устройство и примонтировать его по аналогии с тем, как это сделано в каталоге /var/lib/ejudge на главном компьютере.
После этого можно запускать ejudge в "подчиненном" (slave) режиме:
ejudge-control -s -r start
При конфигурировании (configure) необходимо указать опцию --enable-local-dir, задав ей путь к каталогу, который не будет монтироваться с других компьютеров, например, --enable-local-dir=/var/lib/ejudge.
После инсталляции на главном компьютере систему ejudge необходимо запускать в режиме "мастера":
ejudge-control -m start
На тестирующих компьютерах необходимо примонтировать каталог /home/judges с главного компьютера и каталог, в который проинсталлирована ejudge. Необходимо создать каталог, указанный в --enable-local-dir, то есть /var/lib/ejudge и назначить его владельцем того пользователя, из-под которого будет запускаться ejudge. Для этого потребуются права суперпользователя
mkdir /var/lib/ejudge
chown ejudge:ejudge /var/lib/ejudge
Возможно еще потребуется вручную создать loop устройство и примонтировать его по аналогии с тем, как это сделано в каталоге /var/lib/ejudge на главном компьютере.
После этого можно запускать ejudge в "подчиненном" (slave) режиме:
ejudge-control -s -r start
Re: Отдельный проверочный сервер
здесь наиболее подробное описание настройки системы на различных машинах, которое мне удалось найти. прошло 2 года, произошли ли какие-то изменения в настройке основного и тестирующий компьтеров, или то что здесь написано и сейчас актуально?
Re: Отдельный проверочный сервер
Актуально.
С другой стороны, работы по упрощению распараллеливания идут.
С другой стороны, работы по упрощению распараллеливания идут.
Re: Отдельный проверочный сервер
Здравствуйте, скажите, пожалуйста, есть ли какие-то (особенности/улучшения/дополнения в настройке) в распределении тестирования на несколько среверов в версии 2.3.27 и выше?
Компьютер, запущенный в режиме мастер, также будет тестировать или только раздавать?
Компьютер, запущенный в режиме мастер, также будет тестировать или только раздавать?
Re: Отдельный проверочный сервер
Прошу прощения за возможно глупый вопрос
Заранее спасибо!
Что означает "loop устройство" и где оно создается?cher wrote: Возможно еще потребуется вручную создать loop устройство и примонтировать его по аналогии с тем, как это сделано в каталоге /var/lib/ejudge на главном компьютере.
Заранее спасибо!
Re: Отдельный проверочный сервер
Это все устарело. Актуальную документацию можно прочитать здесь.