Я планирую переход с Solaris / x86 на RHEL6. Частью этого перехода будет перенос сервисов из SMF в эквивалент RHEL6, который, похоже, является новаторским. Хотя сценарии init.d, похоже, все еще поддерживаются, я хочу воспользоваться преимуществами более сложного демона инициализации, особенно для таких функций, как контроль заданий (перезапуск и т. Д.). Хочу собраться с мыслями по нескольким пунктам:
1) Является ли выскочка адекватным руководителем должностей, т.е. исключает ли он необходимость в автономных менеджерах, таких как daemontools / supervise?
2) Скрипты Upstart кажутся очень простыми по сравнению с типичным скриптом init.d. Если я переносил сценарий init.d на Upstart, можно ли просто выполнить команду «exec /etc/init.d/myjob start»? Сюда входят программы, установленные RHEL, такие как httpd.
3) Делает ли выскочка что-нибудь в отношении файлов pid, и каковы его ожидания в отношении модели разветвления процесса?
4) Существуют ли какие-либо прямые руководства по аспекту управления процессами в Upstart ... и под этим я подразумеваю условия, связанные с контролем перезапуска? например сколько раз перезапускать процесс, прежде чем он перейдет в состояние обслуживания, или игнорировать ошибки / дампы ядра в дочерних процессах контролируемого процесса.
Приветствуются любые другие соответствующие идеи или руководства.
TIA
Не беспокойтесь об использовании каких-либо «продвинутых» функций выскочки на RHEL6. Он использует выскочку только как «замену» оригинальному SysVinit и использует только скрипты инициализации старого стиля. Сам RHEL не использует никаких новых функций выскочки, а RHEL7 не включает выскочку. Фактически, выскочка на данный момент практически отвергнута всеми, кроме Ubuntu (только потому, что они ее изобрели) и Debian. RHEL7 использует systemd, который сейчас используют многие другие современные дистрибутивы Linux, а Debian находится в процессе перехода.
Чтобы подготовить ваш сценарий к будущему, напишите «нормальный» сценарий инициализации; они также поддерживаются в systemd для обратной совместимости, хотя, в отличие от выскочки в RHEL6, новые функции systemd фактически используются в RHEL7. В Интернете доступен ряд руководств по написанию сценариев SysVinit; один очень хороший предоставляется проектом Fedora. Когда вы переходите на RHEL7, вы можете переключиться на файл модуля systemd, если хотите.