bash.im ithappens.me zadolba.li

Серверы

10844

Ты у меня по-другому заговоришь!

Решил я поднять в фирме сервер. Локальная сеть у нас уже была, а зачем нужен сервер, было всем ещё не очень понятно. Это было время Novell и протокола IPX.

Согласие-то начальство дало, а деньги — нет. Ну, из обломков машин собрал я системник, но без видеокарты. Монитора нет — так зачем мне видеокарта? У NetWare 3.11 уже была встроенная удалённая консоль. Настрою сервер со своей видеокартой, потом выну и буду удалённо администрить. Ну, поставил (дистрибутив нашёлся только русский), настроил, проверил, что удалённо доступно, вынул видеокарту, и стали мы сервер использовать.

Понадобилось что-то ещё настроить. Запускаю утилиту удалённого администрирования — оппа, все окошечки пустые, ни словечка! Тут до меня доходит, что при удалённом администрировании по сети просто передаётся содержимое видеопамяти, а видеопамять на видеокарте, а видеокарты-то и нету…

Пошёл на Юнону (компьютерный рынок в Питере) и в куче помоечных плат нашёл за копейки видеокарту Hercules и даже монитор к ней. Дело в том, что в эту плату нельзя было программно загрузить шрифты. Какой знакогенератор в ПЗУ прошит, тем и пользуйся. А в этой плате шрифт был только родной, английский. Но за копейки!

Взял, потом стал думать. Ставить нерусифицированный Novell — не вариант. В конторе к серверу уже привыкли, а переустановка — это приключения. Значит, надо видеокарту русифицировать!

Сначала выпаять ПЗУ. Ножек много — все не нагреть. Я их откусил. Все. Потом по одной выпаял и припаял к микросхеме. Впаял кроватку в плату на место ПЗУ, поставил на кроватку искалеченную микросхему. Работает.

Теперь надо прочитать содержимое микросхемы. Программатор у друзей есть, но на другом конце города. Зато есть сетевая карта с кроваткой под микросхему BOOTP. Ставлю туда свою ПЗУ, пишу программульку, считываю содержимое микросхемы по адресам в памяти, пишу в файл. Образ ПЗУ у меня есть, но где там шрифт? Пишу вторую программульку — вывожу на экран каждый байт как восемь символов. 1 — весь символ белый, 0 — чёрный. Следующая строка — следующий байт. Ага, вот они! Теперь я знаю, где в ПЗУ лежит шрифт. Прогоняю эту же программку по русификатору. Нахожу в нём русифицированный шрифт и в образе ПЗУ меняю один на другой. Уф…

Еду к друзьям с программатором, записываю ПЗУ. А вдруг там контрольная сумма? Ставлю в кроватку на видеокарте новую ПЗУ. Включаю. Момент истины… О чудо, всё работает! Есть русский шрифт, есть английский!

Вот так просто и незамысловато я собирал свой первый сервер.

10792

Такой здесь больше не живёт

Позвонили киношники. Жалуются, что не могут зайти на FTP-сервер и залить сюжет. Проверяю — и правда, FTP лежит. Сервер на FreeBSD, рулит другой человек издалека, но время позднее, а сюжет нужен срочно.

Всунул флешку, закачал файл с сюжетом напрямую, минуя FTP. Перезапустил FTP, MySQL. Пришёл, залез в админку CMS — файл не виден. Что за чертовщина? Ставлю права 666 на файл, на всякий случай меняю владельца. CMS не видит файл. Я в шоке сижу и понять не могу, как это возможно.

Оказалось, что этот сервер перенесён на другую машину, которую привезли пару недель назад, а старую просто не выключили. Вот такая первоапрельская шутка у нашего админа вышла.

10788

Первый залетевший дятел разрушил цивилизацию

Чтобы поэкспериментировать с разными способами раскрутки, жена завела себе несколько левых сайтов. Разместила их на каком-то новом бесплатном хостинге, чтобы не тратиться на эксперименты. Ещё не успела ничего толком сделать, как на один из сайтов не пойми откуда залетел посетитель. Буквально через несколько минут сайт перестал быть доступным. При проверке выяснилось, что недоступны и остальные сайты на этом хостинге, и сайт самого хостера.

— Всё… Задосили мне сайт, и хостера! — прокомментировала жена.

В итоге без материальных затрат не обошлось: я залил клавиатуру чаем, когда ржал.

10762

Привет из прошлого века

Ставил когда-то сервак в бильярдном клубе по знакомству с директором за пиво и халявные часы игры. Сконфигурировал RAID, начал ставить систему — и тут обнаружилось, что дрова под RAID можно подсунуть только с дискеты, с USB никак. Нет, конечно, у меня с собой был флопик для таких случаев и дрова, заботливо скачанные с сайта производителя и записанные на две дискеты на всякий случай. Не учёл я только одного: шины для флоповода на материнской плате не было. Вообще. Хотя, повторю, на сайте производителя лежал именно образ дискеты для установки драйверов под RAID с подробной инструкцией, как их «подсадить» через F6.

Так я узнал про nLite и начал недолюбливать двухбуквенные серваки.

10754

Уберите детей от ваших голубых экранов

Пользуясь случаем, хочу передать горячий привет компании с VEN_ID 8086.

Большая красивая серверная материнка с набортным RAID-контроллером. Элегантный трёхъюнитовый корпус. Не менее изысканный диск с голограммой, утилитами и — самое главное — драйверами. Всё красиво разложено по каталогам. Для Linux и для Windows. 32-битные и 64-битные версии. Для десктопных и серверных ОС.

Время поставить на эту красоту Windows 2008 R2 Server! Набортный контроллер при установке не находится. Не беда — у нас же есть диск с голограммой… то есть с драйверами! Странно. Очень странно. Система не может найти на нём ничего подходящего, хотя перемещение по чётко обозначенным каталогам было абсолютно верным.

Момент истины. Рядом — работающая машина с оптическим приводом. Проходим по стройной структуре — и обнаруживаем, что драйверы с прилежностью запакованы в ZIP-архив.

Я деликатно промолчал. Но представил, как могло повезти тем, кто обнаружил бы этот сюрприз на удалённой площадке у чёрта на куличках, один на один с новым сервером, без флешки с архиватором. Думаю, пришлось бы «убирать детей от ваших голубых экранов».

10677

Две весёлых буквы

Ситуация: у юзера не работает сайт на нашем VPS с нашим администрированием. Но на нашем же виртуальном хостинге копия этого сайта работает, как положено. И сидишь весь день, ковыряешь популярный CMS-движок на PHP, периодически огрызаясь на письма юзера о том, что у нас-де хостинг кривой, и я обязан решать эту проблему (хотя не обязан совершенно). Юзер c пеной у рта сообщает, что он всё перенёс один к одному, и тут работает, а вот тут не работает, намекая, что откажется от наших услуг хостинга.

Рабочий день кончился три часа назад. Сравниваю трассировки процессов Apache, вставляю die("fuck") то там, то сям в ядре движка, пытаясь понять, в каком месте определённая функция начинает себя вести иначе. И пофиг уже, что «fuck» появляется вместо главной страницы боевого сайта на несколько секунд.

В итоге приходит понимание, что в определённом месте функция на VPS не возвращает имя SQL-сервера из XML-файла c настройками. В результате из-за кривого условия, завязанном зачем-то на это имя, не создаётся файл кеша настроек, из которого берётся значение, из-за которого сайт криво работает.

Сравниваю XML-файлы настроек — и что же я вижу? На работающем сайте переменная прописана как SQLSERVER, на неработающем — SQLSREVER. И ведь опыт прошлых лет подсказывал, что в первую очередь нужно смотреть файлы конфигурации, но никак не ожидал такой кривизны при парсинге XML от разработчиков популярного платного продукта.

Исправляю опечатку — всё начинает работать. Отправляю письмо юзеру, в котором намекаю, что он — идиот с кривыми руками. Списываю с его счёта N рублей за сервисные услуги, выходящие за рамки администрирования VPS. Заодно пишу в техподдержку CMS (которая вместо того, чтобы оказать поддержку своего платного продукта, переводила стрелки на хостинг), что они — криворукие идиоты, понабравшие индусских программистов по объявлению.

Моё душевное состояние и выражение лица были такими же, как у Хауса, который нашёл объяснение очередному неведомому недугу.

Все юзеры — идиоты, и все они врут.

10676

ПЗУ на нейронах

Главное в жизни системного администратора — иметь хорошую память, так как накануне Восьмого марта иногда приходится вспоминать, как был собран офигенный и всех радующий такое продолжительное время конфиг на SUSE, который должен работать всегда, даже когда на этой долбаной машине внезапно навернулся хард, и именно тогда, когда начальник отдела захотел скачать и услышать на корпоративе свою любимую песню.

10568

Мокрая угроза

У бухгалтерши перестала нормально выдаваться платёжка. Потыркался сам — ни фига. Звоню дружбану-программисту, у него своя фирма и 1С-франчайзинг. Тот объясняет, что надо скачать новую форму, засунуть её известно куда — и вуаля. Делаю всё это, продолжая беседу с ним.

— А у тебя как дела?

— Жопа полная! Сервак с утра не запускается (время к полудню). Там бухгалтерия нескольких фирм крутится и ваще куча всего нужного!

— И чё делаете?

— Сами плясали с 8 до 10, с 10 до 12 пляшет крутой спец за деньги, но чую, что бубен тут бессилен. Давай, пока, мне тут щас люлей получать предстоит.

— Погоди, Никита, ты ж мне помог, давай и я тебе помогу.

— Да ты ж не админ!

— Я техник крутой. И мастер дзен.

— Да ну тебя!

— Включаешь сервак. Он стопорится и выдаёт ошибку. Медленно касаешься указательным пальцем ресета и говоришь серваку вслух: «Если ты, тупой дебил, после перезагрузки не заработаешь как надо, к тебе приедет мой друг Илья. У него есть крестовая отвёртка, он вскроет тебе корпус и нассыт в жёсткий диск», после чего нажимаешь ресет — и всё.

— Ха-ха-ха, тут серваку уже одна бухгалтерша угрожала, не поможет!

— Чувак, это должен сделать лично ты.

— О! Тут ещё один крутой админ пришёл. Давай, до связи!

— Когда он облажается, сделай, как я сказал.

У меня обед с 13 до 14. Видимо, крутой админ с серваком плясать закончил, поскольку в 14:05 перезвонил Никита со словами: «Как, б#я, это работает?!»

Выяснилось, что когда крутой админ опустил руки и начал собираться на выход, а компьютерщики фирмы стояли с поникшими взглядами, Никита сделал это при всех, как я посоветовал. Сервак перезагрузился и начал работать.

— Как такое возможно?!

— Всё очень просто. Несмотря на то что я в костюме, в кармане лежит крестовая отвёртка для компов. Деньги на такси есть. Через 15 минут я бы воплотил угрозу в жизнь. Это не просто железка, друган.

10544

Погаси соседа

Работа, около восьми вечера. Техника Sun (тогда ещё не перекупленного Oracle) занимает крупную комнату. Один из серверов перестаёт пинговаться. Я, тогда ещё новичок, иду вместе с опытным коллегой в лабу оживлять машину. В конце длинной вытянутой комнаты стоят два Sun Fire V890, для которых ради экономии выделен один монитор и одна клавиатура, которые переключаются по мере надобности от одного к другому.

Коллега садится перед сервером на стул, нажимает на пробел. Загорается монитор.

— Ну, ясно. Сейчас поднимем, — уверенно заявляет усталый коллега, жмёт на клавиатуре сервера комбинацию Stop-A для выхода в прошивку, затем вводит команду перезагрузки. Enter.

Стоящий рядом сервер взвывает кулерами и начинает мигать диодами. Оба смотрим на сервер, на котором стоят монитор и клавиатура. Понимаем, что они подключены не к этому, а к стоящему рядом серверу, на котором работали, по счастью, лишь немногие оставшиеся вечером сотрудники.

Немая и неловкая пауза.