Насколько болезненной может быть миграция Linux на OpenSolaris?

StackOverflow https://stackoverflow.com/questions/581799

Вопрос

У нас есть бизнес-приложение, которое в основном работает на независимом от ос стеке (tomcat + java + mysql), но мы всегда запускаем его redhat или centos.

Есть клиент, который настаивает на запуске его на opensolaris по своим собственным причинам (дорогостоящее соглашение о поддержке everything-is-included с Sun).

Насколько болезненной может быть такая миграция?У нас есть множество конфигурационных файлов и сценариев поддержки, таких как:

  • апач
  • соединитель apache/ tomcat
  • взаимодействие по электронной почте с postfix
  • запуск/остановка индивидуального сервиса
  • пара заданий cron (резервное копирование, мониторинг)
  • разные пользователи и разрешения (java, mysql, электронная почта, резервное копирование ...)

Наш процесс сборки выдает .tar.gz файл с нашим бизнес-кодом + несколько сценариев оболочки, которые редактируют все файлы конфигурации ОС.

Любой предыдущий опыт по этому поводу.

Это было полезно?

Решение

Самые большие проблемы будут связаны с не-POSIX (нестандартными) опциями, которые вы использовали для инструментов GNU, предоставляемых в Linux, которых нет в стандартных командах Solaris.Вы можете решить, что перенести соответствующие инструменты из набора GNU проще, чем модифицировать вашу систему.Если вы дополнили код абсолютными путями к командам (/usr/bin/ls) но если вы решите использовать вместо этого версии GNU, вы должны найти способ их исправить.Я был бы крайне осторожен при замене версий OpenSolaris версиями GNU;вы не знаете, когда вы нарушите что-то, на что опирается система.Итак, вы бы поместили команды GNU в отдельный каталог - вероятно, нет /usr/local потому что заполнять это должны владельцы компьютеров, а не вы как разработчик приложений, и позаботьтесь о том, чтобы это использовалось вместо системных команд.(Примечание:на Солярисе, /bin является символической ссылкой на /usr/bin;Я предполагаю, что то же самое верно и для OpenSolaris.) AFAIK, Postfix не является стандартным для OpenSolaris, поэтому вам также нужно убедиться, что он установлен.

Все это выполнимо - нет ничего непреодолимого.Но многое зависит от вашей кодовой базы.

Другие советы

Мы запускаем оба, хотя и не используем OpenSolaris в качестве веб-серверов.

Хорошее:

  • OpenSolaris поставляется с инструментами gnu, так что укажите правильный путь, и все в порядке.

  • Большинство вещей просто строятся и работают просто отлично.

То, что не так хорошо:

  • Убедитесь, что вы установили и используете bash.В противном случае все те bashisms, которые вы используете, о которых вы не думали, что используете, укусят вас.

  • Убедитесь, что вы не используете жестко закодированные пути к /usr/bin или /bin.Эти инструменты не являются инструментами GNU и поэтому имеют разные опции.Используйте /usr/gnu, как упоминалось выше.

  • У вас нет такого огромного количества пакетов, которые вы можете установить сразу, как вы делаете с yum или apt.Да, у вас есть менеджер пакетов, просто он не так хорошо заполнен.В результате вы, вероятно, будете устанавливать пакеты вручную.Они должны быть установлены, это просто немного больше работы для ваших системных администраторов.

  • Вы уверены, что OpenSolaris хорошо работает на вашем оборудовании?Это стоит проверить.Вы можете обнаружить, что некоторые драйверы оборудования протестированы не так хорошо.

В остальном мы находим OpenSolaris приятным.В нем много хороших идей.

Вы смотрели на Nexenta - http://www.nexenta.org/os Это ядро OpenSolaris с пользовательской средой Ubuntu.

OpenSolaris уже включает в себя все утилиты GNU, просто укажите ваши скрипты в /usr/gnu/bin

Установка Postfix не должна представлять никаких проблем, а Apache / MySQL присутствуют в базовой установке OpenSolaris (по правде говоря, классный веб-стек делает администрирование примерно таким же простым, как WAMP / Instant Rails).Помимо этого, манифесты SMF (SMF является заменой rc-скриптов, вроде launchd в OSX, хотя вы все еще можете использовать обычные сценарии инициализации) могут облегчить вашу жизнь, поскольку указание зависимостей и порядка выполнения несколько приятнее (это также рекурсивно запускает / останавливает все зависимые службы).

Tomcat, безусловно, работает, хотя все, кого я знаю по OpenSolaris, используют GlassFish.YMMV, но развертывание .war практически везде одинаково.

Возможно, это неплохой первый шаг для развертывания в фирменной зоне LX (для сравнения вспомните FreeBSD jails или Linux VServer), поскольку фирменные зоны LX могут запускать двоичные файлы Linux и явно основаны на CentOS / RHEL.

Кроме этого, OpenSolaris - это Xen dom0 начиная с b77 или что-то в этом роде, и поместить CentOS / RHEL в domU очень просто, если это возможно.

Вместе с ним вы также получаете все преимущества Solaris (DTrace, ZFS, виртуализацию сети [через CrossBow] и т.д.).Кто знает?Возможно, вам это даже понравится!Java есть Java, так что это не должно создавать никаких проблем.

  • вероятно, вам придется переписать большую часть ваших скриптов (создание пользователем, запуск сервиса), поскольку в CentOS и OpenSolaris это, вероятно, отличается.

  • как писалось ранее, попросите вашего клиента установить инструменты GNU, чтобы у вас было меньше работы по переписыванию ваших сценариев.

  • файлы конфигурации операционной системы также могут быть в другом формате, вам нужно будет проверить.

  • ваш tar.gz файл должен быть извлекаем без проблем, но опять же, у вас будет меньше сюрпризов, если вы используете инструменты GNU.некоторые ОС unix имеют tar с некоторыми ограничениями

Любой предыдущий опыт по этому поводу.

(может быть, немного оффтопик)

мы упаковываем и распространяем наше приложение java / tomcat / postgresql / unix со всеми двоичными файлами, на которые ссылаются наши скрипты.это подразумевает наличие 1 системы сборки для каждой поддерживаемой нами ОС, это подразумевает, что мы поддерживаем наше приложение, но также и внешние двоичные файлы, но в итоге у нас нет неприятных сюрпризов для клиентов.

мы также просим их выполнить все операции root (создание пользователя, каталога, настройку sendmail, настройку системы) перед установкой приложения.мы написали сценарии завершения работы / запуска для всех поддерживаемых ОС, и их установка - это единственное, что мы делаем в root на компьютере клиента.

Помимо того факта, что вы тролль, кто-то только что сказал выше, что (Открытый) Solaris имеет:- ZFS - DTrace

Мы можем понять, что вы боитесь не потерять свою работу в RHCE, но вы только что еще раз доказали мне, что мое решение как работодателя игнорировать все сертификаты при собеседовании с людьми было правильным.Похоже, что большой процент таких людей (особенно в мире Microsoft) таковыми не являются...непредубежденный, мягко говоря.

С уважением, Алекс

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top