Неизвестный уровень выполнения на Ubuntu 14.04, службы не запускаются при загрузке

Вопрос или проблема

Я арендую VPS у компании VPS и запускаю там веб-сервер на Ubuntu 14.04. На днях его пришлось приостановить моим провайдером на некоторое время. После окончания периода приостановки (1-2 дня) VPS загружается, но не может получить ни одного уровня выполнения.

root@vps:/# runlevel
неизвестный

Это, в свою очередь, означает, что никакие службы Upstart не запускаются при загрузке, так как “полезные вещи” требуют runlevel [2345].

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

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

Сервер (был) работал с PHP7, Nginx, MySQL, Redis, Minecraft Server, Mumble Server. Сервер работал нормально (и пережил несколько перезагрузок) до периода приостановки.

Вот мой initctl list после свежей перезагрузки: http://pastebin.com/fcfcnxBU. Пожалуйста, спрашивайте о конкретных деталях, так как я не совсем уверен, где их искать (например, файлы логов, артефакты отладки, файлы и директории и т.д.).

ИСПРАВЛЕНИЕ: некоторые успехи через эксперименты:

Похоже, файловая система и/или сетевой стек не запускаются правильно при загрузке. Когда я делаю следующее:

$ ifup --all
$ initctl emit static-network-up
$ initctl emit filesystem
... Ctrl-C для выхода из цикла
$ initctl emit local-filesystems

То я получаю

$ runlevel
>N 2

И службы моего сервера (по крайней мере, большинство из них) работают нормально.

Я проверю, есть ли одна команда из этих, которая позволяет последовательности инициализации загрузки продолжаться нормально.

ИСПРАВЛЕНИЕ2:

  • ifup --all поднимает venet0:0, который привязан к статическому публичному IP VPS.

  • emit static-network-up ничего не делает.

  • emit filesystem + Ctrl-C запускает

    • rsyslog
    • ssh
    • minecraft-server
    • cron
    • xinetd
    • console
    • tty2
    • upstart-file-bridge
    • mysql

    и останавливает

    • plymouth
    • plymouth-upstart-bridge
  • emit local-filesystems запускает

    • avahi-daemon
    • systemd-logind
    • mountall.sh
    • dbus
    • networking

    и что-то под названием network-interface-security (network-interface/lo) start/running исчезает.

Инициализация, о которой вы читаете, была заменена на upstart, начиная с Edgy Eft 6.10; и одна из программ, предоставляемых upstart, – это его собственная реализация init. Смотрите эту документацию для 14.04.

Чтобы изменить уровень выполнения по умолчанию, используйте свой любимый текстовый редактор для /etc/init/rc-sysinit.conf.

sudo vim /etc/init/rc-sysinit.conf

Измените эту строку на тот уровень выполнения, который вы хотите…

env DEFAULT_RUNLEVEL=2

Тогда при каждой загрузке Upstart будет использовать этот уровень выполнения.

И перезагрузите систему.

Если он по-прежнему не запускается, проверьте, обновлены ли все приложения и правильно ли установлены все зависимости, и попытайтесь обновить их в Upstart снова.

Ответ или решение

Решение проблемы с неизвестным уровнем выполнения и службами, не стартующими при загрузке на Ubuntu 14.04

Когда ваш сервер на базе Ubuntu 14.04 показывает статус "unknown" при выполнении команды runlevel, это указывает на серьезную проблему с процессом инициализации системы. Давайте разберем возможные причинные факторы и шаги, которые можно предпринять для решения проблемы.

1. Проверка конфигурации Upstart

Ubuntu 14.04 использует систему инициализации Upstart, и корректная настройка файлов конфигурации является критически важной. Начните с проверки файла /etc/init/rc-sysinit.conf, который отвечает за определение уровня выполнения по умолчанию.

sudo vim /etc/init/rc-sysinit.conf

Убедитесь, что строка, определяющая уровень выполнения по умолчанию, выглядит следующим образом:

env DEFAULT_RUNLEVEL=2

После внесения изменений перезагрузите систему:

sudo reboot

2. Проверка служб и зависимостей

Важно также убедиться, что все необходимые службы и зависимости установлены и настроены правильно. Вы можете просмотреть список доступных и активных служб с помощью команды:

initctl list

Если какие-либо службы не активны, возможно, их нужно будет запустить вручную или добавить в конфигурацию для автоматического запуска.

3. Инициализация сетевых интерфейсов

Из ваших исследований следует, что проблема может заключаться в том, что сетевые интерфейсы не инициализируются автоматически при загрузке. Использование команды ifup --all, как вы уже сделали, помогает разрешить часть проблем. Рассмотрим вашу последовательность команд и их влияние:

$ ifup --all
$ initctl emit static-network-up
$ initctl emit filesystem

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

4. Лог-файлы

Для более глубокого анализа проблемы полезно просмотреть системные журналы. Файл /var/log/syslog и /var/log/dmesg могут содержать полезные сообщения об ошибках или предупреждения, которые возникли при загрузке системы:

cat /var/log/syslog | less
cat /var/log/dmesg | less

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

5. Обновление системы и приложений

Если предыдущие шаги не помогли, рекомендуется обновить вашу систему и все установленные приложения. Это можно сделать с помощью следующих команд:

sudo apt-get update
sudo apt-get upgrade

6. Обращение к поддержке VPS

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

Заключение

Следуя предложенным шагам, вы сможете диагностировать и устранить проблемы с неизвестным уровнем выполнения на вашем сервере Ubuntu 14.04. Начните с проверки файла конфигурации, активных служб и сетевых интерфейсов, а затем, если потребуется, обращайтесь за помощью в поддержку. Надеемся, что это руководство окажется полезным и поможет восстановить корректную работу вашего сервера.

Оцените материал
Добавить комментарий

Капча загружается...