bash.im ithappens.me zadolba.li

Факапы

12758

А больше и не надо

Пригласили посмотреть компьютер. Жалобы просты: греется, глючит.

На месте встречает меня папа, а в это время его мелкий лет семи ударно рубится в «Танки». Волевым усилием папаша сгоняет малого, выключает компьютер и начинает буквально выдирать из него провода, попутно расписывая мне все замеченные глюки. Снимает системник со стола, но, видимо, попадает пальцами в разъём питания, потому что под аккомпанемент фразы «И вообще, он меня уже доста-А-АЛ!» системник могучим взмахом руки отправляется в полёт. В окно. И за окно.

А этаж совсем не первый.

Малой с квадратными глазами смотрит то на окно, то на отца.

— Папа, я теперь тебя совсем сердить не буду! Правда-правда!

12747

Пеня на пеню в пенни

Миллион лет назад наши придумали такую услугу — SMS-уведомление о списаниях со счёта абонента. О каждом списании. Позвонил бабуле — тебе тут же SMS: «−4 рубля». Отправил эсемеску, посидел в инете — тыды-ы-ым! Сообщение.

Сегодня внезапно выяснилось: почти пять лет никто, ни один из миллиона абонентов этой услугой не пользовался. А вчера нашёлся страждущий. Хотя, может, он случайно эту услугу подключил, достоверно не известно. А какой-то идиот-скриптолог этот сервис завёл не на абонентку, которая разом за месяц списывается, а на рандомные копеечные списания за каждую операцию. Платёж-то фиксированный, но это нормальная практика, чтоб распределить нагрузку на систему и не сыпались все платёжки в один день месяца. Только этот болван забыл fixed в поле платежа проставить.

На стадии тестов всё было зашибись: там бабло не привязано. А тут первый за пять лет абонент подписался на эту услугу. Отправил эсемеску, получил уведомление: «−50 копеек». А потом с него списали 3 копейки за получение этого уведомления и прислали новое уведомление: «−3 копейки», за которое списали 5 копеек и прислали уведомление…

Бесконечный цикл, 1–5 копеек на итерацию, скорость — примерно одно сообщение в секунду. А для внутренних услуг минус по дефолту не устанавливается… Короче, пока разобрались, чувак на десять штук в минус ушёл, телефон его сдох от перегрева, а у нас все соты с района оттянуло на хутор, где абонент жил.

12727

Был человек — и нет человека

Пригласили как-то в одной конторе на собеседование жутко редкого специалиста в очень узкой области. Стандартная процедура: кадровик, безопасник, будущее непосредственное начальство, пара возможных коллег. Спец явно подходит, но требуется соблюсти формальности и пройти тестирование. Дали два часа, оставили наедине с пачкой тестов в кабинете с гордой вывеской наименования отдела.

Через полчаса в кабинет влетает сурового вида большой босс.

— Вы тот самый специалист?

— Э-э-э… Я!

— Дайте ваш телефонный аппарат!

— Э-э-э… Вот.

(Выключая телефон.) Поднимайтесь и бегом за мной!

— Э-э-э…

— Бегом!

Делать нечего — бегом за большим боссом, а тот куда-то в недра ведёт, через кучу дверей с ограничением доступа и суровой охраной. Заводит в просторное помещение с множеством еле шумящего и моргающего оборудования, подводит к терминалу. Рядом внушительный шкафчик с документацией.

— Пока не исправишь, не отпустим!

Большой босс даёт команду охраннику: «Закончит — сообщите, проводите и отдадите вот это», — разворачивается на месте и быстро уходит. За спиной специалиста остаётся сурового вида охранник с амуницией, рацией, дубинкой на боку, шокером на ремне и выданной большим боссом папкой с чем-то в руках.

Со слов охранника: «Ну, он минут десять сидел с трясущимися руками и смотрел на экран, потом листал книжки с полки, потом что-то делал… Через час где-то сказал, что всё исправил, я позвонил шефу, тот перезвонил через пять минут и разрешил парня вывести».

Со слов кадровика: «Два часа прошли, в кабинете начатые тесты — и никого!»

11 часов вечера 31 декабря. Все помещения организации вскрываются и осматриваются, вся охрана на ногах, кого-то ищут. Кадровик и безопасник пьют кофе, предвкушая грядущее. У кадровика звонит телефон, он круглыми глазами смотрит на номер, включает громкую связь…

Со слов специалиста: «Меня проводили через проходную, вручили папку, пожелали всего хорошего. Понял, что легко отделался, быстро нырнул в метро — и домой, нервы восстанавливать. Только дома понял, что у меня в руках папка. Открываю — а там мой телефон, конверты с надписями „Рекомендация“, „Выходное пособие“ и „Трудовая книжка“. Только взяв в руки пухлую пачку денег и открыв трудовую, в которой не моя фамилия, я понял…»

Первым заржал суровый безопасник.


Эта история не происходила в 2004 году, все совпадения случайны, а пострадавшие — выдуманы.

12701

Субботний квест «Найди засранца»

Контора, занимающаяся всем, чем можно: ремонт ПК на дому, системная интеграция, сервисный центр, сеть магазинов железа по городу. Вечер пятницы (cейчас сочетание вечера и пятницы меня уже по умолчанию начинает напрягать). Отдел техподдержки пользователей. Заявок нет, скучно. Копошусь в завалах железа, рабочего и не очень, потому что обеспечивать рабочие места нужной аппаратурой мы должны были сами и из любого барахла, в идеале — починенного своими руками из списанного (обеспечение ни к чёрту во всей конторе, потому что «денег нет»), а мне нужен был свитч. Нахожу тупой восьмипортовый и БП к нему.

— Пацаны, это чей-нибудь, юзать можно?

— Да не, ничей, только мы его пивом залили как-то, он не работает, наверное.

Разбираю, осматриваю плату, протираю спиртом: выглядит хорошо, никаких следов влаги и ржавчины. Включаю в сеть — индикация в норме. Включаю свой комп. Всё работает, интернет есть у меня, у всех. Ну, думаю, ништяк, админская аура работает! Так и оставляю. Через десять минут собираемся домой: наконец-то у нас выходные, завтра работают только магазины.

А с утра стало ясно, что сетка прилегла. И ладно бы в нашем отделе — она легла во всём офисе, лишив магазинов VPN-подключения и, соответственно, 1С. Невозможно нормально отпускать товар. Начальство в панике, продажи не идут. Выцепили админа в выходной из дома. Тот посмотрел время падения по логам, по видеонаблюдению высмотрел момент втыкания мной глюкавого и ликвидировал проблему. Малой кровью обошлось.

Нехитрая мораль: не втыкайте подозрительное оборудование в сетку, если не знаете, как она работает. К электрическим сетям, кстати, тоже относится: для включения моих рукожопно-ремонтированных железок у меня есть удлинитель с врезанным в шнур УЗО.

Ну и, конечно, админ, делай VLAN’ы!

12692

Порт поднял — адрес потерял

Работал дежурным сисьобнимом в достаточно известной розничной сети в 2012-м. График — сутки через трое. Обязанности распределены: сетями занимается один отдел, инфраструктурой — наш, приложениями — другой.

Ничто не предвещало беды. Как обычно, на смене в 20:00 надуваю матрац, достаю подушку с одеялом, прогуливаюсь до «Седьмого континента» с целью замешать себе снотворное (кола + виски или кола + коньяк — зависело от удалённости от дня зарплаты; если совсем далеко, а в кармане финансово-половой кризис, то вообще не ходил). По возвращении наблюдаю до хрена писем от SCOM. Тихо фигею — поначалу даже без мата. Склад, работающий ночами, разрывает телефон, XenApp работает нормально, VMware-кластер работает тоже норм. Паника. Я в первый раз не понимаю, что лажает.

Эскалация. Проверка всего и вся по сетевому и инфраструктурному отделу. Нуль, причины неизвестны.

Позже я упомянул в очень нецензурной скайп-конференции, что разворачивал виртуальный сервак на ESXi с определённым айпишником. Механизм поиска свободного адреса в подсети для виртуалок был прост: пингануть — не отвечает, nslookup — без ответа, значит, свободен.

Развёртывая тестовый сервак, я занял IP сиськовского пятитонника. Но, как выяснилось, я был не виноват. У дежурной смены просто не было списка критических для работы IP.

Мораль такова: инфраструктурщики должны дружить с сетевиками и знать, какие IP заняты под сетевое оборудование, и их лучше не трогать. И ещё: пилите виртуалки только по профилю, созданному архитектором, с IP, именем сервака, VLAN и т. д. Предотвратит множество проблем.


А как-то, помню, у нас Nexus навернулся, который за всю виртуальную среду отвечал по сетевой части. Но это уже другая история, смазанная вазелином и благоухающая ароматами раскалённого паяльника…

12686

Двести двадцать по встречной

В старых компах с блоками питания AT клеммы втыкались прямо в кнопку «Power». Причём их было четыре, и угадать можно было разве по цвету. +220 обычно был синий. Обычно — но, как оказалось, не всегда.

В бухгалтерии собираю, подключаю, втыкаю в розетку… Бздыщ! Шнурок питания разорвало надвое, причём вдоль всей длины. Дым и вонища. Посреди этого всего шухера я сделал морду кирпичом и сказал, что всё нормально. Типа, бывает. Хотя руки ещё долго тряслись.

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

12655

Где упало, там пропало

Есть у меня компьютерный стол с дополнительной полочкой над системником и выше уровня монитора. Очень удобно ставить системный блок на тестирование, тем более что как раз к левой стороне есть доступ. Как выяснилось, такое удобство может выйти боком.

Потребовалось мне у очередного пациента переподключить кабели. Сдвинул я его чуть вперёд и в сторону — а он, падла, возьми и соскользни! Угол ящика выбил кусок матрицы из широкого монитора-двадцатки.

Остальная часть матрицы работает идеально до сих пор. Вот так в моём мировосприятии появилась новая трактовка термина «битые пиксели».

12577

Горим и тонем

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

Стоит отдельно отметить, что помещение, в котором располагался генератор, подстанция, компрессоры и насосы, было общим и заглублённым: траншея с бетонированными стенами и дном, перекрытая сверху металлической съёмной крышей и не изолированными друг от друга отсеками с оборудованием.

А теперь картина по минутам, как её увидел дежурный у себя на пульте.

12:00:00. Датчик температуры трансформаторной подстанции скачкообразно перескакивает с +60 °С на +176 °C. Видимо, был бракованный. Но в систему не закладывался алгоритм контроля неисправности оборудования, и, громко пискнув в колонки и подсветив на схеме красным, компьютер вырубает трансформаторную подстанцию, написав крупными буквами: «ПЕРЕГРЕВ». Дежурный немного напрягается.

12:00:02. Система видит катастрофическое падение напряжения в сети и, следуя заложенному в него алгоритму, запускает дизель-генератор. Дежурный звонит энергетикам, чтобы посмотрели, что с подстанцией. У генератора прогорает выхлопная труба, выхлоп идёт в помещение.

12:00:30. На пульте раздаётся тревожный писк, помещение с оборудованием отмечается значком и значком «пожар». Сообщение дублируется большими буквами под словом «ПЕРЕГРЕВ». Дежурный напрягается ещё сильнее.

12:00:35. Система, спасая корпоративное имущество, включает умную пожарную систему, переключая насосы в трубы пожаротушения, повышает их производительность и открывает вентили в помещение с огнём, то есть в траншею с оборудованием.

12:00:50. На пульте с тревожным писком отображается иконка о затоплении помещения с оборудованием. Под надписями «ПОЖАР» и «ПЕРЕГРЕВ» появляется ещё одна, соответствующая ситуации. Дежурный уже очень напряжён: в его инструкции ничего не написано о действиях в ситуации, когда одно и то же помещение перегрето, горит и тонет. Всё это время в траншею закачивается вода, приблизительно 10 кубометров в минуту.

12:01:10. В помещении дежурного с грустным писком на пульте появляется сообщение о неисправности пневматической системы и падении давления в воздухопроводе. Местом неисправности предательски обозначается всё то же помещение.

12:01:15. Отрубается второй компрессор. Критически падает давление воздуха. Перекрываются заслонки ресивера. Система отмечает надписью «УТЕЧКА» злосчастное помещение с оборудованием. Дежурный в панике: он не успевает обзвонить всех ответственных за выходящие из строя узлы.

12:01:42. Локальный апокалипсис продолжается. Генератор сообщает на пульт о неисправности системы забора воздуха и отрубается. К этому моменту вода достигает уровня крыши траншеи и начинает переливаться во двор. Аварийная система переходит на UPS.

12:01:45. Насосы сообщают на пульт, что без основного и аварийного питания они работать не будут, и отключаются.

12:01:46. Пожарная система сообщает на пульт, что насосы пали смертью храбрых в бою с пожаром, и врубает системы с СО. Видимо, замечательная германская программа контроля не воспринимает типы аварийных отключений других систем.

12:01:48. Из-под крыши помещения начинается бурление параллельно с резким охлаждением воды.

12:02:00. Оживает датчик температуры, видимо, окрылённый общим охлаждением помещения, и радостно заявляет на пульт: «Ща напруга будет, начальника! Подавать?» — и заискивающе мигает окошечком подтверждения оператору. Дежурный, впав в транс, давит на большую красную кнопку: отключить всё, аварийно остановить производство.


Тестируйте системы даже на гипотетическую возможность самых идиотских и невозможных ситуаций, вплоть до прилёта инопланетян.

12562

Выдыхай, ангар, выдыхай!

Закрыли все порты на оборудовании, забыв оставить себе SSH-лазейку, а потом пришлось к серверу-аутисту два часа лететь на вертолёте и три дня ехать на верблюдах? Поверьте, это ещё не самый плохой вариант.

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

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

Дальнейшую картину происшедшего удалось восстановить по логам системы и записям камер видеонаблюдения.

Умная управляющая программа даёт команду охладителю на включение, компрессорам на увеличение режима для компенсации возросшего сопротивления, а контроллеру воздухозаборников — на полное закрытие порта внешнего отбора и открытие порта охладителя. Все спешно начинают выполнять приказания начальства — компрессоры разгоняются, охладитель булькает аммиаком, контроллер воздухозаборников… Контроллер, простая глупая ПЛКшка, лениво шевелит актуатором створок-жалюзи внешнего порта, периодически проверяя показания датчиков о положении этих створок, и, выведя их в закрытое положение, начинает открывать створки порта охладителя. Не тут-то было: компрессоры уже вышли на режим и создали в теперь уже наглухо закрытой компрессорной разрежение, которое актуатору пересилить не хватает мощности. Контроллер удивляется сообщениям датчиков о неизменном угле поворота и замыкается в попытках открыть-таки створки, забыв сообщить о задержке «наверх».

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

Компрессорная построена была действительно на совесть — стены и крыша выдерживают. Не выдерживает массивная стальная дверь, точнее, её косяк. Увесистая железяка с диким треском вылетает из стены и, на приличной скорости разворотив один из влагоотделителей и отрикошетив от компрессора, углом врезается в стоящий в глубине помещения главный резервуар — стальную десятикубовую ёмкость с расходным запасом сжатого воздуха. Резервуар, не привыкший к такому обращению, лопается, как воздушный шарик, высвобождая все тридцать атмосфер наружу.

К счастью, оставшийся после вылетевшей двери зияющий проем был достаточно большим, чтобы «взрывной волной» здание не разнесло на тряпочки и шнурочки — оно просто ухнуло, прыгнуло и покосилось, напоминая уже не сверкающую на солнце обитель мощной и красивой техники, а неказистый домик дядюшки Тыквы. Логическим финалом технотриллера стало шипение испаряющегося аммиака из порванных осколками резервуара и развороченных ударом воздуха сотен медных трубочек охладителя.

Итог — менее десяти секунд секунд от подачи команды до катастрофы, четыре миллиона евро убытков из-за уничтоженного оборудования, искалеченного здания (будут сносить и строить заново — даже фундамент дал трещины) и простоя производства, колоссальные репутационные потери фирмы-проектировщика и небольшой опыт программистам, писавшим программу контроллера. А всё из-за одного не вовремя закрытого порта.