https://juick.com/Rain/1890903
https://juick.com/Rain/1890986
https://juick.com/Rain/2056927
https://juick.com/Rain/2193132
Как и собирался, начну потихоньку рассказывать историю про восстановление боевого Dell’овского сервера после пожара.
В общем, дело было вечером, пришел я домой и, как обычно, начал просматривать объявления на форуме местного провайдера по RSS. И тут внезапно — rain.linuxoid.in
Для Ъ: Dell 2950, 2U; 2x Xeon E5420 + 4×2 DDR2 + 4х146 Gb 10k (до 8 штук, но салазок только 5, остальные — заглушки) @ RAID + 2x1Gb LAN + 2x750W PS, бывший в датацентре, где был пожар и протянувший через себя много гари и горячего воздуха.
Лот был интересным, тем более до этого в настоящем серверном железе не копался, только админил; большей частью удаленно.
Состояние железки было неопределенным, поэтому решил скинуться на пару с знакомым — все же с 50$ как-то проще расстаться в случае неудачи. Хотел сначала взять проверить его, но сам к продавцу не смог выбраться, а знакомый не смог договориться. В общем, так или иначе, но сервер оказался у него 🙂
Фото сервера из объявления крупным планом:
После этого знакомый занялся его разборкой, а я по частям тягал домой и потихоньку чистил. Поначалу забрал один блок питания, винчестеры и RAID-контроллер, а также немного мелких плат: райзеры, платы панелей и т.п. — в общем, то, что влезло в рюкзак. Закупил несколько баночек спирта, потом в супермаркете пластиковый лоток в качестве ванночки, кисточки и вата уже были. Плата RAID’а отмылась в целом нормально, термопасту на радиаторе поменял, занялся винчестерами. Там грязь с верхней крышки сошла только с надписями на этикетке, поэтому тереть “до упора” не получилось :). Но в целом тоже вычистил нормально — кое-где, правда, начало шелушиться покрытие. Электроника диска большей частью была загрязнена возле разъемов. Промыл, контакты попротирал резинкой, просушил и собрал.
Cлева отмытый, справа еще не обработанный винт. С краю — уже вымытая электроника. Главное в этом деле было — не перепутать электронику от разных винтов и не протереть наклейки до дыр 🙂
Процесс мытья электроники винчестера.
Естественно, хотелось побыстрее все это дело проверить. Так как периферия в сервере была PCI-E 8х, то можно было попробовать воткнуть контроллер в десктоп, что и сделал. После возвращения ядру его модуля для поддержки контроллера тот успешно увиделся. Надо было пробовать винчестеры. Однако возникала проблема: backplane, в который все они подключались, питался через 20-контактный разъем — наподобие тех, что подают питание на материнские платы в десктопах. Причем, совпадали даже ключи :). Но, естественно, питание и распиновка там были другие и я начал искать способ запитки — на плату подавалось 3 питания. В итоге вызвонил нужные контакты и соорудил из кусков осветительного провода, папки и аккумуляторов нечто такое:
В процессе испытаний выяснилось, что винты жутко греются, пришлось придумывать охлаждение. Тем не менее, это все работало и я смог получить доступ к старому контенту. Потом начал упражняться с разными уровнями RAID’а и снимать скоростные характеристики. Результаты можно почитать тут — chatlogs.linuxoid.in
Итого на тот момент я получил 4 рабочих винчестера (по ~100$ каждый) + RAID, который тоже стоит где-то около 150$. Деньги уже были потрачены не зря 🙂
RAID-контроллер комплектовался аккумулятором, однако попытка его зарядки успехом не увенчались. Разобрал, внутри оказался контроллер, а замер напряжения на батарее показал, что там всего половина от номинала. Зарядка батареи напрямую от внешнего источника на протяжении нескольких дней тоже ни к чему не привела. Итого первый труп — батарейка.
Однако возникла идея заменить внутренности микропальчиковыми аккумуляторами, что и собираюсь в дальнейшем попробовать, ибо новая такая батарейка стоит порядка 50$.
Обрадовавшись, что хотя бы часть железа живая, приступил к мытью остальных деталей.
Одним из элементов, забравших много времени, были процессорные радиаторы — алюминиевые, с медной подошвой и тепловыми трубами. После поверхностного смахивания гари они выглядели так:
В ход были пущены: кипящий Sprite, стиральный порошок, жидкое мыло, сода, уксус, “Белый дух” ^W^W “Уайт-спирит”, спирт, а также химсредства одной из автомоек города. Толку со всего этого особо не было, гарь въелась в алюминий (как оказалось, не только тут). Медь, правда, в Спрайте чистится хорошо: нижняя часть подошвы тестового радиатора 5 минут лежала в кастрюле с кипящим Спрайтом, верхняя осталась нетронутой:
В итоге решил радиаторы немного подкрасить для вида — верхнюю и нижюю пластины, а также кромки. Получилось так:
В целом получилось вполне нормально.
Далее пришла очередь вентиляторов (вообще это все делалось параллельно, просто в разные дни).
Вентиляторы в сервере суровые:
Жесткий пластик, агрессивного вида заостренные лопасти — в общем, звери. Никаких следов прогонки через них горячего воздуха. Еще веселее стало, когда вымыв, просушив. смазав и собрав их, я попробовал включить… Работающий в руках и воющий на весь дом 20-тиваттный серверный вентилятор на 12000 оборотов/мин — это нечто :). Держишь такое — и понимаешь всю крутость серверного железа. 12k rpm — это как мелкая болгарка; только тут эта штука еще создает поток воздуха, который практически может держать вентилятор в воздухе своим же потоком (а если сделать небольшую юбку — точно сможет).
Всего в сервере 4 таких вентилятора + 2 потише — на 11000 RPM — в блоке питания. Все целые, все рабочие и неповрежденные.
Блоки питания:
Блоки питания, внешне полностью одинаковые, оказались полностью разными внутри. Один состоял из одной большой основной платы, на которой было все, кроме сетевого фильтра, второй (показанный выше), состоял из двух плат, еще и с неразборными соединениями. Компоновка очень плотная, примерно как в ноутбучных блоках питания. Открытые части промылись спиртом очень легко, но с труднодоступными местами пришлось повозиться. Пробовал и отмачивать блок в спирте, и [самодельную] ультразвуковую мойку (не помогло совсем), и тугую струю воды (более-менее посмывало грязь после спирта). Даже изготовил такой бурбулятор:
состоящий из двух банок, блока, залитого спиртом, и аквариумного компрессора, который пузырьками воздуха должен был разбивать грязь (толку это, правда, особо не дало).
В итоге блоки были более-менее вымыты, хотя идеально чистыми их не назовешь — небольшое количество грязи так и осталось где-то в скрытых местах.
“малый” блок после чистки. Алюминий, как и в случае с процессорными радиаторами, в пятнах, но в блоке его все равно никто не видит.
Проверке блока помогла эта картинка с распиновкой — static.rcgroups.net — фактически надо было замкнуть A1, B1 и B6 (и можно B2 до кучи, чтобы шумел меньше).
Поначалу хотел придумать какую-то развязку от сети — стремно такое включать напрямую :). Трансформатор TA не потянул, ЛАТР загудел и потянуло дымом. Блок при этом зажигал зеленый светодиод и щелкал реле ( о_О ) — видимо, работала защита от аварийных ситуаций, в данном случае — от недостатка напряжения. В итоге решение было найдено — утюг. Включил последовательно, блок несколько раз щелкнул и запустился. Напряжения были в норме — уже после этого включил его напрямую в сеть.
Итого теперь был источник, от которого можно было запитать материнскую плату сервера. Кстати, что меня удивило сначала — в сервере не используется 5 В, а дежурка — 3,3. Вся нагрузка идет на 12 В шину, а 5 В для винчестеров и прочего организуются DC-DC-преобразователями на материнке.
stuartconnections.com — наклейка с такого же блока; родная пострадала при попытке оттереть гарь — все надписи были стерты.
Уже после запуска сервера запустил второй блок питания и опробовал их в штатном режиме — впараллель.
[23:55:44] <rain> Все. Закончил с блоками.
[23:58:27] <rain> блин
[23:58:35] <rain> я, кажется, не в ту сторону вентиляторы поставил 😀
[23:58:48] <rain> снова разбирать
Последней деталью, необходимой для запуска сервера, была оперативная память. Память тут специальная — буферизированная DDR2 с контролем четности. Сервер шел с 4 планками по 2 Гб каждая. Планки заключены в специальный “кожух”, служащий радиатором, поэтому благодаря ему грязь на плате, в основном, скопилась по краям радиатора и была достаточно просто удалена щеткой в спиртовой ванной. Сами радиаторы более-менее нормально оттерлись ватой, а вот (стальным?) прижимам повезло меньше, в итоге решил их просто покрасить.
Вид на разобранный FB DIMM ECC DDR2:
Приведя в порядок (и убедившись в работоспособности там, где это можно было сделать) обвязку, приступил к чистке материнской платы. Плата крупногабаритная, Г-образной формы, поэтому подходящей ванночки под руками не оказалось. Поначалу поливал плату, поставленную на ребро, напрямую из бутылочек со спиртом, одновременно чистя ее щеткой. После 5 или 6 бутылки таки догадался делать это над тазиком, собирать и отстаивать грязный спирт. За пару заходов плата была вычищена — промывку делал в двух направлениях, чтобы полностью вымыть грязь вокруг выводов радиодеталей. Особо пришлось потрудиться, вычищая корпус процессорных сокетов, а также остальные разъемы; кроме того, пришлось вручную протирать каждый керамический SMD-конденсатор — грязь на них держалась особо хорошо (на следующем фото видны еще до чистки).
После чистки настало время ремонтных работ. Прежде всего начал восстанавливать повреждения из-за неудачной разборки сервера тем знакомым, с кем его вместе брал:
Как видно, в этом месте плата была просверлена до следующего токонесущего слоя. Дорожки восстановил тонкими проводниками, а место операции залил силиконом. Кроме того, разъем для батарейки БИОСа оказался непригоден к использованию и был заменен на другой, снятый с нерабочей материнки. Как выяснилось позже, были также повреждены дорожки возле этого разъема, а также пара резисторов в цепи плюсового провода. Как это могло произойти — не представляю. Металлизация дорожек, возможно, была разъедена электролитом из батарейки, вытекшего из-за долгого лежания сервера без дела.
Из требовавших замены на материнской плате деталей оставались еще электролитические конденсаторы (в том числе твердотельные — менять так менять. Кто его знает, куда у них уплыли параметры при такой температуре), однако прежде чем тратиться на них, все же решил проверить — есть ли ради чего вообще возиться? Итак, ключевой момент — запуск сервера:
Творческий беспорядок, на окне — армия бутылок спирта. Сервер сначала проверил вообще без обвязки — только материнскую плату. Ничего не сгорело :), поэтому поставил минимальный комплект — один процессор и планку памяти — что и показано на фото. Как видно, на экране появляются сообщения инициализации железа. Win! 🙂
Вид на сам сервер при первом запуске:
А это уже много позже — тут можно заметить странную конструкцию в правом верхнем углу — это поставленная по диагонали батарейка (разъем все же не такой, как был раньше — пришлось извращаться), плюс залитые силиконом резисторы.
Еще один Win, ибо без сохранения настроек BIOS’а пользоваться сервером было бы очень неудобно.
Это после установки вентиляторов на штатное крепление. При первом тестировании его не было, поэтому приходилось использовать находящийся под руками молоток в качестве упора, чтобы вентиляторы никуда не унесло :).
В процессе тестовых прогонов сервера выяснилось несколько моментов:
- Во-первых, одна из планок памяти так и не завелась (это она разобрана на фото выше — надеялся, что так смогу вымыть возможную грязь, не дающую планке запуститься).
- Во-вторых, память, если только установлена не одна планка, может работать только парами. Соответственно, из 4 изначальных планок получилось использовать только 2, несмотря на работоспособность третьей.
- Судя по настройкам в BIOS’е, если набить его до отказа памятью — можно сделать что-то вроде RAID1-массива из нее: в случае если откажет один модуль — будет использоваться другой.
- Далее, память, как уже было показано выше, содержит дикое число чипов и ощутимо греется; однако на ней есть термодатчик, показывающий температуру при вызове sensors.
- У сервера есть удобный индикатор на передней панели, показывающий ошибки и их код, название/модель сервера или текстовое сообщение, заданное пользователем.
- Ошибки сервер обрабатывает самые разные. Например, открытие крышки, при котором обдув компонентов включается на полную и на индикаторе отображается “Intrusion”. При закрытии крышки вентиляторы в течении нескольких минут возвращаются к малым оборотам. Также на полную они включаются при отказе любого из процессорных вентиляторов. Если блок питания один — это норма, но если их 2, но один выключен — это авария. И так далее.
С заменой конденсаторов получилась проблема, ибо найти твердотельные конденсаторы в нашем городе оказалось не так просто. На рынке большей частью про них никто не слышал, в лучшем случае пытались впихнуть обычные low ESR электролиты. В немногочисленных радиомагазинах их тоже не оказалось. В одном пообещали привезти под заказ из Киева, но так ничего и не привезли; в другом ими вообще не торговали. Оставалось заказывать где-то самому. Сервер был отложен в дальний угол и только сейчас, в связи с потерей работы, смог снова заняться им, В одном из магазинов, куда раньше не заходил, нашел твердотельные конденсаторы — по всем параметрам больше, чем один из используемых номиналов в сервере, но хоть что-то.
Вот, собственно, “пациенты”. Старые 560×4 с подгоревшей пленкой были заменены на новенькие 680×10.
Итого на данный момент из старых конденсаторов осталось заменить только один номинал твердотельных (заменил и обычные электролиты. Правда, кроме дешевых CapXon’ов у нас больше ничем не торгуют 🙁 ), после чего ремонтные работы электроники сервера будут практически завершены.
Параллельно на днях оттащил корпус на автомойку. Толку особо не дало, однако по приходу домой заметил, что грязь местами начала связываться и оттираться рукой, отпадая хлопьями. Надо будет еще раз отнести корпус на мойку, только замочить в этот раз его в моющем средстве на некоторое время.
(Последний пост от 10 января 2013 года)
Давно не писал про сервер, а историю надо бы закончить.
В общем, не получилось сказки со счастливым концом, причем дважды.
Память я заказал на ebay, 2 комплекта по 4 модуля по 2 Гб каждый. Всего на 101$ с доставкой — практически по цене десктопной DDR3 на тот момент (для сравнения: в магазине сейчас один такой модуль продается за 50-60$). Память шла долго, почти месяц, но все же пришла, поставил, протестировал, все ок.
Конденсаторы я так и не дождался от человека, с кем брал сервер (он вообще куда-то пропал). В итоге заказал из Киева сам через интернет-магазин rcscomponents.kiev.ua. Оплатил, через время забрал на почте (оплатив отдельно еще и доставку 🙁 ). Поменял, а дальше начались чудеса.
Первый раз сервер завелся как обычно. Обрадовался — электронная часть работ по серверу закончена. Выключил, через время включаю снова (причем, так совпало, что между этими переключениями подключил самодельный аккумулятор для RAID’а) — фиг. Вентиляторы дергаются, сервер не включается. На индикаторе ошибка E1225 ESB 1.5V. Судя по документации — накрылся регулятор напряжения этого самого ESB. Что такое ESB — непонятно, путей решения в гугле нет, в одном из нагугленных топиков просто меняют материнку. Расстроился, начал морально потихоньку готовиться к замене материнки, но все же попытался что-то сделать.
Новые конденсаторы оказались все целые (т.е., как минимум ничего не пробилось). Пробовал допаивать параллельно старые. Вызванивал ключи, один показался подозрительным, пробовал отпаять — в итоге разворотил ему корпус — причем ключ остался целым. Аккуратно примазал все на место :).
По словам одного из участников моей Jabber-конференции, одно из значений ESB — встраиваемый в сервер UPS. Тут ничего подобного и близко не было (если не считать батарейку RAID’а).
Как-то крутил материнку в руках и таки заметил среди маркировок элементов нужное ESB2. Имея эту информацию уже нагуглил, что это таки Enterprise South Bridge. Уже ближе; начал вызванивать обвязку чипсета, но помогло это слабо.
Напоследок решил попробовать внаглую запустить материнку — терять-то уже нечего. Может хоть по дыму — если он пойдет — определю, что ж было дохлым.
Поделал кратковременные запуски по несколько секунд, замыкая управляющий вывод блока питания на корпус (аналог того самого “зеленого провода” в обычных блоках), ощупывая после этого силовые элементы — ничего. Начал делать замеры напряжения. Стоит сказать, что материнка толком не запускалась даже в таком виде, вентиляторы крутились вполоборота. В общем, там, где напряжение могло быть — было в пределах нормы.
Так или иначе, но при одном из запусков случайно коротнул дежурные +3.3V на корпус — он там рядом с управлением находится. Блок питания встал, естественно, на защиту (при этом вентилятор его и процессорный продолжил крутиться о_О). Выдернул вилку из сети. Включаю — и материнка ВНЕЗАПНО заводится. Сделал несколько включений-выключений. Замеры. Постепенно поотпаивал конденсаторы с обратной стороны. Восстановил все так, как было на момент установки новых конденсаторов. Все работает. Ок. Собрал сервер, погонял, развернул там Xen и т.п. (все в разные дни, т.е., машина включалась-выключалась нормально).
А потом ошибка появилась снова.
Уже не разбирая сервер, пробовал включать/выключать — да, раз на 10-й бывает включается. А потом выключается на полном ходу при загрузке системы или даже еще на этапе тестирования БИОСом железа. В общем, понял, что так легко не отделаюсь, вариантов ремонтировать самому нет, придется таки заказывать новую материнку.
С заказом тоже весело, как оказалось. Выяснилось, что в разных поколениях сервера используются опять же разные материнки. Чисто логически — разница только в BIOS’е — тем не менее, выпущено 3 разных продукта с разными ценами. У меня, естественно, оказалась самая дорогая плата последнего, 3-го поколения. Чуть было не заказал предыдущего — хорошо, что человек, через которого заказ делал, не сразу откликнулся и я успел полезть в интернет в поисках более дешевого варианта, а выяснил это.
Как видно, тут мало того, что их 3 поколения, так еще для каждого есть куча кодовых обозначений. Причем, в описании значится, что “XXX идентичен YYY”, но цена отличается ощутимо. Ok. В общем, заказал новую материнку, обошлась 112$ с доставкой, USPS Priority mail. Пришла достаточно быстро по сравнению с памятью. На таможне окрестили “МИКРОСХЕМОЙ” с весом около 4 Кг.
Да, кстати, параллельно всему этому делу я постарался привести корпус в порядок, подкрасил его местами.
Пришлось повозиться с заглушками под карты расширения — защелок-то теперь не было. Перенарезал резьбу, сделал обычные винтовые крепления. В общем, сделал.
С покраской тоже выявились ряд моментов — например, металлический уплотнитель между крышками, который я поначалу отодрал и собирался закрасить то место, где он был, а также места контакта этого уплотнителя с другой крышкой. Или, например, медные скобки-контакты, улучшающие между собой землю между блоками. Пришлось по ходу дела выкручиваться.
Вообще, конечно, железка не предназначена под покраску, кое-где металл идет впритирку и все мои художества в таких местах были содраны при первой же сборке. С другой стороны, таких мест не так много.
Жаль, конечно, что не было пульверизатора (еще один пинок в сторону того, с кем брали сервер — он обещал компрессор), пришлось красить кисточкой и поролоном. Получилось не так хорошо, как хотелось бы, но хоть что-то.
Собрал железку с новой материнкой, все завелось, все работает. Логотип на новой материнке, правда, не такой красивый, как на старой (“Unisys” красным цветом вместо синенького Dell. И ШГ :D). Можно продавать.
И тут меня ждал второй большой облом: знакомый человек, который активно интересовался моим сервером, уже готовил деньги и был в курсе всех событий и ради которого я, в общем-то, старался быстрее заказать новую материнку (сидя при этом без работы) и вообще привести машину в порядок, сообщает о том, что сервер забирать не будет, ибо нашел более дешевый вариант. Посмотрел на тот “дешевый” — хуже по всем параметрам: хуже проц; проц один; а не 2; материнка старых поколений, на которую новый проц не поставишь; старый RAID; 2 винта, а не 4; каждый винт в 2 раза меньшего объема. Может что еще. Но да, дешевле. HATE.
В общем, остался настоящий боевой сервер жить у меня, стоит пока без дела под столом.
Update: фото к посту доступны и в галерее.
Одна мысль про “Juick repost: восстановление обгоревшего сервера Dell 2950”