У меня есть файловый сервер Mac, который работает неправильно (и вчера тоже вел себя странно). Я установил на него звуковой сигнал, и ssh
ed и, как root, выдал reboot
команда. Ничего не случилось! я ssh
ed снова и выдает еще одну команду перезагрузки, но все равно ничего.
Странно видеть «перезагрузку», указанную как одну из задач в 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, а другие процессы (в частности, команды перезагрузки) ждали этого.
Как правило, перезагрузку прерывают следующие элементы:
Это не поможет вам, если вы еще не настроили его. Но в будущем, используя консольный сервер с ipmi или даже ipmi без консольного сервера, вы можете выдавать на машину команды питания, которые эквивалентны жесткому сбросу.