ВОВКнОUС, 05 лекция (от 14 марта)
Материал из eSyr's wiki.
Диктофонная запись: http://esyr.org/lections/audio/clusterbuilding_2008_summer/clusterbuilding_08_03_14.ogg
Содержание |
[править] Open SSH
В openSSh входит ряд программ, конкретно
- ssh. SSH занимает 22 порт. По умолчанию ипользуется для терминального доступа.
- scp. Используется для копипрования файлов с каталогами. SCP пытались сделать так, чтобы она была похожа по синтаксису на команду cp. Она же похожа по синтаксису на rcp.
- sshd. Сервер, демон. Если sshd не запущен, то к этой машине нельзя подключиться.
- ssh-keygen. Используется для генерации ключей. Генерирует она всегда пару ключей.
- sftp. Безопасный ftp.
Есть ещё два места, где лежит некая информация. Есть каталог /etc/ssh. В этом каталоге лежат файлы конфигурации и лежат ключи для идентификации машины. И есть каталог $HOME/.ssh, в котором лежит список известных машин, список авторизованных ключей и набор сгенерированных ключей.
[править] Как происходит соединение с удалённой машиной
- Машина А хочет установить соединение с машиной B
- Машина А запрашивает у В некий ключ, который, который, кажется, является перемножением публичного и приватного ключа машины В. Допустим, до этого они обменялись этим произведением.
- Машина А сравнивает произведение. Если оно совпадает с файлом, который лежит в каталоге ~/.ssh/known_hosts, то тогда всё хорошо и веь траффик начинает шифроваться домножением на соотв. Ключи.
- После того, что машина А выяснила ключ, она сообщает свой, зашифрованый произведением. ...
[править] ssh
Допустим, надо зайти на удалённую машину. Как это делается:
ssh user_name@cluster.all.ru
Если ничего больше не указано, вываливается приглашение шелла. Это если настроена авторизация по ключам, если же нет, то сначала спросят пароль или секрентую фразу от ключа. Ешё ssh используется для удалённого запуска чего-нибудь. Для управления ssh есть управляющие последовательности:
- ~. --- разрывает соединение
- ~^Z --- на время приостанавливает ssh
- ~B --- инициировать завершение соединения с удалённой машиной
- ~? --- help
- ~C --- исполнить внутреннюю команду
- ~# --- список активных тунелей
Также, можно удалённо запускать X-сервер. В ssh для туннелирования X-протокола есть специальный ключ -X. Для работы с X-сервером выставляется переменная $DISPLAY. Дополнительно в некоторых случаях, если не работает, можно попробовать ключ -Y.
[править] port forwarding
Допустим, есть компьютер, свич, к которому подвешены ноды кластера. Свич, компьютер и ноды --- внутренняя сеть кластера, всё остальное --- внешняя. И если понадобилось что-то поставить на ноды, которые не имет доступа наружу, то можно воспользоваться компьютером, который находится в обеих сетях. Можно запустить такую вещь: ssh -L 21:ftp.debian.org:21 control.cluster
[править] scp
scp fake_passwd root@machine.cn:/etc/passwd
Есть некое количество ключиков: -p --- сохраняет права
[править] sftp
Команды:
- put
- get
- ls
- cd
- mkdir
- lcd
- lmkdir
- lls
Команды без префикса выполняются на удалённой стороне. Команды с префиксом выполняются локально.
[править] ssh-keygen
- -t задаёт тип ключа: rsa, dsa, rsa1
При этом генерируются в .ssh id_rsa и id_rsa.pub. Публичный ключ можно подложить на сервер.
(показываются созднание пользователя, ссх, создание ключа, добавление ключа в авторайзед кис (чрез сцп в промежуточный файл), хождение по ключу, сфтп файла)
[править] Запуск заданий
Есть контрольный сервер, интерфейсная машина, ноды. Хотим очередь заданий. На интерфейсной машине предоставляется клиентская часть. Клиентская часть позволяет пользователю посмотреть состояние очереди, изменить состояние очереди (изменение состояния и излечение). На контрольном сервере должно быть запущено специальное приложение, которое контролирует очередь заданий. На клиентском сервере порождаются команды, которые передаются контрольному серверу, который уже передаёт их менеджерам очередей. Соответственно, менеджер очередй может выдавать спец. команду контр. серверу, или наоборот, в результате ... . Эти демоны занимаются, по большому счёту, двумя вещами, постановкой и снятием приложения. Если же приложение завершилось само, то сервер об этом информируется. Ещё контрольный сервер занимается тем, что отслеживает путём опроса тех серверов, а жив ли тот или иной нод кластера. Если не отвечает, то значит, нод умер, и его надо исключить в планирвании задач. Всё вот это вот счастье называется система контроля заданицй.
Примеры менеджеров:
- LoadLeveler, SGE, SunGridEngine, PBS
Все они обладают потрясающей кривизной.
Вопросы организации вычислительных кластеров на основе UNIX-серверов
01 02 03 04 05 06 07 08 09 10 11
Календарь
пт | пт | пт | пт | пт | |
Февраль
| 15 | 22 | 29 | ||
Март
| 07 | 14 | 21 | 28 | |
Апрель
| 04 | 11 | 18 | 25 |