В.В.Галактионов, Т.М.Голоскокова, Н.И.Громова, А.В.Гусев, В.В.Мицын, Ж.Ж.Мусульманбеков, И.К.Некрасова, В.Д.Позе, А.В.Сергеев, Е.А.Тихоненко
РУКОВОДСТВО ДЛЯ ПОЛЬЗОВАТЕЛЕЙ LINUX КЛАСТЕРА ЛИТ ОИЯИ
Дубна 2004
От редактора
1 Структура Linux кластера и базовое программное обеспечение
1.1 Интерактивный кластер
1.2 Вычислительные фермы
1.3 Серверы дискового пространства
1.4 Вспомогательные серверы
1.5 Базовое программное обеспечение

2 Начальные рекомендации пользователям
2.1 Как стать пользователем
2.2 Ваша "учетная запись" (account) и пароль
2.3 Безопасность
2.4 Пакетная обработка счетных задач
2.5 Дисковое пространство для пользователей
2.6 AFS и пользовательские файлы и каталоги
2.7 Электронная почта
2.8 Русификация

3 Файловая система AFS

4 Рекомендации для пользователей параллельного вычислительного кластера
4.1 Использование команды qsub
4.2 Описание параметров
4.3 Контроль над исполнением задачи
4.4 Результаты выполнения задачи в пакетной обработке

5 Перечень и краткое описание основных команд при работе в операционной системе Linux
5.1 Простейшие действия
5.2 Стандартные команды. Информация по системе команд
5.3 Работа с сетью
5.4 Некоторые команды администрирования
5.5 Контроль процессов
5.6 Встроенные в Linux программные утилиты и языки

6 Midnight Commander

7 Рекомендуемые редакторы
7.1 Текстовый редактор pico
7.2 Краткое описание редактора vi/vim

8 Некоторые средства разработки программ
8.1 Текущие версии компиляторов C и g77
8.2 Редактор связей ld
8.3 Команды ar, ranlib, nm, ldd, strings
8.4 Утилита gprof
8.5 Отладчики GDB, DDD

9 Графические пакеты на Linux кластере
9.1 ImageMagick. Просмотр и обработка изображений
9.2 Chimera
9.3 Системы визуализации массивов числовой информации (научных данных)
Grace
IRIS Explorer
OpenDX (Data Explorer)

10 СУБД MySQL
10.1 Регистрация пользователей и создание базы данных
10.2 Соединение с сервером MySQL
10.3 Примеры работы с MySQL
10.4 Основные команды
10.5 Подключение к базе данных MySQL с использованием PHP

11 Изменения в работе с PHP-программами

12 Сведения об информационном сервере linux4u

13 Литература о Linux на русском языке

14 Сравнительное сопоставление прикладных пакетов в Windows и Linux

файлы для печати:
(.doc) (.zip))

November 19, 22:55:52

 

chapter_2

2 Начальные рекомендации пользователям

2.1 Как стать пользователем


Регистрация пользователей осуществляется согласно регистрационным формам, которые доступны по адресу:

http://lit.jinr.ru/view.php?var1=comp&var2=ccic&lang=rus&menu=ccic/menu&file=ccic/linux/reg

Пользователям следует заполнить регистрационную форму, подписать у своего руководителя, расписаться самому и переслать по внутренней институтской почте заполненную и подписанную форму в адрес заместителя директора ЛИТ В.В. Коренькова. При этом все пользователи кластера должны быть зарегистрированы в AFS . Правила регистрации в AFS и особенности работы в AFS описаны в отдельном разделе данного руководства. AFS-пароль является паролем для вхождения на интерактивный кластер. AFS-пароль можно поменять на любой из машин кластера командой

kapasswd (не passwd!),

а сразу после изменения AFS-пароля необходимо также выполнить команду

pbspwstore

для обеспечения возможности работы с системой пакетной обработки PBS (batch).


2.2 Ваша "учетная запись" (account) и пароль


Все пользователи Linux кластера регистрируются в AFS. Это означает, что домашний каталог пользователя доступен (только для этого пользователя) на любой из машин интерактивного кластера и всех вычислительных ферм, а также на WWW- и FTP-серверах, с одним и тем же паролем. Более того, это доступно на любой машине, где установлена клиентская часть AFS (в частности, и на Windows). С другой стороны, каталоги в AFS имеют дополнительные средства защиты от несанкционированного доступа другими пользователями. Подробнее о AFS смотрите далее в данном руководстве.

Как уже упоминалось выше, регистрация пользователей в AFS производится также и в других лабораториях ОИЯИ, однако для получения доступа к машинам Linux кластера необходимо заполнить анкету пользователя, если Вы не сделали это ранее. Для изменения пароля вызывайте команду kapasswd (не passwd). Если Вы будете запускать счетные задачи на вычислительных фермах, то при каждом изменении пароля (конечно и сразу после получения первого пароля), необходимо вызвать команду pbspwstore с Вашим новым (первым) паролем. Если Вы зарегистрированы в AFS, например в CERN, то можно получить доступ к своим файлам в CERN непосредственно с машин Linux кластера как к локальным файлам.


Примечание

Регистрация в AFS для сотрудников ЛФЧ и ЛВЭ осуществляется системными администраторами этих лабораторий. Сотрудники всех остальных подразделений ОИЯИ регистрируются в AFS системными администраторами ЛИТ.


2.3 Безопасность


Для интерактивной работы с Linux кластером и обмена файлами настоятельно рекомендуем использовать протокол с шифрованием информации - SSH. Иначе Ваш пароль может быть перехвачен при передаче по сети и использован для несанкционированного проникновения на Linux кластер совершенно посторонними людьми (хакерами). Естественно, вход на кластер будет запрещен и для Вас тоже (на какое-то время). Вы даже можете потерять свои файлы или другую конфиденциальную информацию. Для пользователей Windows необходимо установить следующие пакеты, для того чтобы иметь возможность использовать протокол SSH:

ftp://linux4u.jinr.ru/pub/win9x/crypt/putty-0.53b/x86/putty.exe
ftp://linux4u.jinr.ru/pub/win9x/crypt/putty-0.53b/x86/pscp.exe
ftp://linux4u.jinr.ru/pub/win9x/crypt/putty-0.53b/x86/psftp.exe


Запишите их во вновь созданную папку на своей машине. Установите на них ярлыки в своем рабочем столе. Вызовите putty.exe и настройте его на соединение на 22-ом порту по умолчанию. Программа putty.exe легко может быть настроена на работу с кириллицей. Для интерактивного выхода с машин Linux кластера на другие машины следует всегда применять ssh, для копирования файлов - scp, или sftp. Надеемся, что пользователи, работающие непосредственно на Unix или Linux машинах умеют пользоваться командами ssh и scp. Отметим только, что предпочтительным способом является запуск xterm локально:

xterm -font koi8x15 -geometry 80x40 -e ssh <user>@cv.jinr.ru

В отличии от запуска xterm через ssh на удаленной машине, Вы имеете полный контроль над фонтами и другими параметрами xterm.


2.4 Пакетная обработка счетных задач


Вы уже написали свою программу, оттранслировали ее, отладили и хотите запустить на счет. Исполняемый файл Вашей программы называется myprog. Создайте текстовый файл с именем mybatch (например) со следующими строками в нем (символ # должен стоять в 1-ой позиции):

#!/bin/sh
#PBS -q dque
#PBS -l walltime=10:00:00,nodes=1:ppn=1</dd>
#PBS -m abe
#PBS -M <username>@cv.jinr.ru
#PBS -r n
./myprog


Выполните команду, которая разрешает выполнение этого файла:

chmod 755 mybatch

Поставьте его в очередь на исполнение в систему пакетной обработки:

qsub mybatch

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

qstat

Когда задача завершится, Вы получите ее "стандартный вывод" и диагностику в каталоге, из которого запускали команду qsub, в файлах вида:

mybatch.oXXXXX и mybatch.eXXXXX


Строки в файле mybatch имеют следующее значение:

#!/bin/sh - вызов стандартного интерпретатора этой строки (необходима)

#PBS -q dque - имя очереди (фермы)

#PBS -l walltime=10:00:00,nodes=1:ppn=1 - время счета задачи (не более 10 астрономических минут в данном случае); для выполнения требуется одна машина и один процессор на ней

#PBS -m abe - посылать mail при неожиданном останове в начале выполнения, при окончании задачи

#PBS -M <username>@cv.jinr.ru - адрес, по которому посылатьmail

#PBS -r n - не перезапускать задачу автоматически при сбоях (рекомендуется именно этот режим для предотвращения зацикливания задания)

./myprog - собственно запуск программы (можно указать ее параметры в этой же строке)


В Linux кластер в настоящее время входят три фермы. Соответственно имеются три очереди, и задания из этих очередей попадают на различные фермы. Большинство пользователей имеют возможность (права) ставить задания только в очередь dque. Если Вы создали параллельную программу, то есть она может (и будет) работать параллельно на нескольких процессорах, то такую задачу можно и нужно ставить в очередь para, задавая при этом nodes=8 (работа на 8-ми процессорах одновременно).

Для пользователей коллабораций экспериментов БАК существует специальная очередь prod, доступная только этим пользователям. При отсутствии загрузки специальных ферм, их ресурсы могут использоваться всеми пользователями, при условии, что их задачи будут выполняться не более 10-ти часов.

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

man qsub
man pbs_resources_linux

2.5 Дисковое пространство для пользователей


Для хранения своих файлов, прежде всего, используйте свой домашний каталог (HOME). Это место хранения является наиболее безопасным с точки зрения защищенности от несанкционированного доступа и различных сбоев. Для хранения больших объемов данных имеются временные каталоги (scratch), где информация пользователей может храниться длительное время (на данный момент - неограниченное); но следует заметить, что ведется контроль, является ли хранимая пользователями информация соответствующей их работе. На всех машинах имеются каталоги для действительно временного хранения данных, например во время счета программы. Такие каталоги регулярно очищаются от всех файлов, например при перезагрузке машины. Scratch каталоги доступны на всех машинах Linux кластера. Для их использования необходимо (один раз) создать свой каталог:

mkdir /scrc/u/myname (myname - это Ваше имя пользователя)

Временные каталоги являются локальными на каждой машине и имеют пути:

/tmp, /scr/u/myname

последний тоже необходимо один раз создать командой:

mkdir /scr/u/myname

На Вашем домашнем каталоге есть квота, то есть ограничение на максимальный объем информации, которую можно посмотреть командой:

fs lq

Квоту на scratch - каталогах можно посмотреть командой:

quota

Смотрите строку квот только для /scrc, если такая присутствует. На /scrc квота имеет два значения: quota и limit. Это означает, что в принципе можно записать количество информации до значения limit в течение двух недель, а далее Вы не сможете больше писать в /scrc, пока не удалите часть информации, чтобы ее объем стал опять меньше, чем значение quota. После этого запись опять будет разрешена.


2.6 AFS и некоторые пользовательские файлы и каталоги


Как уже упоминалось ранее, AFS хорошо защищает файлы пользователя от несанкционированного доступа - настолько хорошо, что даже системные программы не могут прочитать файлы, находящиеся в домашних каталогах пользователей. Это свидетельствует о действительно хорошей защите файлов в AFS.
Но есть, как минимум, две ситуации, при которых эта защита является помехой в работе системы: переадресация электронной почты и доступ к домашним страницам (WWW) пользователей. Для обхода подобных проблем в домашнем каталоге пользователя создается подкаталог, открытый для чтения для "всего мира" (подробнее об этом смотрите далее в главе с описанием AFS). Если пользователь проходил первичную регистрацию в AFS в ЛИТ, то такая структура заводится автоматически: у каждого пользователя в его домашнем каталоге заводится подкаталог с именем public, полностью открытый для чтения (в терминах AFS). В этот каталог необходимо поместить файл .forward и создать подкаталог public_html. Из самого домашнего каталога необходимо сделать символические ссылки на эти файлы. Файл .forward необходим для автоматической переадресации электронной почты на другой адрес. Каталог public_html - это место организации и хранения домашней странички WWW пользователя.

Организуется это так (если у Вас еще нет файлов .forward и public_html):

Для переадресации почты с адреса myname@cv.jinr.ru на адрес mynewaddress@jinr.ru:

cd
echo "mynewaddress@jinr.ru" > public/.forward
chmod 600 public/.forward
ln -s public/.forward .forward

Для организации домашней странички:

cd
mkdir public/public_html
chmod 755 public/public_html
ln -s public/public_html public_html

2.7 Электронная почта


В состав Linux кластера входит сервер электронной почты (имя машины - lxmx00.jinr.ru). Оговоримся сразу, что этот почтовый сервис поддерживается исключительно с целью не заставлять пользователей выведенной из эксплуатации машины Convex менять свой традиционный адрес для сообщения всем своим корреспондентам и менять методы работы со своей почтой. Для этого старый адрес вида

user@cv.jinr.ru и даже user@cv.jinr.dubna.su

прозрачно переведен на машину с адресом

lxmx00.jinr.ru


Для работы с e-mail на Linux кластере используйте программу pine , которая уже настроена на получение и отправление mail через сервер кластера, специально предназначенный для этих целей.

Но если пользователь заинтересован в дополнительном сервисе при работе с электронной почтой, как то: фильтрации спама и вирусов, web интерфейс, удобный доступ к своим почтовым ящикам со своей рабочей станции, то ему следует зарегистрироваться на почтовом сервере NOC ОИЯИ . Почтовый сервер Linux кластера предоставляет возможность чтения и отправления почты с машин интерактивного кластера, в основном, программой pine. Для работы со своими почтовыми ящиками с других машин, необходимо настраивать почтовые программы на чтение по протоколу POP3 и отправление по SMTP в обоих случаях с машиной lxmx00.jinr.ru.


2.8 Русификация


Для работы с русскими буквами необходима обычная русификация компьютера, через который Вы работаете с Linux кластером. Машины с Windows, как правило, имеют необходимые средства русификации, и они обычно уже установлены (если Вы работаете в России). Дополнительно требуется настроить программу putty на перекодировку koi8-r в cp-1251 для экрана и обратную - для клавиатуры. На Unix/Linux машине необходимо установить в XFree86 фонты Cronyx (Cyrillic), которые присутствуют во всех последних дистрибутивах Linux, и настроить "XkbLayout" - "us,ru" (для XFree86 4.x). После настройки своей рабочей станции, можно зайти на Linux кластер (по ssh) и установить переменную окружения LANG в ru_RU.KOI8-R:
LANG=ru_RU.KOI8-R ; export LANG - для sh и bash
setenv LANG KOI8 - для csh/tcsh

После этого при работе с vi/vim, mc и netscape/mozilla будут отображаться русские буквы, и тем самым, некоторые программы (например, mc) русифицируются. Для русификации программы работы с электронной почтой pine требуются дополнительные настройки самой этой программы. Запустите ее и проделайте следующие манипуляции:

pine
s
c

далее листать список настроек до character-set и нажать:

<Enter>
KOI8-R
<Enter>
e
y
q


Можно ввести определение переменной LANG "навечно", записав строку с ее определением в файл .bashrc (sh/bash), или в .cshrc (csh/tsch) в своем домашнем каталоге. Но в этом случае у Вас возникнут сложности при работе на Linux кластере с не русифицированных рабочих станций, например, из-за границы.