У моей компании очень серьезная проблема с управлением исправлениями на наших веб-серверах. Публичные серверы устарели, и теперь руководство считает это приоритетом. Однако вместо простого обновления и исправления существующих серверов (и всего сопутствующего тестирования) они приступили к процессу миграции на серверы Solaris как способ «смягчить проблемы». (Я думаю, это потому, что у них есть несколько серверов Solaris)

У меня нет проблем с Solaris, и я вижу, что технически весь мой веб-код php должен нормально работать с базами данных MySQL. Я также понимаю, что для перехода с php4 на php5 требуется столько же размышлений и тестирования.

Я хочу знать, на какие ошибки мне следует обратить внимание, когда серверная команда вернется и скажет мне, что мой код не работает. Я хочу начать искать головные боли сейчас, чтобы облегчить переход.

В настоящее время у нас есть последнее поколение стека, и я предполагаю, что они добавят текущее поколение при обновлении и миграции серверов для PHP, MySQL и Apache.

Резюме вопроса: Моя компания переходит с сайтов PHP4 на серверах Linux на сайты PHP4 на серверах Solaris. На какие проблемы следует обратить внимание при подготовке кода к переходу?

0
MrChrister 27 Авг 2009 в 21:52
Значит, они думают, что, чтобы избежать тестирования исправлений для той же операционной системы, будет эффективнее протестировать совершенно новую операционную систему с нуля?
 – 
ceejayoz
27 Авг 2009 в 21:58
Я не могу закатить глаза, чтобы согласиться с тобой. Кроме того, они определили каждую страницу php как приложение. Вот почему я прошу вас о помощи вместо них.
 – 
MrChrister
27 Авг 2009 в 21:59
Уточнение - меняется только ОС? Будут ли MySQL и Apache той же версии, которую вы используете в настоящее время?
 – 
nfm
29 Авг 2009 в 05:40
Они не сказали. Я хочу предположить, что они также обновляют версию стека (я знаю, чтобы сделать это намного сложнее)
 – 
MrChrister
29 Авг 2009 в 22:03

2 ответа

Лучший ответ

Какая версия Solaris, если знаете?

На уровне php4 будет очень небольшая разница, если предположить, что они устанавливают ту же или более новую версию PHP и MySQL. Что больше шансов сломаться при переходе на Solaris, так это код оболочки или C, поэтому, если вы также несете ответственность за что-либо из этого, у вас будет больше работы.

Что касается оболочки, то стоит помнить, что Solaris использует оболочку Bourne, а не Bash, поскольку это /bin/sh; у многих людей есть небольшие кусочки оболочки, которые они используют для различных задач, и легко найти там баш-измы, которые не работают в ванильной bourne-shell.

Точно так же, если вы вообще используете внешние двоичные файлы, Solaris может быть совсем другим.

1
Morven 18 Сен 2009 в 01:28

Есть пара важных деталей.

Во-первых, я считаю, что вам нужен сервисный контракт для доступа к наборам исправлений безопасности. Затем вам необходимо загрузить ежемесячные (или ежеквартальные) наборы исправлений с веб-сайта Sun. Патчи устанавливаются путем выполнения сценария оболочки, поставляемого с набором исправлений. В зависимости от того, применимо ли это исправление к вашей конфигурации, будут сбои некоторых или даже большинства исправлений.

После первого раунда исправлений перезапустите коробку с помощью: reboot - (не забудьте два тире), чтобы ядро ​​узнало, что нужно обновить информацию о конфигурации. После этого вы снова устанавливаете тот же набор исправлений на случай, если были зависимости от первого раунда исправления. И угадайте, перезагрузитесь - снова.

Это гораздо более формализованная система обслуживания, чем Linux (или, по крайней мере, некоторые варианты Linux). Очевидно, что PHP, MySQL, Apache и т. Д. Работают нормально. Но в зависимости от выбранного вами набора микросхем (cool-thread) вы захотите установить надлежащую настроенную версию их стека SAMP (она называется что-то вроде стека стеклянной рыбы или что-то в этом роде).

Я бы не стал слишком беспокоиться о оболочке, поскольку работа с правами root - это не обычное поведение для большинства администраторов, поэтому вы можете выбрать bash или ksh. Кроме того, не изменяйте корневую оболочку с / bin / sh , она статически связана, если вы ошиблись в некоторых разделяемых библиотеках, таких как libc.so.

Вы также захотите загрузить SunStudio (текущая версия - 12.1) и скомпилировать загруженные исходные файлы с помощью компилятора Sun, поскольку он лучше оптимизируется для набора микросхем SPARC. И не забудьте использовать флаг компилятора -fast при компиляции. Помимо этого, единственное, что я могу придумать, - это загрузить Sun DTrace Guide (руководство по динамической трассировке).

О, и прочтите pkgadd и pkgrm . Еще одна вещь: top может не существовать при установке по умолчанию, поэтому используйте версию Sun: prstat . И познакомьтесь с svcadm для управления службами. Увы, это все, что я могу придумать.

2
tracy.brown 25 Сен 2009 в 02:54
Несомненно, но отличная информация! Спасибо.
 – 
MrChrister
25 Сен 2009 в 22:48