0. Disclaimer (отмазки)
Статья является первой частью трилогии о том, как имея x86 сервер со средой виртуализации VMWare запустить терминал сервер SRSS от Sun Microsystems.
Пишется она неформальным языком, решения, описываемые в ней не претендуют на изящество, да и воплощались они далеко не сертифицированным специалистом.
Задача передо мной стояла следующая: где-то в здании находился одноюнитовый сервер SunFire V100 неизвестной конфигурации, где-то рядом с ним находился коммутатор минимум на 16 портов и никто точно не знал где. Ещё в здании находилось 15 штук тонких клиентов SunRay 1 и столько же SunRay 100. Где стояли они все знали.
Клиенты на протяжении десяти лет показывали окно барузера с открытой страницей поиска по каталогу и перезагружались в случае закрытия окна браузера. Если не ошибаюсь, там были только X’ы, специально обученная Mozilla 1.0 и twm в качестве оконного менеджера. В качестве терминального сервера использовался SRSS 2.0.
В один прекрасный день экраны тонких клиентов потухли, и тут началось. Дело в том, что мы во-первых не могли найти сервер (по ssh глухо, а где он стоит не знаем), а во-вторых не знали чего с ним делать когда найдём. Ведь терминальных кабелей на него уже давно нет, да и по Solaris специалистов не было.
Было принято решение идти другим путём, а именно, водрузить на виртуальную машину GNU/Linux и использовать SRSS 4 под эту ОС.
К слову, сервер мы таки нашли, терминальные хвосты подошли от CISCO, а причиной отказа стал клин IDE жёсткого диска на 40 гигабайт. Сервер был тщательно замаскирован в стойке со свитчами.
1. Ставим CentOS
Я ставил OS (CENT OS 4.3) в среде VMWare на виртуальный диск размером 10 гигабайт с разделением на своп (1024 MB) бут (256 MB) и остатки под корень. Файловая система ext3.
Установку делал ПОЛНУЮ, как рекомендует SUN. Лучше потом вынести лишнее (например, OpenOffice со всеми локалями), чем в процессе установки srss доставлять лдапы и др. и пр.
Далее, дабы не искушать судьбу, я вообще отключил firewall и selinux.
VMWare tools ставится легко и непринуждённо, пакетная база-то от HREL 4.3.
Сеть. В моём случае, использовался внешний dhcp аппаратного роутера предприятия, работе системы это не мешает.
DHCP сервер и SRSS вопреки расхожему мнению не должны быть по одному адресу, а администратору это упрощает согласование работы своего DHCP с общим. Ввиду отсутствия своего.
Если есть какие-то проблемы с безопасностью, то sunray клиенты и сервер(ы) можно всегда вынести в отдельный VLAN.
2. Готовимся ставить SRSS
Ставим java из набора srss (лежит внутри установочного архива в папочке Supplemental).
Лично я предлагаю «установить» java так: запустить файл jre-1_5_0_11-linux-i586.bin из папочки Supplemental, прочитать лицензию, подождать пока он распакуется рядом, а потом скопировать папку jre1.5.0_11 в папку /usr/java и запомнить путь /usr/java/jre1.5.0_11.
Если каким-то маргиналам на сервер вдруг понадобилась java посвежее (и вапще, какие придурки и для каких пишут всякие 1.6u6 если всё и под 1.5u10 пашет?) то ничего страшного.
Можно поставить rpm’ку, и java из комплекта srss не помешает. Ну а если у вас ещё осталась какая-то гордость и честолюбие, то санреевскую яву можно и вовсе в /opt переложить. Да, думаю из контекста ясно, что 1.6’ую версию SRSS не признаёт… парадокс.
Ставим apache-tomcat из набора srss (лежит в папочке Supplemental). Установка сводится к тому, что содержимое папки в архиве (не сама папка!) копируется в папку /opt/apache-tomcat и путь запоминается.
Запускаем ntsysv (в очередной раз радуясь что у нас есть и ntsysv и mc, т.к. мы поставили все пакеты) и активируем при загрузке ldap (заодно можно придушить рейдмонитор, смарт и некоторые другие ненужные вещи). Потом даём команду /etc/rc.d/init.d/ldap start ну и до кучи перезагружаемся.
3. Ставим SRSS
Предварительные ласки кончились! Заходим в корень установочной папки SRSS и запускаем ./utinstall
Там всё логично, читаем лицензию, соглашаемся, соглашаемся снести GDM и поставить «правильный». Произойдёт небольшой даунгрейд, немного изменится внешний вид, отпадут некоторые стандартные утилиты настройки, но зато, правильный GDM от SUN оптимизирован для чего-то там!
Французская, китайская и ещё какая-то GUI’ня по вкусу (для любителей, на сайте уже лежит турецкая), я бы предложил не ставить, со всем соглашаемся и в итоге получаем сообщение о том, что установка завершена, сервисы запустятся после перезагрузки, для справки нам предлагают почитать логи.
Теперь всё наше счастье грубо говоря в двух директориях: /opt и /etc/opt. Практически вся настройка именно SRSS будет производится там.
Запускаем /opt/SUNWut/sbin/utconfig, предварительно сделав копию виртуальной машинки.
Соглашаемся с лицензией, вводим пароль (если ругается на ldap, ищем где накосячили), соглашаемся на конфигурацию WebGUI’ни, вспоминаем путь до томката, радуемся и жмём ентер (если не поняли чему радоваться, то не жмём ентер), выбираем порты для обычного и SSL соединения (можно оставить дефолтные 1660 и 1661. Имя процесса оставляем, удалённое администрирование я бы разрешил.
Конфигурация киоска, собственно, ради чего всё и затевалось… конечно соглашаемся. Префикс юзера можно оставить дефолтный, особо юморные люди могут изменить utku на utka…
Дальше собственно количество юзеров нас и интересует, остальное по дефолту. У меня клиентов всего 30, работают они все, но юзеров на всякий случай сделал 35. Да, на запрос о включении в failover group отвечаем ОТРИЦАТЕЛЬНО.
В принципе, после этого (и на всякий случай после перезагрузки) по адресу http://localhost:1660 есть все шансы увидеть приглашение в WebGUI’ню.
4. Почти окончательная конфигурация SRSS
После того как мы таки зашли на WebGUI’ню, то сразу становится видно что соединения к серверу отключены, для того чтобы исправить эту ситуацию, надо дать команду /opt/SUNWut/sbin/utadm -L on и перегрузить на холодную (из веба или командой) srss.
В принципе, в этом (изначальное отключение соединений) есть какая-то логика, ну типа чтобы клиенты не пытались подцепиться к ещё несконфигурированному серверу (на том, что всё работает широковещательно, внимания заострять не будем, это не баг, это фича ), но почему бы не сделать включение из веб интерфейса? Индикацию же осилили… ждём srss 5. Кстати, ждём новую версию или апдейт нынешней не только из-за этого, но об этом позже.
На этом установка по инструкции из файлика 820-0414.pdf (Sun Ray™ Server Software 4.0 Installation and Configuration Guide for the Linux Operating System) заканчивается. К информации из него мы будем периодически обращаться, но это уже будет окончательная доводка.
На данном этапе я предлагаю сделать ещё один бэкап виртуальной машины.
5. Почти окончательная установка софта
Сразу уточню, у меня задача вообще идеально просто решаемая – в киоске надо запустить WEB-браузер без поддержки CSS и JavaScript для осуществления работы в поисковой машине и осуществить переключение раскладки клавиатуры. При этом сделать всё так. Чтобы система в случае чего просто перезапустила сессию.
Конечно, везде должны быть русские буквы, должен быть инструмент для быстрой смены обоев (административные сообщения, инструкции, поздравления на обоях и пр.) и прочие мелочи.
Для своих целей я выбрал следующий набор инструментов – Dillo в качестве браузера, mwm в качестве оконного менеджера, fvwm в качестве зачатков десктоп менеджера.
Был опыт общения с FireFox, но он был признан неудовлетворительным, ибо во-первых, данный браузер тяжеловат, во-вторых, имеет обширный и в моём случае избыточный функционал и в-третьих, этот обширный функционал очень трудно обрывается.
Dillo использовался последней (не из CVS) версии 0.8.6 из репозитория Fedora Core 3 Extras. Зависимости удовлетворяются, работает нормально.
FVWM был взят с rpmseek.
Русские Unicode шрифты были найдены в репозитории Tigro для Fedora 8.
Последней фундаментальной проблемой на пути ко всеобщему счастью стало то, что xkb extensions в SRSS не то чтобы сломаны, но работают криво. На сколько я понял, xklavier не работает вовсе, setxkbcomp вроде и работает, но раскладка не та… искушённые источники, близкие к официальным лицам утверждают что xkb сломан и бага висит… в общем, я решил (не сам, добрые люди подсказали) использовать xkrus.
В работе xrus есть одна особенность — при первом старте клиентов после перезагрузки терминального сервера он падает при нажатии на любую кнопку клавиатуры, при повтороном же логине автоматическом естественно) всё нормально.
Если вдруг решение данной, достаточно редкой задачи окажется кому-то нужным, то это заставит меня быстрее дописать «трилогию», выложить конфигурационные файлы, поделиться опытом настройки других оконных и десктоп менеджеров и, быть может даже рассказать как из SunRay 100 сделать подобие SunRay 1.
Да, если всё по шагам сделать как в этой записи, то получится стандартное GDM’ное приглашение на экране терминала с возможностью логина любого пользователя (настройки X сервера естественно перекрываются).
6. Благодарности
В заключении хочу поблагодарить своё начальство за то, что приставили к голове пистолет и сказали «Делай!», сотрудников службы технической поддержки SUN за то, что терпели меня в течении полугода и терпят до сих пор, и сотрудников компании VDEL за то, что безвозмездно делились опытом использования SRSS в среде GNU/Linux.
Уведомление: Про SunRay (Часть 2)
Параллельно с установкой SRS на солярисе стал ставить и на центосе. При установке у вас не было проблем с путями? Центос 7, постоянные проблемы с неправильными путями, видимо из-за различий в версии центос. SRS 4.5 так и не устанавливается, пишет что не возможно работать с каталогом /home/Sun. Я его уже и создавал (пользователя), и давал полные права, и удалял, в надежде на его автоматическое создание — без результатов.
Кстати, спасибо вам за такие подробные инструкции, уж очень мало по ним информации.
CentOS наверное не лучший выбор. Акутальные инструкции доступны под Oracle Entertrise Linux, он бесплатный, наверное, лучше на нём и ставить.