bash.im ithappens.me zadolba.li

Серверы

12162

Серверная, она же пыточная

Пару дней назад поздно вечером в дежурную часть города N наряд полиции доставил двоих задержанных — сильно избитого мужчину лет 35 и юношу 19 лет довольно хрупкого сложения.

Избитый мужчина сообщил, что недавно освободился из мест заключения и ехал домой, далее в показаниях путался. Юноша оказался более последователен. Он рассказал, что трудится дежурным инженером в хостинге M, расположенном в двухэтажном здании в жилой зоне.

Юноша, находясь на дежурстве, примерно в 23:40 получил сообщение системы мониторинга о падении линка одного из серверов в дата-центре, спустился в подвал (где физически расположены серверы) установить причину произошедшего и обнаружил в подвале постороннего, копающегося в шкафу с запчастями.

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

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

Нет, вы представьте: тощий лохматый студент до полусмерти избил здорового урку в наколках салазками от сервера.

12156

Дырявая голова — к дырявому серверу

Два часа сервер был в дауне. Потом поднялся. Ради интереса посмотрел логи.

Незапланированное выключение. Причина: «Забыл пароль, сменил с загрузочной дискеты».

Кажется, кого-то ждёт жёсткий нагоняй.

12092

По пять капель

Небольшая фирма о десяти компах озадачилась вопросом небольшой файлопомойки. Купили железо, собрали. Встал вопрос системы. 30 минут Гугла — и выбор остановился на «иксе». Систему накатили, но в сетку включаться сервак не хотел. Четыре часа незабываемого феерического секса успехов не принесли. Решено было забрать сервак домой и поковыряться там.

Дело было летом, в пятницу. Звонок другу с фразой: «I need help». Друг приехал с бутылочкой коньяка. Решили по одной перед ковырянием с серваком накатить. Случайно капнули коньяком на системник. При первом же подключении железяка нашла все сети и дружно ломанула пакеты в интернет.

Я так понял, что сервер был стеснительный. Без коньяка он не решался пустить пакеты и пообщаться с другими жителями интернета. Так что я уверен: железо с душой существует.

12078

Не стесняйся, ядер много

Не любите симбиоз IBM DB2 и мягкой, жёлтой, твоей? Вы просто не пробовали, тем более что попробовать можно бесплатно и у DB2 даже специальный режим работы для неё есть. Другое дело, что для жёлтенькой программы даже суперсовременного, но одного ядра и одного запущенного процессора на сервере маловато. Но мы же не сдаёмся?

Берём брендовый сервер специальной perfomance-серии, выясняем, что меньше чем с 32 гигабайтами памяти они в принципе не продаются, водружаем, запускаем на нем линукс (тоже брендовый), DB2, родное жёлтое… Уже третья Марьиванна, запустившая перепроведение своих документов за квартал, валит систему на бок, даже если она одна такая. Причина понятна: перепроведение даёт такой мощный поток транзакций, что база не успевает писать фиксировать всё это на диск.

Засада первая: «бесплатный» DB2 не жуёт больше двух гигабайтов памяти. Достаём лицуху, которая уже жуёт 32 гига, скармливаем, настойчиво заставляем её использовать не более 16, а не «авто», как по умолчанию. База залетала, но всё равно, маловато одного серверного процесса на всех будет! Бежим к своим суппортерам: да, хотим серверную лицуху нашей жёлтой, нет, с ума не сошли, да, знаем ваши цены, знаем, что вы скоро ценник ещё задерёте. Купили, воткнули, прочитали, что сетевые интерфейсы и количество памяти уменьшать нельзя, иначе активация слетит. Втольковываем, что если на сервер вошла Марьиванна, то запусти ты, умная железяка, ещё один процесс серверный, и пусть он её и обслуживает, а если зайдёт ещё Ольпетровна (которая одной кнопкой «Сделай мне хорошо» выставляет очень большое количество счетов), то и ещё один. В общем, не стесняйся, ядер у процессора много, гипертрединг выключен, дабы не смущать, больше четырёх человек — запускай ещё один. Возможностей встроенного контроллера хватает, RAID 10 на восьми дисках, состояние системы контролируется фирменными же тулзами с Service Pack DVD, если что — тут же админам письмо. Суппорт вендора привезёт запчасть максимум на третий день: железки-то заранее предупреждают, что плохо им, вежливые все, брендовые. А тут ещё и бэкапы можно делать, не выгоняя всех из программы, и их целостность потом в фоне проверить, не запуская жёлтенькую… Красота, все счастливы, Марьиванны довольны: им не надо думать, какую пакость админ в следующий раз подложит, они «свои» деньги вложили и видят отдачу.

Резюме: жизнь налаживается, если знаешь как. Другой вопрос — это ж ковыряться надо, а фирменные «жёлтые» админовские курсы в этом вопросе мало помогают. Плавали, знаем…

В то время как другие, пытаясь увидеть инфу S.M.A.R.T. с дисков в рейде, бегают по сайтам вендоров контроллера и дисков, выцарапывают где-то SNMP MIB от производителя матери, чтобы следить за датчиками, потом собирают это всё в кучу скриптами, чтобы Nagios вовремя или хотя бы уже постфактум что-то пискнул… Не будем ломать им кайф.

12065

Зеркало рубль бережёт

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

При аудите выяснилось, что вся инфраструктура фирмы зеркально зарезервирована. Полностью. Абсолютно.

Каждый сервер находился в кластере. В серверах установлено по два диска в RAID 1. Каждый ИБП двойной. Два канала интернета. Два параллельных коммутатора и маршрутизатора, в каждом пользовательском компьютере по два диска в RAID 1, причём в ноутбуках тоже. Пароли пользователей и ключи доступа хранятся в двух разных сейфах в двух разнесённых кабинетах. От каждого кабинета два ключа: один у сисадмина, другой у директора.

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

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

12044

Приятных вам граблей

Индусский код, рядом лежащие папки? Терминология выдаёт программиста, который, кроме своего Виндоус-десктопа, где всё рядом, похоже, мало что повидал. Вот вам другая история.

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

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

Проходит год, фирма развивается, клиентов много, деньги есть, сайт подтормаживает. Покупают свой сервер, размещают на колокейшне, переносят сайт туда, частично переделывают. Файловый сервер переводят на нормальное железо и переносят в отдельное помещение.

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

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

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

Так было бы, если бы оптимизаторы не оптимизировали то, что в оптимизации не нуждалось. Теперь придётся переписывать — а с разработчиком уже разобрались, верно? Будете извиняться или искать другого?

Эта история, конечно, несколько притянута за уши, но суть именно такая: иногда правильнее изобразить «индуса», добавив лишний транспортный протокол, или вынеся в настройки то-что-никогда-не-поменяется, или добавив лишнюю функцию, или даже написав формулу типа А = А*1, чем потом получить непереносимое, немасштабируемое решение, на которое придётся молиться с бубном и сдувать с него пылинки.

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

Годы программизма заставили смотреть на вещи с запасом на два-три хода вперёд. Хотя очередные юные оптимизаторы, «проверяя, что он там написал», уже говорили про индусский код — что же, приятных и неожиданных граблей вам.

12031

Душа машины в свитере

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

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

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

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

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

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

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

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

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

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

Злодей нашёлся в итоге там, где его и не искали. Контора договор с нами не стала расторгать, а её владелец теперь ходит всё время с антистатическим браслетом.

12026

Серверок с ноготок

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

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

Подружились разрабы одного не очень секретного НИИ с админами. Ну, как подружились: умные люди с умными людьми всегда общий язык найдут. А тут ещё постоянно то одну железку надо к компам подключать, то другую. Через безопасников намучаешься, а напрямую договориться и быстрее, и правильнее. Жили себе разрабы, бед особых не знали: USB-порты никто использовать не запрещает, в инет за даташитами али на форумы зайти всегда можно, прогу установить любую — вот они, права админские, пожалуйста. С другой стороны, сломалось чего по железу — админы к разрабам: те и спаяют быстренько, и аналог подберут, если есть, и советом помогут при случае. Живут два отдела по-соседски, помогают друг другу, чем могут.

Проблема приключилась: поставило админам высокое начальство ажно из самого министерства задачу. Задачу не сильно сложную — всего-то сервачок организовать для своей сугубо министерской программки, жутко капризной до собственного окружения. Да только, как сие часто бывает, сделать надо вчера, а машин свободных под организацию чуда нет от слова «совсем». И денежек выделить могут, но через месяц минимум. Как решить? Запаски свои все розданы, хоть из дома приноси, только всё равно не успеешь.

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

Позвонил через те самые четыре часа админ разрабам, а те: «Пишите адрес-логин-пароль, на первое время вам хватит, коли без гуя работать сумеете». Ха! «Да без гуя же даже проще!» — кликнул в ответ главный админ, быстренько всё записал и бегом к консоли, программку ставить. Не обманули разработчики: сервачок дали что надо. Оперативки, правда, не шибко много, да идентификаторы проца с чипсетом непонятные, но кому какое дело, если работает?

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

Взял тогда главный админ из сокровенных запасов добрую бутыль вкусного напитка и отправился к разработчикам личную благодарность выносить. Пришёл, поделился радостью, попросил на спасителя своего поглядеть — кто же ему так подсобил да из чего машину за четыре часа собрать успел? Подвели его к скромному схемотехнику-универсалу в дальнем уголку, указали пальцем: «Вот тот мальчик». С благодарностью отдал админ свой презент схемотехнику, руку ему пожал, обнял по-отечески и одно лишь спросил: где машинка-то? «Да вон, сзади сетевой шнурок в плату воткнут, видишь? Вот это оно», — ответил схемотехник и показал на DSP-шную «техасовскую» платку рядом с системником.

С тех пор очень шибко заинтересовался админ микроконтроллерами, ПЛИСами и DSP-шками. Даже несколько проектов для них сваял. А презент так и стоит по сей день до особого случая: не употребляют разрабы спиртного, только для гостей держат. Ведь на трезвую голову всякие весёлости гораздо лучше придумываются.

11999

Смерть без объявления войны

Переключали мы сегодня старый SAN заказчика на новую FC-фабрику. Вроде операция несложная, у другого заказчика делали почти то же самое, только здесь у них не фабрика старая была, а коммутаторы старого блейд-центра смотрели прямо на хранилку, и везде all access. Ну, я WWN переписал, зоны на новых коммутаторах нарезал, всё, в общем, сделал по уму. По проекту задумано, что в новой конфигурации коммутаторы, которые сейчас стоят в блейд-центре, переводятся в режим Access Gateway — такой аналог хаба. Спрашиваю, точно ли все диски по двум путям работают, получаю «угу» и ввожу команду ag --modeenable. Все, свитч превращается в хаб, внешние порты отрубаются от хранилки, идём перекоммутировать (серверная и моё рабочее место в разных зданиях).

Приходим, я тихо-мирно перебрасываю старые провода, протягиваю новые. Вдруг админу звонят. Он берёт трубку и немного меняется в лице. В его речи появляются упоминания о женском половом органе в разных вариациях. Путей-то было два, но вот MPIO на винде не было. Основной домен-контроллер, резервный, два сервера с боевыми базами данных и два сервера Hyper-V с одинэской, боссом-кадровиком и ещё какой-то мутью.

Ладно, лиха беда начало, новые пути поднялись, серваки перезагружены, диски видят. Впереди переключение второй фабрики. Отправляю админа ставить MPIO, дабы не наесться тех же пирогов со вторым свитчем, он уходит. Долго нету, часа два мучает винду. Вот как жопой чуял, что самому не надо этого делать: его сервак настроен криво, пусть сам донастраивает. Звонит через два часа: «Поставил, настроил, ребутнул — винда рухнула. Без объявления войны, синих экранов и чего-нибудь диагностического — слетает на загрузке, и всё». Это главный домен-контроллер был. На резервном, хвала Аллаху, он драйвер не успел вкорячить. А ведь ничто не предвещало беды.

Так и живём.