Удивительно, что не догадался сделать этого раньше, чтобы не диктовать каждый раз весь алгоритм по телефону.. ну да лучше поздно, чем никогда.
Все ниженаписанное относится не только к серверам, но и к любым компьютерам, только конкретные детали местами другие.
Итак, сервер не подает признаков жизни. То есть или даже не включается, или питание включается, но на экране ничего нет. Это вовсе не означает, что он умер. Возможно, он просто в коме, и вопрос только насколько легко его из комы вывести. Нужна диагностика. Но как его диагностировать, если он не включается? На самом деле это как раз просто. Гораздо сложнее, если он работает, но чуть-чуть. Или чуть-чуть не работает. Или не работает временами. А если он стабильно и уверенно не включается – это хорошо, с этим легко разобраться, поэтому мне и приходится иногда диктовать все это по телефону: очень часто совсем не обязательно везти сервер в реанимацию, можно диагностировать на месте собственными силами, и очень часто на месте же и вылечить.
Если сервер имеет контроллер IPMI, то последний вероятно способен что-то сказать о том, что случилось с сервером. Но это другая история, я буду рассматривать более распространенный вариант, когда такого контроллера нет. Кстати, установка IPMI — совсем недорогая операция, очень рекомендую. Его возможности однозначно превышают его цену.
Если нет IPMI, а сервер не запускается, то даже в теории никакая диагностика невозможна без оперативного вмешательства. Это значит — надо резать, то бишь вскрывать.
Но сначала надо проделать один трюк: выдерните из сервера кабель питания (220В который) и через секунд несколько вставьте обратно. Если при этом есть типичный щелчок разряда – это хороший знак. Эта странная операция нужна для случая, если у сервера по какой-то причине сработала защита в блоке питания. Блоки питания могут находиться в этом состоянии защищенности до нескольких дней. Передергивание кабеля практически стопроцентно снимает защиту. Не знаю почему. То есть понятно, что там конденсатор держит заряд и все такое, но почему именно передергивание кабеля – не очень понятно, да и хрен с ним, в этой статье мне хотелось бы удержаться от углубления в излишне технические детали.
Процесс вскрытия рассматривать не будем, он для каждого сервера сильно индивидуален. Хочу только обратить ваше внимание на винтики: положите же их куда-нибудь в надежное место, все винтики — в одно надежное место, чтобы не потерялись! Постоянно вижу серверы, у которых крышка держится на чем угодно, только не на родных винтах.
Если вскрываете сервер в первый раз — не пугайтесь. На самом деле там все очень просто.
У многих серверов после вскрытия корпуса доступен еще один способ диагностики: с помощью специальных светодиодов или алфавитно-цифровых индикаторов на системной плате. Они меняют состояние при каждом шаге процедуры POST и в случае “зависания” или зацикливания по их состоянию можно определить шаг, на котором останавливается тест. По описанию этого шага можно примерно догадаться, в чем дело. К примеру, если это тестирование памяти, то очень вероятно, что виновата память. Но я не могу дать детального описания этого процесса, потому что он у каждой платы свой, так что надо читать мануал системной платы. Я опишу процесс, который точно определит проблему без встроенных средств диагностики.
Итак, шаг первый:

Удостоверьтесь, что сервер способен пищать. В большинстве случаев пищать будет маленькая круглая хреновинка черного цвета с дырочкой вверху, расположенная на системной (самой большой) плате. Иногда это небольшой динамик, воткнутый в разъем на системной плате с надписью Speaker. Иногда есть и то, и другое, это нормально, пищать в такой ситуации будет динамик. Иногда это набортная пищалка, но расположенная на вспомогательной плате. Если что-то из вышеперечисленного есть – все отлично. Если нет — это не значит, что сервер не будет пищать, скорее всего вы просто не нашли :). Но могут быть и случаи, когда серверу действительно нечем пищать. Тогда нужно взять динамик от другого сервера или компьютера и подключить его к разъему с надписью Speaker. (Имеется в виду отдельный динамик конечно же, с проводочком и разъемом, не надо выламывать из других плат встроенные пищалки).
Шаг второй:
Найдите на основной (системной) плате:
1. Разъемы питания.

а) Основной разъем питания. Крупный, чаще белый, иногда черный разъем, к которому подходит пучок толстых проводов от блока питания. Перепутать его с чем-то другим сложно, но на всякий пожарный привожу фото.

б) Дополнительные разъемы питания. Выглядят так же, как основной разъем, но покороче. К ним точно так же идут толстые провода от блока питания (стандартно — желтые, что значит 12 Вольт, и черные, “земля”). Таких разъемов может быть несколько, в зависимости от количества процессоров и их прожорливости.

в) Разъем кнопки питания. Поиск этого разъема можно пропустить, если с определением точного местоположения возникнут проблемы, и вернуться к нему позже, если все последующие шаги не приведут к определению неисправности. Но в большинстве случаев это несложно, так что есть смысл попробовать. Итак, на системной плате есть разъем управления: это набор двухконтактных разъемов от кнопок, светодиодов и прочего добра с передней панели, сведенный в одну “гребенку”. В этом месте есть потенциальная проблема: нам нужен не весь разъем, а только один из этих двухконтактных разъемов, а именно разъем от кнопки питания. Обычно это не проблема, т.к. определить, какой из них относится к кнопке питания, можно аж четырьмя способами:
первый способ — посмотреть надписи на плате рядом с разъемами. Там мало места, и не всегда можно легко прочитать, да еще и понять, к какому именно разъему относится надпись. Сама надпись обычно сокращена, могут быть варианты PW, POW, PWR, POWER.
второй способ — посмотреть надписи на тех разъемах, которые втыкаются в разъем управления. Они могут быть подписаны, а могут и не быть. Кроме того, обычно (но не всегда) провода, идущие от лицевой панели, разноцветные, и (опять же не всегда) провода кнопки включения питания – белый+зеленый.
третий способ — почитать мануал системной платы. Возможно, лучший способ, но мануал должен быть под рукой, что очень часто проблематично.
ну и четвертый способ — самый сложный: проследить провода от кнопки питания :)
В некоторых случаях (интеловские платформы и готовые серверы от крупных производителей) в разъем управления воткнут шлейф, приходящий от лицевой панели и имеющий один-единственный разъем. В этом случае остается только третий способ — RTFM, т.е. прочитать в документации, где там разъем включения питания.
В этом месте, в том случае, если у вас очевидные проблемы с питанием, то есть ничего не светится и не вертится, разумно проверить кнопку питания (шаг 4, пункт 1). Будет обидно обнаружить после третьего шага, что у вас не работала кнопка :)
Шаг третий:
- Отсоединить от системной платы все разъемы, кроме определенных в шаге 2 разъемов питания и разъема кнопки включения питания. Если у вас панель управления подключена единственным разъемом – оставьте пока так, потом к этому вернемся. Да: желательно как-то пометить или записать, как были подключены диски, т.е. какой диск в какой разъем, и потом восстановить эти подключения в том же виде.
- Отсоединить всё, что воткнуто в разъемы шин (PCI и пр.). То есть выдернуть все контроллеры, видеокарты и пр.
- Вытащить все модули памяти. Запомните или запишите, в каких слотах они стояли (если модули разные – то какие модули в каких слотах).
В результате в системной плате останутся: подключенные разъемы питания, подключенный разъем кнопки включения питания (или панели управления) и процессор(ы). Больше ничего быть не должно.
Шаг четвертый:
Включите сервер. Подождите немного (у разных плат по-разному, но в максимуме не более 1-2 минут, обычно же несколько секунд). Сервер должен запищать прерывистым писком (обычно). Впрочем, тут нам неважно, как именно он пищит, важен сам факт. Запищать он должен потому, что у него нет памяти. Для чего нам нужен этот писк? Писк означает, что процессор работает, то есть системная плата его обслуживает нормально, и, следовательно, она с очень большой вероятностью рабочая. Возможна, конечно, ситуация, что процессор-то плата обслуживает, а не работает что-то еще на плате, но именно это мы и будем выяснять дальше. Главное, что у нас есть основа для дальнейших исследований – работающий процессор.
Итак, если сервер запищал, переходите к шагу 5. А мы пока разберемся, что делать, если он молчит.
Собственно, если он молчит, это значит, что один из компонентов нашей урезанной системы не работает. Компонентов всего несколько: системная плата, процессор (или несколько), блок питания, динамик, кнопка включения питания и корпус. Все эти компоненты надо проверить.
1) Начем с самого простого: динамик. Собственно, если вы слышали его голос раньше, нет особых причин подозревать, что он вдруг перестал работать. Но если есть сомнения – лучше попробовать подключить внешний динамик, как было описано выше, или, если он у вас и так внешний – заменить его другим.

2) Еще одна простая вещь, которую имеет смысл проверить сейчас, – это батарейка. Если есть батарейка такого размера или возможность позаимствовать из другой платы – замените ее. Если есть, чем померить напряжение на той батарейке, которая в плате – можно, разумеется, обойтись и без второй батарейки. Севшая батарейка приводит именно к ситуации, которую мы сейчас и исследуем – плата перестает запускаться. Если нет ни батарейки, ни тестера, можно отложить на потом, проделайте все оставшиеся шаги, и если останетесь с неработающей системной платой на руках – все-таки проверьте батарейку.
3) Теперь рассмотрим случай, если у вас вообще не включается питание. Даже если у вас редкий случай, когда на плате нет ни одного светодиода, все равно при включении питания должен закрутиться вентилятор блока питания. Случаи когда и его тоже нет я не рассматриваю сейчас, но тогда наверно можно что-то воткнуть в плату, чтобы завертелось или засветилось, вентилятор какой-нибудь например.
Если же питание включается, то есть что-то светится или вертится, но других признаков жизни нет, можно переходить к следующему подпункту и проверить блок питания.
Итак, если не включается питание, начинаем с самого простого: надо проверить кнопку включения питания. Не такой уж редкий случай, кстати. Кроме того, если у вас панель управления подключена единым разъемом, вероятность того, что неприятности происходят отсюда, сильно возрастает. Могут быть пробиты и закорочены светодиоды, кнопка ресета. “Нет повести печальнее на свете, чем повесть о заклинившем ресете” (был такой реальный случай, я часа два выяснял, почему компьютер не стартует).
В общем, разъем или кнопку питания надо выдернуть. Теперь аккуратно (там сжечь нечего, но все равно аккуратно) надо замкнуть подходящим инструментом контакты, на которые вешалась кнопка питания. Если по-прежнему тишина – что ж, видимо дело не в ней.
Дальнейшие подпункты справедливы и для варианта, когда не включается питание, и для варианта, когда питание включается, но сервер не стартует.
4) Блок питания можно проверить только одним способом – заменой на заведомо рабочий. С этим способом все понятно: кладете рядом или сверху и втыкаете разъемы другого вместо родного. Не забудьте переткнуть в другой блок сетевой шнур. Если заработало – все, причина найдена: виноват блок питания, его надо менять.
Для случая, когда вообще не включается питание, и другого блока поблизости нет, есть еще способ. Да, кстати: по умолчанию речь идет о блоках питания АТХ. Если у вас блок питания доАТХовых времен, то у вас и кнопка питания подключена не к системной плате, а к блоку питания. Тогда просто выдерните его разъемы из платы и включите этой самой кнопкой. Почему надо выдергивать – плата может его перегружать или вообще закорачивать, у него в таком случае срабатывает защита, он остается жив (обычно). Если он заведется без платы, значит что-то в таком роде и произошло. Если не заведется – проделайте описанный выше трюк с передергиванием кабеля питания и попробуйте снова. Если по-прежнему тишина – блок питания требует замены.
Если же у вас, что в наше время наиболее вероятно, блок питания АТХ (EPS и прочие аббревиатуры – неважно, все равно АТХ), то блок питания без системной платы не включится. Собственно, у него и кнопки-то нет, она ж к системной плате подключена. В этом случае его надо обмануть и подать ему тот сигнал, который ему должна подавать системная плата, если у нее все хорошо. Для этого надо проводом или каким-то инструментом закоротить ногу номер 16 (в нее входит единственный провод зеленого цвета) с любой ногой, в которую заходит провод черного цвета (земля) на основном разъеме питания (который самый длинный, см. фото, на фото как раз хорошо виден зеленый провод, вот он и нужен). Короче, подача нуля на ногу номер 16 включает блок питания.
Итак, если вентиляторы на блоке питания не закрутились – то передергиваем кабель питания, пробуем опять, если опять тихо – все понятно, блок питания не работает и требует замены. Дальше можно не читать. По крайней мере, до замены блока. Если после замены все равно не запускается – призовая игра, проходим все уровни по второму разу.
Если блок ожил, вентиляторы заработали, не радуйтесь: это плохо. Это значит, что скорее всего у вас не работает системная плата. Но это еще не окончательно, не все шансы исчерпаны, идем дальше.
5) Теперь самое время проверить корпус. То есть конечно не сам корпус, это всего лишь железяка, а его взаимодействие с системной платой. Для проверки надо просто-напросто устранить это взаимодействие, то есть вытащить плату из корпуса и положить ее на какую-нибудь изолирующую поверхность. Провода от блока питания не дадут положить ее рядом, поэтому надо положить ее сверху, подложив толстый лист картона или другого материала, только такого, чтобы острые ножки деталей с нижней стороны платы не проткнули его и не замкнули на корпус.
Снова подключаем блок питания и проверяем. Если заработало – ищем. Что ищем? Хороший вопрос. Ищем все, что могло бы повлиять на работоспособность системной платы, пока она находилась в корпусе. Прежде всего осмотрите саму плату, особенно ее нижнюю часть, нет ли там чего подозрительного: затемнения, слишком сильно выступающих контактов, раскрошенных или полуотвалившихся конденсаторов (это такие маленькие коричневые буханочки, они больше размерами, чем резисторы и прочее, поэтому именно они обычно ловят механические повреждения). Осмотрите корпус: не лежит ли там винтик, проволочка, что-то такое, что могло замкнуть плату на корпус. В правильном сервере все заизолировано и по возможности защищено от таких случаев, но не все серверы одинаково правильные, да и посторонний предмет может быть острым и способным проткнуть изоляцию.
Если нашли и устранили причину, привинтите плату обратно, включите, должна заработать. Если не заработала – значит нашли не ту причину, ищите снова.
Если ничего не нашли – почистите корпус, желательно пылесосом и привинтите плату обратно. Включите. Если заработала – видимо причина была достаточно микроскопической и самоустранилась или же была устранена пылесосом. Если не заработала – мы уже входим в область невероятности. Случаи такие бывали, что плата без всякой видимой причины просто не работала, будучи прикрученной к корпусу. Все такие случаи были с десктопами, не серверами. Там могли быть ошибки разводки (на контактные площадки или на одну из них могли развести не землю, а что-то другое) или проблемы с землей у блока питания. Для серверов такие баги маловероятны. Поэтому здесь я останавливаю алгоритм, выход.
Возвращаемся обратно и идем по другой ветке: если вы вынули плату из корпуса, и она не заработала. Прежде всего осмотрите плату очень внимательно. Загляните в слоты шины и в слоты памяти: туда могли попасть мелкие металлические предметы. Серверы прокачивают через себя воздух, как пылесосы, и могут засосать не только пыль, но и что-нибудь проводящее электричество. Можно пропылесосить разъемы для уверенности. Попробуйте включить. Далее, аккуратно выньте процессор, вставьте обратно. Контактам, особенно если они из разных сплавов, свойственно окисляться. Такое передергивание разрушает тончайший слой окисла. Если у вас не один процессор, попробуйте оставить один, в том разъеме, у которого меньший номер (иногда это 0, иногда 1). Но: если это 386-й процессор, в свободный разъем надо при этом ставить заглушку. Если этой заглушки у вас нет (должна быть в комплекте поставки сервера), то с одним процессором плата все равно не запустится. Если с одним процессором не заработало, поставьте вместо него другой. Если ничего не помогло, осталось только исключить процессор: это можно сделать только заменой на заведомо рабочий. Если вы нашли такой процессор и с ним тоже не заработало, то все, плата нерабочая, выход из алгоритма.
Если процессор не удалось найти, но у вас есть другая плата или другой сервер, вы можете проверить наоборот: этот процессор в другой плате. Если он там работает, то опять же – плата нерабочая, выход из алгоритма. Если процессор в той плате не работает – все-таки придется искать заведомо рабочий другой процессор для проверки, потому что возможен вариант, что плата, накрывшись, накрыла и процессор, хотя это и нечастый случай.
Шаг пятый:
Итак, плата запищала. Вероятнее всего, она жива. Значит ей мешает работать что-то, что к ней подключено. Идея такая: подключаем все обратно по очереди, чтобы выяснить, что именно вызывает сбой запуска.
Начинать надо, конечно же, с памяти.
Вставьте всю память обратно. Включите сервер, послушайте, о чем он пищит (тут можно справиться у мануала, что означают различные комбинации писков) или просто посмотрите на экран, если видеоконтроллер встроенный. Если он встроенный, и вы видите на экране, что сервер запускается, переходим к шагу 6. Если видеоконтроллер не встроенный, слушайте писки. Если пищит не так, как было без памяти, значит память рабочая, вставляйте видеоконтроллер и далее как и для случая со встроенным. Если после установки памяти писки изменились, а после установки обратно видеоконтроллера на экране все равно ничего – вероятно нерабочий видеоконтроллер (или его слот), переходим к шагу 7. Если у вас встроенный видеоконтроллер, после установки памяти писки изменились, но на экране ничего нет – то же самое, возможно встроенный видеоконтроллер не функционирует, надо проверять путем установки другого, т.е опять же – шаг 7.
Если вообще не пищит, возможны два варианта: первый – плата запускается, все нормально. Просто не все платы дают подтверждающий писк при запуске, некоторые делают это молча. Тогда дальнейшие действия такие же, как и в предыдущем абзаце, то есть проверка видеоконтроллера (шаг 7). Но здесь, если его замена не помогает, то придется вернуться обратно из шага 7 сюда, потому что у вас второй вариант, а именно: не пищит, потому что память не рабочая. То есть при ее установке сервер даже пищать не может.
Итак, надо разбираться с памятью:
Выясните, какова минимально возможная конфигурация памяти для вашей системной платы. Это можно узнать из мануала системной платы или сервера, или узнать на сайте производителя платы/сервера.
Сравните с вашей конфигурацией. Если ваша конфигурация памяти минимальна (не в смысле размера, а в смысле количества модулей) – то есть если системной плате для работы требуется минимум два модуля, и у вас именно два модуля – то работы будет немного. Единственное, что надо сделать – проверить в других слотах. К примеру, у вас на плате четыре слота при минимальной конфигурации два модуля памяти. Сверьтесь с мануалом, скорее всего возможны два варианта: два модуля в слотах (к примеру) 1 и 2 и два модуля в слотах 3 и 4. Попробуйте оба варианта. Суть тут в том, что модули памяти могут быть рабочими, а не работать один из слотов. Конечно это все равно повод для замены платы, но все зависит от обстоятельств, это уже вам решать.
Не забывайте выключать питание при установке модулей памяти!
Если ваша конфигурация памяти не минимальна, придется попотеть, решая головоломку, как минимальным количеством ходов перебрать все возможные варианты. Поскольку варианты тут могут быть сильно разные, я ничем помочь не могу и рассчитываю на вашу сообразительность. К примеру, у вас 8 модулей памяти, а минимальная конфигурация – два модуля, которые могут быть установлены только в слоты 1 и 2 или в слоты 5 и 6. Вам нужно найти битые модули, учитывая, что битым может быть и слот. А может быть, что есть и битые модули, и битые слоты :)
Общая идея такая: надо найти живые модули, с которыми сервер запускается. Для поисков берем пару модулей и устанавливаем в слоты 1 и 2. Если не получается – проделываем то же самое той же парой модулей со слотами 5 и 6. Поскольку маловероятно (по крайней мере мы на это рассчитываем на этом этапе), что разом что-то случилось со слотами 1-2 и 5-6, то, если в слотах 5 и 6 модули не заработали, значит делаем вывод, что из этих двух модулей по крайней мере один нерабочий. Откладываем эту пару и берем другую. После перебора всех четырех пар в обеих парах слотов можно попробовать переразбить нерабочие пары модулей (вероятность того, что среди этих 8 модулей есть живые, просто они попали в пары к нерабочим – ненулевая, хотя и невелика). Если же живая пара нашлась, надо с ее помощью проверить слоты, чтобы не приходилось больше проверять обе пары слотов. Если других живых пар не нашлось, надо проверить оставшиеся модули по одному, давая им в пару один из модулей из рабочей пары. Таким образом можно вычислить, что именно не работает. Впрочем, можно остановиться на моменте, когда нашлась одна живая и одна неживая пара. Причина таким образом стала очевидной, а которые из модулей живы, пусть выясняет ваш поставщик. Можно ускорить процесс, если есть заведомо рабочие модули для проверки, только не забывайте про слоты, которые тоже могут быть нерабочими.
Шаг шестой:
Если память рабочая, идем дальше. Дальше, в общем, все просто: втыкаем обратно в плату все, что осталось, по одной штучке. Включаем сервер, смотрим. Запускается – втыкаем следующее. Как только сервер перестал запускаться – ага, вот оно. Что воткнули последним, то и виновато. Рассмотрение возможных неисправностей контроллеров, дисков, вентиляторов и прочего, что подключается-устанавливается в системную плату, выходит за рамки этой статьи.
Вполне возможен вариант, что ничего не найдено. То есть, по сути, сервер не запускался, вы все разобрали, выдернули из системной платы все, что там росло, воткнули обратно – сервер работает. Чаще всего в этом виновата память. Возможно, дело в окисле на контактах, но честно говоря, я не думаю. Я сталкивался с такими случаями на серверах, которым было без году неделя, там окисел никак не успел бы возникнуть. Если честно, мне вообще не очень понятно, как все это умудряется работать с современными частотами, накачкой шины, буферами и всякими ДДРовскими фичами. Так что я не очень удивляюсь. Вытащил память, вставил обратно – все заработало. Ну и хорошо.
Шаг седьмой:
Этот шаг, по сути, – выход из алгоритма. То есть вероятнее всего причина неисправности уже известна, но не обязательно точно. Например, если переход на этот шаг произошел по причине непоказывающей видеокарты, живущей в слоте AGP или PCI-X, то неизвестно доподлинно, что именно не работает: это может быть видеокарта, а может быть и слот. В большинстве случаев поможет замена на заведомо рабочую: если она в том же слоте работает – виновата видеокарта, если нет – виноват слот. Но вот тут запросто может быть такая тонкость: другая видеокарта в этом слоте работает, но и эта видеокарта в другой системной плате тоже работает. Нельзя сказать, что это частый случай, но вероятность далека от нулевой. До причин не всегда легко докопаться, да и не надо, просто надо иметь такую возможность в виду и не торопиться выбрасывать видеокарту (или любой другой компонент). Это называется несовместимость. В этом нет ничего мистического, если копать глубже, то можно найти техническую причину такого явления, но копать придется очень глубоко :) Неплохо иметь видеокарту для 32-битной PCI, которая присутствует на многих серверных платах, для проверки, но если у вас нет такой под рукой, то найти не так просто.
Я буду апдейтить этот шаг, припоминая различные известные нюансы или встречаясь с новыми.
Home
Contacts
Downloads
RoR
Linux
Notes
ERR
Servers
Русский
Comment it: