GridNNN
 Главная  Инфраструктура  Первые шаги  ПОИ  Поддержка  Для разработчиков  

Руководство по работе в среде ГридННС через Пользовательский интерфейс командной строки (ПИКС)

В состав ПИКС входят следующие модули:

  • интерфейс командной строки (ИКС) сервиса распределения и контроля заданий «Пилот»;
  • ИКС для работы с центром обеспечения безопасности ГридННС;
  • ИКС для работы с сервис управления виртуальными организациями (СУВО);
  • ИКС для работы с сервисом управления прокси-сертификатами MyProxy;
  • ИКС (UberFTP) для работы с сервером хранения данных;
  • сервер хранения данных (GridFTP).

Предполагается, что ПИКС предварительно установлен специалистами организации, в которой работает пользователь, либо специалистами виртуальной организации, в которой пользователь состоит, либо самим пользователем в соответствии с Руководством системного администратора ПИКС, и что у пользователя есть доступ на компьютер с установленным ПИКС - либо непосредственно, либо по протоколу SSH.

Подготовка к работе

Установка цифрового сертификата и закрытого ключа пользователя

Цифровой сертификат и закрытый ключ пользователя необходимо поместить (скопировать) в директорию .globus, находящуюся в домашней директории пользователя на компьютере с установленным ПИКС:

$ ls -l $HOME/.globus
-rw-------. 1 xxx xxx 4767 2010-03-16 19:28 usercert.pem
-r--------. 1 xxx xxx 1041 2010-03-16 19:28 userkey.pem

Работа с прокси-сертификатами

Создание прокси-сертификатов

Для запуска заданий в грид-среду требуются прокси-сертификаты. В рамках ИКС они могут быть созданы с помощью программы voms-proxy-init, позволяющей создать прокси-сертификат с VOMS-расширениями, или без них.

Для создания прокси-сертификата без расширений необходимо выполнить команду:

voms-proxy-init -rfc

Для создания прокси-сертификата с VOMS-расширениями необходимо выполнить команду:

voms-proxy-init -rfc -voms voname

Здесь voname - название виртуальной организации.

Для добавления VOMS-расширений к уже существующему прокси-сертификату необходимо выполнить команду:

voms-proxy-init -rfc -noregen -voms voname

Для того, чтобы узнать о дополнительных возможностях программы voms-proxy-init, выполните команду

voms-proxy-init -help

или обратитесь к странице документации voms-proxy-init(1).

Уничтожение прокси-сертификатов

Для уничтожения прокси-сертификата достаточно выполнить команду:

voms-proxy-destroy

Для того, чтобы узнать о дополнительных возможностях программы voms-proxy-destroy, выполните команду

voms-proxy-destroy -help

или обратитесь к странице документации voms-proxy-destroy(1).

Получение информации о прокси-сертификате

Для получения подробной информации о прокси-сертификате достаточно выполнить команду:

voms-proxy-info -all

Для того, чтобы узнать о дополнительных возможностях программы voms-proxy-info, выполните команду

voms-proxy-info -help

или обратитесь к странице документации voms-proxy-info(1).

Запуск и управление выполнением заданий с помощью ПИКС

Команды запуска и управления выполнением заданий

Эти команды позволяют взаимодействовать с сервисом распределения и контроля выполнения заданий (СРКЗ) “Пилот”. Они имеют формат:

pilot-* [options] ...

и набор одинаковых опций (то есть эти опции могут быть использованы для любой команды), указанный в двух следующих таблицах.

Опции общего назначения:

Опция Пояснение Дефолтное значение
–version вывод версии ИКС СРКЗ Пилот
-h, –help вывод краткой информаци о команде
–help-exit-codes вывод информаци о значении кодов завершения утилит ИКС
-u, –url=URL URL СРКЗ Пилот $PILOT_SERVER
-D NAME, –delegation=NAME используемая делегация “default”
-t SECONDS, –timeout=SECONDS время выполнения команды (сек.) infinite
-j, –json вывод в формате JSON; подразумевает включение опции -q выключено
-v, –verbose включение детальных сообщений выключено
-q, –quiet отсутствие сообщений для чтения человеком выключено
–debug=LEVEL уровень отладки 50 - fatal errors
–log=FILE файл записи отладочных сообщений stderr



Опции инфраструктуры безопасности:

Опция Пояснение Дефолтное значение
-c FILE, –cert=FILE, –usercert=FILE местоположение сертификата /home/$HOME/.globus/usercert.pem
-k FILE, –key=FILE,–userkey=FILE местоположение закрытого ключа /home/$HOME/.globus/userkey.pem
-p XXX, –password=XXX, –userkeypass=XXX password для закрытого ключа читается из stdin
-P FILE, –proxy=FILE–prox=FILE имя файла прокси-сертификата /tmp/x509up_u500
–noproxy использование сертификата вместо прокси использование прокси-сертификата
-C PATH, –capath=PATH директория, где надится сертификат центра обеспечения безопасности, файлы с политикой выдачи сертификатов и CRLs /etc/grid-security/certificates



Ниже приводятся только те опции команд, которые не являются общими.

Проверка наличия в грид-среде ресурсов, которые спосбны выполнить задание

pilot-job-matchmake [options] job_definition.js

Здесь job_definition.js - файл с описанием задания на языке JSON (см. Руководство по составлению описаний заданий и задач на языке JSON). В выдаче команды pilot-job-matchmake указывается - возможно ли выполнение данного задания на ресурсах ГридННС, а также для каждой задачи задания приводится список ресурсов, на которых она, в соответсвии с требованиями, указанными в ее описании, может быть выполнена. Например, для задания с файлом описания:

{ "version": 2,
  "description": "тестовое задание",
  "tasks": [ { "id": "a",
               "description": "задача #1",
               "definition": { "version": 2,
                               "executable": "/bin/ls"
                             }
             }
           ]
}

результат выполнения команды может выглядеть следующим образом:

pilot-job-matchmake test_no-req.js 
Job can be executed.

Task a:
 * grid.spiiras.nw.ru/PBS-batch
 * ngpipe.grid.kiae.ru/Fork-default
 * nanoz.grid.kiae.ru/SLURM-singlecpu
 * gt3.phys.spbu.ru/PBS-unic
 * ngrid.jinr.ru/PBS-batch
 * nnn4.pnpi.nw.ru/Fork-default
 * gt3.phys.spbu.ru/Fork-default

Запуск задания:

pilot-job-submit [options] job_definition.js

Команда pilot-job-submit возвращает идентификационный номер запущенного задания, который используется затем в других командах для получения информации и управления выполнением задания. Пример:

$  pilot-job-submit test.js

Job was successfully submitted to Pilot service.
Job URI:
    https://tb01.ngrid.ru:5053/jobs/19

Здесь test.js - файл с описанием задания на языке JSON (см. Руководство по составлению описаний заданий и задач на языке JSON).

Пример простейшего файла описания (без передачи входных данных и получения результата):

{ "version": 2,
  "description": "тестовое задание",
  "tasks": [ { "id": "a",
               "description": "задача #1",
               "definition": { "version": 2,
                               "executable": "/bin/ls"
                             }
             }
           ],
  "requirements": {
       "hostname": ["nnn2.pnpi.nw.ru"],
       "lrms": "PBS",
       "queue": "batch"
  }
}
Запуск задания с входными и выходными файлами

Поскольку в состав ПИКС входит развернутый на том же компопьютере сервер GridFTP, передача входных данных и получение результатов вычислений почти не требует от пользователя дополнительных усилий. Практически единственное, что необходимо сделать, это описать эти входные/выходные данные в файле описания задания (см. Руководство по составлению описаний заданий и задач на языке JSON). Пример простого файла описания с передачей данных:

{ "version": 2,
  "description": "тестовое задание",
  "default_storage_base": "gsiftp://tb.ngrid.ru/home/ivanov/",
  "tasks": [ { "id": "a",
               "description": "задача #1",
               "definition": { "version": 2,
                               "executable": "/bin/cat",
                               "arguments": [ "input_file.txt" ],
                               "input_files": { "input_file.txt": "tst.txt" 
                                              },
                               "stdout": "out.txt"
                             }
             }
           ],
  "requirements": {
       "hostname": ["nnn2.pnpi.nw.ru"],
       "lrms": "PBS",
       "queue": "batch"
  }
}

Естественно, перед запуском такого задания командой pilot-job-submit в директорию /home/ivanov/ на компьютере, на котором установлен ПИКС (в приведенном примере - tb.ngrid.ru), должен быть помещен файл tst.txt с входными данными. В результате успешного выполнения задания в той же директории появится файл с выходными данными out.txt.

Получение информации о статусе задания:

pilot-job-status [options] URI

Вместо URI надо подставить идентификатор задания, полученный в результате выполнения команды pilot-job-submit.

Пример:

pilot-job-status  https://tb01.ngrid.ru:5053/jobs/W3LhjjVx/
Job https://tb01.ngrid.ru:5053/jobs/W3LhjjVx/ is finished since Mon Feb  7 10:52:04 2011 UTC.

Получение информации о статусе задачи:

pilot-task-status [options] URI

Вместо URI надо подставить идентификатор задания, полученный в результате выполнения команды pilot-job-submit и через слэш идентификационный номер задачи в задании, присвоенный ей в файле описания задания (см. Описание заданий и задач на языке JSON). Например, если идентификатор задания:

https://tb01.ngrid.ru:5053/jobs/W3LhjjVx/

а идентификатор задачи: “а”, то в качестве URI в данной команде надо подставить:

https://tb01.ngrid.ru:5053/jobs/W3LhjjVx/a

Получение детальной информации о задании, включая историю изменения его статусов:

pilot-job-info [options] URI

Приостановка выполнения задания:

pilot-job-pause [options] URI

Все выполняющиеся задачи это задания будут продолжать выполняться до завершения, а новые задачи запускаться не будут до возобновления выполнения с помощью команды pilot-job-resume:

Возобновления выполнения задания

pilot-job-resume [options] URI

Прекращение выполнения запущенного задания

pilot-job-cancel [options] URI

Прекращение выполнения всех заданий, запущенных данным пользователем

pilot-cancel-my-jobs [options]

Запрос списка всех заданий, запущенных данным пользователем

pilot-query-jobs [options]

Вывод версии сервера СРКЗ Пилот

pilot-server-version [options]

Управление данными с помощью ИКС-клиента GridFTP

Для передачи/получения, при необходимости, файлов с данными на/с другой(го) сервер(а) хранения данных можно использовать утилиту uberftp. Формат соответствующей команды следующий:

$ uberftp [options] sourceURL destURL

Список возможных опций выдается заданием этой команды с опцией -help. Поддерживаются протоколы передачи: gsiftp и file, например:

file:///home/ivanov/stuff.txt 
gsiftp://tb.ngrid.ru/~/stuff.txt 

Пример запуска команды:

uberftp file:///home/ivanov/out.txt gsiftp://tb88.ngrid.ru/home/ivanov/tst/out1.txt

Для протокола file допустимо использовать только абсолютный путь к файлу. Все URL должны быть полными, т.е. включать в себя имя конечного файла.

Список и URL серверов грид-инфраструктуры можно получить на веб-странице сервиса регистрации ресурсов и грид-сервисов.

support/user/ucli.txt · Last modified: 07/02/2011 17:21 by demichev 
Show pagesource Old revisions BacklinksODT Export
Sitemap Back to top
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki