Назад | Перейти на главную страницу

Что помешает перезагрузке?

У меня есть файловый сервер Mac, который работает неправильно (и вчера тоже вел себя странно). Я установил на него звуковой сигнал, и sshed и, как root, выдал reboot команда. Ничего не случилось! я sshed снова и выдает еще одну команду перезагрузки, но все равно ничего.

Странно видеть «перезагрузку», указанную как одну из задач в topсписок.

Затем я как root выпустил

shutdown -r now

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

Я никогда не видел ничего подобного. Что может помешать перезагрузке системы и, более того, без физического доступа к коробке (я могу, она просто в другом месте), как я могу вывести коробку из строя?

Теперь я замечаю, что top говорит:

Processes:  25 total, 2 running, 4 stuck, 19 sleeping... 88 threads   

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


Обновить:

Из эта тема (особенно сообщение №9), я так понимаю ps и top покажет букву «U» для зависших («бесперебойных») процессов.

bash-3.2# ps ax | grep U
   48   ??  Us     0:08.23 /usr/sbin/update
10180   ??  U      0:32.95 /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/build_hd_index
17119 s000  U+     0:00.07 reboot
17052 s001  U+     0:00.09 reboot
17261 s002  R+     0:00.00 grep U

Выдача kill -9 [pid] не имеет никакого эффекта.

Что ж, в моем конкретном случае этот сервер (Apple XServe) не разговаривал с подключенным RAID-модулем. Я, наконец, перезагрузил сервер, RAID-массив и сервер снова и решил, что все заработало.

Из моих исследований выяснилось, что задачи могут переходить в застрявшее или непрерывное состояние, и даже SIGKILL не будет их фазировать. Я полагаю, что один процесс ждал монтирования томов RAID, а другие процессы (в частности, команды перезагрузки) ждали этого.

Как правило, перезагрузку прерывают следующие элементы:

  • Открытие приложения во время завершения работы. Однако это не влияет на shutdown -r.
  • Застрявший процесс или зависшие процессы - когда жесткий сброс чаще всего является самым быстрым (но не самым безопасным вариантом). Иногда бывает сложно выяснить, почему процесс застрял.

Это не поможет вам, если вы еще не настроили его. Но в будущем, используя консольный сервер с ipmi или даже ipmi без консольного сервера, вы можете выдавать на машину команды питания, которые эквивалентны жесткому сбросу.