«Вороне где-то бог послал кусочек SUNa. Домой Ворона воротясь, включить его уж было собралась, да позадумалась...»
Приветствую всех читателей.
Прошу прощения за столь одиозный заголовок в виде вольной трактовки известной басни Крылова, но именно такое ощущение я получил при распаковке из пузырьковой пленки сервера SunFire V240.
По тексту немного фото будут иметь место быть.
Я достаточно давно хотел "пощупать" настоящий SUN на UltraSPARC именно в железе.
Solaris 10 я увидел на x86 достаточно давно, еще в то время когда SUN, при заполнении простой формы, рассылала установочные DVD по всему миру. Попробовал, не впечатлило. Может не понял философию OS, может Debian на тот момент был логичнее и понятнее для меня, да и для x86 в частности, но диск был заброшен на полку и забыт, а мысль попробовать SUN именно в "железе" периодически всплывала в голове.
И если не в даваться в подробности, как то случайно я стал владельцем SunFire V240.
Так как железка досталась "условно бесплатно", я особо не вникал в особенности комплектации, и получив ответ — "рабочая", согласился стать ее хозяином.
Сервер оказался без… видеокарты, интерфейса PS/2 (видимо были "дернуты" вместе со 2-м блоком питания) и DVD-ROM (его видимо не подразумевалось комплектацией, так как заводская "заглушка" была на месте). Но 4 HDD имели место быть и в душе затеплилась надежда...
"Погуглив" просторы интернета, как что и где, нашел в хозяйстве кабель для CISCO — "RS232-RJ45", подключил к хосту с putty и… надежда пропала.
Система проходила POST, но с HDD не грузилась, выпадая в ошибку (я думаю система была намеренно испорчена, так как потом выяснилось через информацию в ALOM, что сервер использовался в достаточно знакомом на слух банке), пароль для входа в ALOM предыдущий хозяин не помнил или не знал, батарейка BIOS была севшая, настроение ни к черту.
Гуглим...
Поиск показал, что есть возможность установки OS по сети, но разрозненность вариаций установки очень сильно смущала, да и в конечном итоге все статьи сводились к установке из под solaris, когда в наличии был только Debian. Желание "громоздить" даже на "виртуалку" Sunos отсутствовало напрочь. Ну не выполнимых задач не бывает, начнем изучать материал, имея в хозяйстве домашний сервер под управлением Debian Stretch.
Предварительные ласки (настройки)
Для загрузки по сети на сервере под управлением Debian необходимы следующие пакеты:
- rarpd — обратный протокол преобразования адресов, который применяется во время загрузки «SUN-железяки», когда она посылает групповое сообщение-запрос со своим физическим адресом. Именно благодаря этому сервису «SUN-железяка» получит IP-адрес для дальнейшей загрузки.
- tftpd — тут все понятно, с помощью данного протокола «SUN-железяка» загрузит ядро для дальнейшей загрузки процесса установки OS.
- bootparamd — Ну тут чистый копипаст — «Команда bootparamd представляет собой серверный процесс, предоставляющий информацию, необходимую для загрузки бездисковых клиентов. Он получает информацию из файла /etc/bootparams».
Практика показала, что при недостатке информации в этом файле, загрузка не пойдет. - nfs-kernel-server — по данному протоколу «SUN-железяка» будет вытаскивать необходимые установочные файлы дистрибутива.
- isc-dhcp-server — назначит IP-адрес интерфейсу в процессе установки дистрибутива OS, так же даст все необходимые параметры типа NETMASK, DEFAULT GATEWAY и так далее.
Для того, что бы получить исходные данные для загрузки (MAC-адрес) и запустить саму загрузку, нам нужен доступ к OpenBoot Prompt (получаем доступ нажимая в подключенной "putty-сессии" ctrl + Break) и выпадаем в приглашение:
набираем: boot net -v — install
Теперь у нас есть MAC-адрес интерфейса с которого идут запросы на загрузку.
Принимаем имя "SUN-железяки" для дальнейшей работы с ней — "v240"
Переходим к настройке «загрузочного сервера»
правим файл /etc/ethers добавив строку:
0:3:ba:d0:3b:23 v240
правим /etc/hosts добавив строку:
192.168.1.50 v240
Естественно сервис должен быть перезапущен:
etc/init.d/rarpd restart
Теоретически, при наборе команды boot net -v — install в среде OpenBoot Prompt "SUN-железяка" уже должна получать IP-адрес посредством RARP:
tail -f /var/log/syslog
...
... gate rarpd[21993]: RARP request from 00:03:ba:d0:3b:23 on eth0
... gate rarpd[21993]: RARP response to 00:03:ba:d0:3b:23 192.168.1.50 on eth0
...
Далее проконтролируем, что в файле /etc/inetd.conf присутствует строка, приведенная ниже.
Это говорит о том, что tftpd как минимум, корректно установлен:
...
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
...
проверяем, что порт 69 прослушивается:
root@gate:~# netstat -lnp | grep :69
udp 0 0 0.0.0.0:69 0.0.0.0:* 19521/inetd
root@gate:~#
Далее создаем папку /exports/v240/ и монтируем туда образ загрузочного DVD-диска. Как создать образ или где его скачать останавливаться не буду, приведу только команду монтирования для сохранения логики изложения:
mount -oro,loop ./sol-10-u11-ga-sparc-dvd.iso /exports/v240/
Теперь необходимо скопировать из точки монтирования загрузочного DVD файлы, которые будут нужны "SUN-железяке" для первоначальной загрузки по сети, посредством tftp-протокола, в каталог, который используется по умолчанию tftpd — /srv/tftp. В нашем случае нам понадобится файл inetboot из каталога — /exports/v240/Solaris_10/Tools/Boot/platform/sun4u
Далее создаем symlink файла inetboot с именем в виде HEX транскрипции IP-адреса, котрый будет присваиваться "SUN-железяке".
Вот какой вывод команды ls /srv/tftp/ у меня:
root@gate:/# ls /srv/tftp/
C0A80132 inetboot.sun4u
root@gate:/#
C0A80132 — это и есть symlink на файл inetboot.sun4u (который называется inetboot и находиться на DVD диске в каталоге /Solaris_10/Tools/Boot/platform/sun4u) в виде HEX-транскрипции IP-адреса 192.168.1.50:
C0 — 192
A8 — 168
01 — 1
32 — 50
Теперь если попробовать снова загрузиться с помощью команды boot net -v — install
в syslog загрузочного сервера мы должны увидеть:
...
... gate rarpd[3616]: RARP request from 00:03:ba:d0:3b:23 on eth0
... gate rarpd[3616]: RARP response to 00:03:ba:d0:3b:23 192.168.1.50 on eth0
... gate in.tftpd[4365]: connect from 192.168.1.50 (192.168.1.50)
... gate tftpd[4366]: tftpd: trying to get file: C0A80132
... gate tftpd[4366]: tftpd: serving file from /srv/tftp
... gate rarpd[3616]: RARP request from 00:03:ba:d0:3b:23 on eth0
... gate rarpd[3616]: RARP response to 00:03:ba:d0:3b:23 192.168.1.50 on eth0
...
Это говорит о том, что запрос на IP-адрес был обработан, далее прошло соединение по TFTP и далее был запрошен IP-адрес на получение bootparams.
Настраиваем /etc/bootparams:
root=gate:/exports/v240/Solaris_10/Tools/Boot install=gate:/exports/v240 boottype=gate:in rootopts=gate:rsize=32768
где gate — имя загрузочного сервера под управлением Debian
root — откуда тянем необходимые файлы для дальнейшей загрузки
install — "корень" установочного диска
Параметры boottype и rootopts необходимы "SUN-железяке" как служебные, без описания которых загрузка не пойдет.
далее добавляем в /etc/eхports следующую строку:
...
/exports/v240 192.168.1.50(ro,async,no_root_squash,anonuid=0,anongid=0)
...
Проверяем загружен ли NFS-сервеер:
root@gate:/# ps aux | grep nfs
root 1425 0.0 0.0 0 0 ? S< окт29 0:00 [nfsiod]
root 8022 0.0 0.0 0 0 ? S< окт29 0:00 [nfsd4_callbacks]
root 8025 0.0 0.0 0 0 ? S окт29 0:00 [nfsd]
root 8026 0.0 0.0 0 0 ? S окт29 0:00 [nfsd]
root 8027 0.0 0.0 0 0 ? S окт29 0:00 [nfsd]
root 8028 0.0 0.0 0 0 ? S окт29 0:02 [nfsd]
root 8029 0.0 0.0 0 0 ? S окт29 0:12 [nfsd]
root 8030 0.0 0.0 0 0 ? S окт29 0:22 [nfsd]
root 8031 0.0 0.0 0 0 ? S окт29 0:27 [nfsd]
root 8032 0.0 0.0 0 0 ? S окт29 1:19 [nfsd]
root 23646 0.0 0.0 4728 844 pts/3 S+ 17:44 0:00 grep nfs
root@gate:/#
Проверяем доступ к дистрибутиву через NFS:
root@gate:/# mount -t nfs4 gate:/exports/v240 /mnt
root@gate:/# cd /mnt/
root@gate:/mnt# ls
boot Copyright installer Offer_to_Provide_Source_Code.txt platform Solaris_10
root@gate:/mnt#
Доступ есть.
Теперь правим /etc/dhcp/dhcpd.conf добавив нижеприведенную секцию (dhcp-сервер должен быть предварительно настроен и проверен на факт раздачи IP-адресов клиентам)
...
host v240 { hardware ethernet 00:03:ba:d0:3b:23;
fixed-address 192.168.1.50; }
...
Теперь момент истины, в среде OpenBoot Prompt набираем boot net -v — install и в syslog bootup-сервера наблюдаем:
...
... gate rarpd[12496]: RARP request from 00:03:ba:d0:3b:23 on eth0
... gate rarpd[12496]: RARP response to 00:03:ba:d0:3b:23 192.168.1.50 on eth0
... gate in.tftpd[13905]: connect from 192.168.1.50 (192.168.1.50)
... gate tftpd[13906]: tftpd: trying to get file: C0A80132
... gate tftpd[13906]: tftpd: serving file from /srv/tftp
... gate rarpd[12496]: RARP request from 00:03:ba:d0:3b:23 on eth0
... gate rarpd[12496]: RARP response to 00:03:ba:d0:3b:23 192.168.1.50 on eth0
... gate rpc.bootparamd: whoami got question for 192.168.1.50
... gate rpc.bootparamd: This is host v240
... gate rpc.bootparamd: Returning v240 (none) 192.168.1.1
... gate rpc.bootparamd: getfile got question for "v240" and file "root"
... gate rpc.bootparamd: returning server:gate path:/exports/v240/Solaris_10/Tools/Boot address: 192.168.1.1
... gate rpc.bootparamd: getfile got question for "v240" and file "rootopts"
... gate rpc.bootparamd: returning server:gate path:rsize=32768 address: 192.168.1.1
...
Далее должно "проскочить" в syslog bootup-сервера:
...
... gate rpc.bootparamd: getfile got question for "v240" and file "install"
... gate rpc.bootparamd: returning server:gate path:/exports/v240 address: 192.168.1.1
...
"И он сказал поехали..."
И вуаля! Нам предлагают выбрать язык и продолжить установку.
За сим откланиваюсь, но не прощаюсь.
denyhosts, битый switch, который "режет" ARP и тихонько молчит об этом (у D-LINK это вообще тема), и iptables (при некоторых настройках) вам могут изрядно попортить крови. Отсюда лишний раз следует, что если хотите предсказуемости результата, то проверьте hardware и выключите не нужный, на данный момент software, тем самым, вы сохраните свои нервные клетки и время.
Так же, можно создать папку /exports/v240_cfg и в ней создать файл sysidcfg со следующим содержимым:
system_locale=ru_RU.UTF-8
install_locale=en_US
timeserver=192.168.1.1
network_interface=primary {dhcp protocol_ipv6=no}
name_service=DNS {domain_name=homenet name_server=192.168.1.1 search=homenet}
security_policy=NONE
и добавить в /etc/exports строку:
...
/exports/v240_cfg 192.168.1.50(ro,async,no_root_squash,anonuid=0,anongid=0)
...
Это избавит вас от ответов на некоторые вопросы в процессе установки OS, но это уже немного другая история...
Типа вид сверху
Ну очередная "доска" из оперы — "выдерни шнур, выдави стекло"
Модуль SCC вид сверху
Модуль SCC (кусок) и "кусок" интерфейса HDD0 — HDD1 — CD(DVD)ROM
"Кусок" интерфейса HDD2 — HDD3
"Доска" из оперы — "выдерни шнур, выдави стекло" №2
Общий план "ливера"
Батарейка, мать ее...
Кулеры процессора — берегите их, они маленькие :)
Кулеры основные, конструкция конечно… "писюковая" во всем смысле этого слова
Плата дистрибьютора питания
Жопа платы дистрибьютора питания
Модуль SCC с наружи — ключик "out"
Модуль SCC с наружи — ключик "in"
Жесткие диски — seagate
Комментарии (18)
BubaVV
05.12.2017 02:11Дежа вю. В черновиках лежит аналогичная статья, только про Нетру. Списанный из банка почтовик. Только ставить планировал с диска, и как раз поковырять содержимое родной системы тоже с потерянным паролем
elenium42 Автор
05.12.2017 19:14Публикуйте, почему нет. С течением времени информации по данным системам все меньше и она все больше разрозненная. Собственно, почему и появилась данная статья.
suntexnik
05.12.2017 06:40Интерфейса PS/2 в этом сервере отродясь не было. Клавиатуры с ними шли родные SUNовские с дополнительным блоком клавиш под USB. Видеокарты тоже редко ставились.
Мы такие сервера уже почти все списали, валяются на складе. Работает не больше пяти под отладкой. А также с ними v480, v490.
Хорошие и надёжные машинки. Больное место — вентиляторы на cpu. Слишком мелкие и на 16000rpm.elenium42 Автор
05.12.2017 19:18Прошу прощения за некоторые технические «ляпы». Это мое первое общение в живую со «священной коровой». Просто лежат на столе к подготовке в работу hp dl380 g3 и g4. У них все для людей, и vga и ps/2. Единственное — батарейки BIOS. Renata CR2450N не в каждом ларьке найдешь, а у SUN все банально — 2032.
BubaVV
05.12.2017 19:22О, это тут банально. А в старые годы было чудище под названием Sun NVRAM:
elenium42 Автор
05.12.2017 19:29Интересный динозавр, а где стоял?
BubaVV
05.12.2017 19:30Типовое решение на многих юниксовых рабочих станциях и серверах
elenium42 Автор
05.12.2017 19:34Я так полагаю, что это наш «костыль», а что штатное им замещалось?
BubaVV
05.12.2017 19:37Чип памяти конфигурации со встроенной батареей. На персоналках в 90-е встречались аналогичные Dallas RTC
elenium42 Автор
05.12.2017 19:43Про Dallas я в курсе, почему и обратил внимание. «Кирпичик с батарейкой на 10 лет». Раз появился такой костыль, значит батарейки в Dallas дохли на много раньше.
elenium42 Автор
05.12.2017 19:38Что есть, то есть, cpu cooler это что-то из разряда часовых мастерских :) но если волос не намотает, что ему сделается? У меня cisco c2924 лет 5 жужжала рядом с уличной обувью. Раз в год снимаем вентиляторы пылесосим и моем. До сих пор работает, уже половина портов сдохла, морда пластиковая крошиться, а вентиляторы крутятся.
omgiafs
05.12.2017 19:19Напомнило установку лет 10 тому назад WinXP по сети на ноут, у которого не было CD-ROM и флоппаря (естественно), чтобы с последнего взять драйверы контроллера HDD.
Тоже потрошение дистра, tftp, батники и вот это вот всё…elenium42 Автор
05.12.2017 19:20Ну а что делать, железяка вот, руки чешуться, а ide slim dvd еще заморочиться найти.
Ingmar-2000
05.12.2017 19:20Жалко изнутри фотографий нет… :( Думаю было бы познавательно.
elenium42 Автор
05.12.2017 19:22В принципе это не проблема, просто в тупую фото не интересно, надо описание придумать к фото, да желательно с юмором :) В ближайшее время добавлю как P.P.S.
Louie
Имхо, с окаменелостями так нельзя. Надо было дойти до культурного слоя, посмотреть как жили сан-админы в период первоначального накопления капиталов. Все равно ничего особо полезного с такой древностью не сделать.
И исправьте, пожалуйста «позадумалась», раз уж вы намеренно акцентируете внимание на этой фразе
elenium42 Автор
В продакшн вряд ли эта штука пойдет, приобреталась исключительно в познавательных целях, хотя как nat + firewall почему нет, в связке с apache для «MCБ»…
«Позадумалась» фраза из басни :) Изначально написал «призадумалась», но потом исправил.