Pull to refresh

История о том, как достучаться с Mac до серверного RMM-модуля, но не без Windows

Reading time5 min
Views1.1K
Странное стечение обстоятельств вынудило меня сегодня заняться решением, из разряда вещей простых, но несовместимых, о чем и хочу вам рассказать. Как водится, начну издалека, здесь будет много мыслей, маленьких размышлений и совсем микроскопичесиких отвлечений, так что, у желающих будет замечательная возможность пропитаться духом истории и попутно подумать и о своем. История будет и про сервера, и про Windows и Mac OS, про админские будни и праздники, и даже (немного) про Java.

Сперва немного о банальном. Все мы знаем, что сервера обычно стоят совсем не рядышком, скажем, под столом, и, если вдруг сервер перестал отзываться, посмотреть «а что же там такое выскочило на мониторе?» увы, не получится. Нет, я не исключаю ситуации, что сервер у вас стоит под вашим же столом и обслуживает офисную почту или 1С, если так, то, возможно, Вам (пока) и не нужны чудеса удаленного доступа, и обычный проводной KVM запросто решает ваши проблемы, когда вдруг приходится посмотреть на синий/черный (выберите по вкусу) экран. Сервера в нашем мире чаще всего стоят в дата-центрах, доступ куда на «посмотреть» если и не сильно ограничен всяческими пропускными системами, то хотя бы неудобен из-за того, что датацентр обычно как назло на другом конце города. Не наездишься на каждый сбой. Но…

Но, цивилизация изобрела достаточное количество способов как-то достучаться до неблизких серверов. Сразу исключим дар ясновидения, телекинез и прочую изотерику, а также общение с техподдержкой хостера: «вы можете подключить KVM к серверу 555? Нет свободных? Освободится через три часа? А у нас же голосование идет, помогите, ну...». Ну, собственно, и так далее. Многие, кто держит сервера на площадках, и не в такие еще ситуации попадали. Но нет, нас все же спасет прогресс: есть и более «идеологически верные» способы удаленного управления, полностью исключающие человеческий фактор. Но тут уже надежда только на себя…

Когда-то я преспокойно соединял сервера COM-портами «крест-накрест» и они замечательно давали управлять друг другом. BIOS мог перенаправлять вывод в консоль, ОС сама после загрузки — тоже, а так как весь обмен совершенно текстовый, то и жили, бед не знали. Главное было не вывести на печать файл на пару мегов, а то 115000 бод все же не самое производительное соединение. Но это все замечательно позволяло не ездить в датацентры когда сбивались фаерволы, отваливались порты и приходили злые досы. Резетили сервера управляемой по IP розеточкой и тут тоже проблемы не было. Хочешь — BIOS перенастрой, хочешь в сингл-юзере грузись, можно было даже рэйды чинить.

Но… Помните, может быть, особенно «гламурные» BIOS-ы на 386-486 машинках, которые управлялись мышкой и работали в графическом режиме? Я думал, что я такого никогда больше не увижу. Не тут-то было! В очередных новых серверах оказался BIOS рэйд-контроллера… как раз графическим и с мышкой! Ни за что не пойму логики адаптековских инженеров, но консоль оказалась более непригодна. Картина идеального мира была испорчена напрочь. Но тут, при изучении всякого сопуствующего серверного хозяйства был и найден наш первый сегодняшний герой. Им оказалась платка размером с фотографию на паспорт, с разъемом RJ-45, называется RMM, что значит Remote Management Module, «модуль удаленного управления». Вставляется в сервер, подключается к материнке, и кроме чисто KVM-овских дел: захват изображения с экрана, эмуляция USB-мыши и клавиатуры, может монтировать CD/DVD-диски, флешки, делать пресловутый Reset и даже выключать и включать (!) машинку. Делалось все с помошью незатейливого веб-интерфейса и Java-приложения, работающего через Web Start. Решение было настолько идеальным, что я даже стал сервера ставить на площадку «голыми» и все ставить удаленно. В общем, жил-не-тужил, пока не появился второй главный герой этой истории.

Надо сказать, я люблю маленькие ноутбуки, такие, чтоб долго работали автономно и не сильно оттягивали плечо в сумке. Серверные гадости частенько случаются в самый неподходящий момент, спорить никто не будет. Ну, а от ношения маленького ноута чисто для перестраховки, до творческой работы на берегу озера или, например, крыше дома, не понадобилось длинного жизненного пути. В итоге я себя без него в этот момент уже и не представлял. Долгое время меня сопровождали маленькие асусы, соньки и даже нетбуки-асеры, с Виндой на борту, периодически заменяемой на консоле-дружелюбный Линукс… Не так давно у меня в сумке завелся MacBook Air 11", у которого и с мобильностью все в полном порядке, и софт нужный весь есть, и работает очень даже шустренько, а еще фактор эксперимента неприминул сказаться заодно. И стал я «яблочником».

Новой жизнью с новым ноутом, как вы уже могли догадаться я наслаждался ровно до того момента, как случилось нечто страшное и я полез через RMM на сервер. Залогинился, запустил приложение… и получил подозрительно черный экран. Стохастические нажатия по клавишам не исправили ровно ничего. С сервером было плохо, но не могло быть плохо настолько! Как назло другого компьютера рядом не оказалось, и я чертыхаясь поехал на площадку. И, собирая там рассыпавшийся рэйд, я задался целью разобраться в том, что же оно так меня подвело. А дальше были новость за новостью, одна веселее другой.

Сначала был Гугл, из которого стало ясно что извращенцев, админящих с макбуков сервера через RMM-ки всего-то пара человек, все так и ждущих ответа на вопрос «а как?». Я соглашусь, если вы посчитаете и меня не самым строгим последователем пуританской IT-морали, но решение все же нашлось.

Помните, я упомянул Java? Это было первое на что я погрешил. Что сделал старый джавист? Правильно, полез на java.sun.com за обновлением, а узнал там, что на маке Java встроена в ОС и не ставится отдельно! (шуму-то было лет 10 назад, а вот все уже и забылось!) И что у меня уже самая последняя Java, 1.6. Но недолго, и нашлись энтузиасты, предлагающие готовые сборки предыдущих версий. В дело пошли 1.5 и 1.4. И JRE, и JDK. И 32-, и 64-битные. Результат почти не отличался, разве что с какими-то из них вообще ничего не запустилось. Мысли пошли уже в сторону виртуальной машины с Убунтой или чем-нибудь покомпактнее (128 Гиг всего, жесткий-то!). Виртуалку ставить почему-то просто не хотелось.

От виртуализации я как-то быстро перешел к вариантам с эмуляцией. Посмотрев в сторону fink-а я тоже быстро обломался, тот не ставил свои пакеты с Java, а прицеплялся к системным. Линуксоподобную Джаву воткнуть, похоже, не удастся… Стоооп! А есть же еще Windows! А там с эмуляцией все неплохо — есть и Wine с Winebottler-ом, и Crossover! Как бы только прицепить «виндовую» Java к местному браузеру?.. Когда мысль пришла в голову, я смеялся, да, мне и до сих пор смешно, получилось не так изящно, как могло бы быть, но все получилось!

Спасителем стал Crossover, это коммерческий вариант Wine, но, не исключаю, что и в Winebottler тоже мог бы спасти день. Ставить просто Java было бы неплохим теоретическим упражнением, и я немного упростил себе юзабилити, поставив сначала Firefox, Прямо из профилей установки Кроссовера он не поддерживается, однако, не являясь чем-то монстроподобным, встал без проблем. Во время его установки я создал «бутылку» на основе Windows XP (это как бы рабочий системный образ виндового окружения, их может быть много для разных программ). А затем в ту же «бутылку» я поставил и JRE для Windows, просто скачав его из этого Firefox и запустив. Единственное, вариант с «online» установкой не заработал, отказавшись открывать жизненно-важный для себя URL, но «offline»-установщик отработал без проблем. Дальше все прошло как по маслу: Firefox запросто зашел в веб-интерфейс RMM-ки, Java-приложение запустилось сэмулированным Web Start-ом и я получил долгожданный экран:

image

Пожалуй, смысл этой, не самой короткой истории, в том, что в современном многообразии программных решений, наверняка, всегда можно найти свою «гремучую смесь», которая и позволит подружить несовместимые изначально любимый интерфейс и любимый ноутбук. Даже не прибегая к виртуализации.
Tags:
Hubs:
Total votes 7: ↑6 and ↓1+5
Comments2

Articles