Как стать автором
Обновить

Комментарии 41

Я думаю подобных историй у каждого специалиста с разнообразным опытом лет хотя бы в 5 полно.
Помню мне надо было на выходах сортировочной линии организовать рабочие места, по 2 на каждом(тонкий клиент+сетевой принтер), а линию ту сдавали подрядчики и мимо ИТ. Так вот на каждом выходе линии было 2(две) сетевых розетки RJ45. Благо сделаны они были нормальной четырехпарной витой парой. Переделка кросса и обжим огромной коробки патчкордов-гидр(четырехпарка бьется на две двухпарки, через одну розетку можно два порта подключить) заняла уйму времени, аж пальцы болели потом.

Да, историй много, но не все их рассказывают. Спасибо, что поделились своей.
Пальцам пришлось нелегко.

Часто за годы все в кашу смешивается. Хорошо запоминаются только какие-то яркие моменты по юности в начале карьеры, первые пару лет.

Что может быть страшнее, чем откат БД на пол года назад :(

Отсутствие ежедневных бэкапов БД?
НЛО прилетело и опубликовало эту надпись здесь
Делать бэкапы это джун. Делать бэкапы и проверять их уже мидл. Делать бэкапы бэкапов и проверять оба — сеньор!

админы делятся на тех, кто не делает бэкапы, тех кто уже делает и тех кто уже делает и проверяет их целостность.

Нет, те кто не делает бэкапы -- это "ещё не админы".

Даже у админов со стажем бывают случаи, когда надо что-то поменять на удаленном сервере, или мигрировать данные и из-за простоты операции может не сработать инстинкт бэкапа. Вот недавно в ФБ такое случилось. Там тоже не админы?

Вот недавно в ФБ такое случилось. Там тоже не админы?

Там гораздо хуже.

Свои внутренние данные, включая систему контроля доступа, хостить и DNS'ить вместе с пользовательскими базами -- это уже не ошибка и не поспешность. Это, как минимум, вредительство.

НЛО прилетело и опубликовало эту надпись здесь

Да, в этом чувствуется рука "эффективного менеджера".

Сэкономили на копейку, а ущерб получили на многие миллионы.

Нечто подобное было, например, в аварии на Фукусиме: при проектировании этой АЭС возможную потерю электроснабжения собственных нужд сочли "невероятным событием". А оно случилось и повлекло катастрофически последствия.

Накатить вчерашний бэкап дазы банных, не? А нету?! Тогда обновляем резюме и вперед! :-)
НЛО прилетело и опубликовало эту надпись здесь

Ох, с джунами и не такое бывает. Хорошо, что обошлось)

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

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

... снится мне однажды, как я в этом терминале что-то делаю и вдруг слышу будильник. Понимаю, что пора просыпаться, а для этого нужно ввести логин и пароль. Стандартные pi/raspberry почему-то не подходят, я не могу проснуться. Попытки с десятой получается таки ввести пароль и я просыпаюсь.

А пароль в диспетчере паролей

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

История два. Действие на пару месяцев позже. Два старых сервера. Без RAID, так как гипервизор не поддерживает контроллер, но есть бэкапы. Я уже админ и решаю провести ТО сервера. Мигрировав все с сервера, который я хотел обслужить и внимательно посмотрев на два сервера, (а они отличались внешне) я начинаю вытаскивать диски. Я немного задумался и вытащил диск из работающего сервера. Причем диск, где был гипервизор. Сервер продолжил работать, но начал тормозить. Я в ужасе "что делать?", так как там были достаточно важные ВМ. Воткнул диск обратно и побежал перезагружать сервер. К счастью помогло.

История три. Я только начинаю работать в организации и мне доверили сервера учебного сектора. Один сервер начал работать нестабильно и я решил из дома вечером его перезагрузить. Он перезагрузился, но потерял связь с vcenter. Я в ужасе пытался решить проблему, но ничего не помогало. А там были ВМ с серверами лицензий и с утра могли бы не начаться занятия. Всю ночь маялся и в шесть утра меня осенило, что я могу подключиться напрямую к гипервизору. Подключился, стартанул ВМ и со спокойной душой пошел на работу.

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

Да, чаще всего страшно в моменте, потом уже забывается:)

1) Пятница полчаса до конца рабочего дня и отпуск. Хостер отрубает почту на рабочем проекте из-за подозрений в спаме. Благо быстро отвечали и удалось все включить назад.
2) Из той же серии. Проект сдан в пятницу и отпуск. Все проверено быстро. Первый день на море и сообщение о баге, который пропустил. А у тебя только планшет и хреновый интернет. Правишь через админку прям в браузере.
3) Взяли проект, который не работал нормально, а их админ гадил ибо не хотел, что бы проект уходил. Да опять пятница и я на свадьбе двоюродного брата. Самопальный кривой обмен с 1с не проходит. Обмен писала другая контора. И клиент выносит мозг, что у него в магазине пропал товар. Мне предлагают даже привести ноут, а я объясняю, что поправить в конфигах PHP что бы обмен все же прошел и что это не наше и код быстро не поправить. Потом меня еще в субботу доставали, но вроде как то обмен прошел. В понедельник я посмотрел чужой говнокод и оптимизировал его. А потом нас послали на три буквы и проект вернулся к старым разработчикам.

потом нас послали на три буквы

Эти буквы — слово "Мир"?;)

Идите с миром!

Пишем систему управления деплойментами. Выпустили нас на продакшн. Примерно 4000 серверов обслуживаем.

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

Разобрались - в этот момент протухла сессия пользователя и при обновлении страницы через ajax не получили списка серверов. Ну и написали что их нет. Все было цело, но нас чуть не побили.

Прости, Миша.

История, подобная "Сервер-лунатик" случилась у нас 31 декабря 2017 в 23:51. Позвонил управляющий базы отдыха, говорит "У нас отключали электричество. Когда подключили, точки продаж перестали работать". Примерно догадавшись, что произошло, подключаюсь к БД ERP. Holy shi... "Suspect"! Смотрю eventlog. Damn!.. disk, disk, disk... Упал RAID1. Но HDD сервера, куда делались инкрементные бэкапы каждые 2 минуты, выжил. Восстановил БД на том сервере, поставил MSSQL, подцепил БД, запустил ERP. 23:58. Новый Год встретил под бой курантов :)

Поставить MS SQL и восстановить БД менее чем за 7 минут - это круто! Нереально круто, я бы сказал.

Когда портировал IDE Dr. Pascal с MS DOS на Mac OS 7.0.1, то там была процедура SaveFile, которая, если файл под таким именем уже есть, переименует его заменив расширение .pas на .bak. И запишет новый, вызвав процедуру NewFile. Казалось, что тривиальная задача, но процедуры видимо писали разные люди, и в них был вызов closeFile стандартной функции ОС. Оказалось, что для Mac OS это недопустимо, и двойное закрытие файла может привести к его потере. Шеф из Штатов позвонил мне в Москву и минут 5 кричал. Каждая фраза начиналась с You have to… Потом специально смотрел документацию на ОС — не нашел предупреждения на повторное закрытие файла, только позже где-то прочел о такой распространенной ошибке.

«Немного напугали»?

От «ты не переживаешь, ведь у клиента RAID1. А после часа общения с железячниками выясняется, что они налажали и у них RAID0» у меня внутрях немного задёргалось.

Жизненная ситуация. Недавно случайно обнаружил, что на гипервизоре 0, а не 1. Забыл mirror при создании дописать, а zfs при отсутствии параметров молча стрип делает.

А то, что откуда-то образовалось вдвое больше, чем планировалось — не насторожило?

У заказчика сервер под Hpux c софтовым зеркалом, собранным через lvm. А там забавный прикол второй диск включённый в зеркало показывается как не смонтированный. Приходит к заказчику новый админ, начинает разбираться что к чему

- о! диск не смонтированный, сча посмотрим. Хм, не монтируется. Не порядок. Надо его переразметить.

Ну и переразметил…. Бэкап был (с)

Кстати про бекапы. Сдает мне одна уважаемая организация настроенное ПО мониторинга. На сдаче ничего не работает. Мне начинают рассказывать ну это ваши чего-то изменили, мы намедни проверяли - все работало. А доступ к серверу у нас действительно был. Ладно, говорю, вы вроде как позавчера бекап делали - тогда все работало. Радостно кивают. Ну ок говорю, накатывайте. Накатывают и все становиться раком. Вообще все. Начинаем разбираться - добрый человек, который бекап делал, забекапил с опцией сохранять линки как файлы. Потом неделю лазили по системе вручную восстанавливали линки. И что сука характерно мониторинг так и не за работал …

О да! Истории с автосделками - это что-то с чем-то.

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

К счастью у продавцов в выходные тоже были выходные и сделки не успели подтвердить :)

а столкнулись почему?

Торопились. "Столкнулись", громко связано, но мерс потерял боковое зеркало, а лимузины поцарапались не плохо.

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

Вот да. Прод сервер без физического доступа и без нормального квм это ссзб абсолютное.

а что, никто на проде update без where никогда не делал? )))

Делал ALTER TABLE на 10 миллионах записей с блокировкой базы прода на несколько часов. Сделал как-то field = REPLACE(str1, str2, field), т.е., перепутал порядок аргументов в функции MySQL. Это с первого, что вспомнил.

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

У нас однажды она коллекция из монги периодически удалялась. Поначалу думали, что баг в коде, пока не отловили в логах сервера следы гуглобота, который индексировал нашу почему-то открытую наружу базу и переходил по ссылке delete, которая удаляла базу по GET запросу. Вроде robomongo был, год эдак 2012.

Как-то включил на пограничном маршрутизаторе Juniper watchdog, и из-за глюка в прошивке он ушёл в вечный ребут. Не помогли ни кластер из двух железок (применил сразу на обеих нодах), ни commit confirm...

Пришлось срочно ехать в ДЦ. Всё лежало около двух часов.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий