it-консалтинг и аутсорсинг
что мы делаем контакты блог

Решение оккультных проблем с Server Admin

Кирилл Воронин 05.02.2010

– Что делать если Server Admin “тупит и не отзывается”?


На фотографии (исправно работающий) Server Admin – одна из основных утилит для управления Mac OS X Server.

Да, изредка может случиться, что Server Admin не очень-то и слушается.
Обычно от того, что у вас в нем много серверов и они сейчас недоступны (например они за firewall, в приватном диапазоне IP адресов, а вы – в гостинице).
Тогда можно оставить Server Admin и пойти выпить чайку, через какое-то время (успеете вскипятить чайник, а то и натаскать воды из колодца) он поймет по таймауту, что подключиться к ряду серверов не получается. Может быть проще окажется удалить файл настроек ~/Library/Preferences/com.apple.ServerAdmin.plist (потеряв и список серверов).

Но может быть проблема хуже – на самом сервере. В этом можно удостовериться, используя команду serveradmin в командной строке.
Кстати, это полезная команда, если нужно перезапустить какой-то сервис и вы уже на сервере по SSH.

bash-3.2# serveradmin stop dns
dns:state = “STOPPED”
bash-3.2# ^stop^start
serveradmin start dns
dns:state = “RUNNING”

Или посмотреть какую-то информацию (сколько там пользователей подключено по AFP?)

bash-3.2# serveradmin fullstatus afp
afp:setStateVersion = 2
afp:servicePortsAreRestricted = “NO”
afp:logging = “YES”
afp:currentConnections = 43
afp:state = “RUNNING”
afp:startedTime = “2010-02-01 10:21:08 +0300”
afp:logPaths:accessLog = “/Library/Logs/AppleFileService/AppleFileServiceAccess.log”
afp:logPaths:errorLog = “/Library/Logs/AppleFileService/AppleFileServiceError.log”
afp:readWriteSettingsVersion = 1
afp:failoverState = “NIFailoverNotConfigured”
afp:guestAccess = “NO”
afp:servicePortsRestrictionInfo = _empty_array
afp:currentThroughput = 1771

Если serveradmin в командной строке не отзывается, это означает, что дело плохо.

Другой способ – убедиться, что не получается подключиться к порту 311 на сервере.
Откройте Firefox Safari и введите в адресной строке https://имя сервера:311
(Ради интереса и расширения кругозора призываю сделать это и на исправном сервере).

Итак, если дело — табак!

Сперва нужно просто перезапустить демон servermgrd, используя kill или killall.
Этот тот самый процесс, с которым общается Server Admin (и serveradmin).

Если это не помогает –
зайдите а папку /private/var/servermgrd, сотрите .lock файлы и sessios/* файлы и снова перезапустите servermgrd.