Friday, December 04, 2009

Глава 1-я. Серверная с синим гномом

Почему я не люблю пятницы. Опасайтесь нервных шефов. Корпоративное бусидо. Наша серверная. Пьеса Михаила Шатрова. Тук-тук-тук. Гениальные мысли и их реализация. Толстые каналы. О паролях. О вреде курения. Логины и их значение. Розовая лаванда. Красная шапка 2.0. Почему мы не любим падонкофф. Почемы мы не любим праздники. Преимущества естественной гидравлики у комбайнеров. Резервный дата-центр.


Я вообще не очень люблю пятницу – дни совершенно безумные, и у каждого из тысяч городских сумасшедших наступает обострение и ему обязательно надо срочно решить какую-нибудь проблему, которая, конечно же, не подождет до понедельника. Они звонят, пишут emailы и всячески создают впечатление, что им что-то нужно решить именно до конца рабочих часов. Возможно, это связано с желанием как-то подвести итоги недели, но я подозреваю, что это все-таки ущербная психика.

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

А тут еще и Шеф. Только мы разделались со сверхсрочным отчетом от ОМТ, как нас троих вызвали к Шефу. Шеф тоже был из самых что ни на есть старожилов, но от непосредственной работы за клавиатурой и курсором давным-давно отошел и занимался вопросами бизнеса.
По слухам, именно Шеф нашел нынешних инвесторов, и за последние годы превратил небольшую программисткую контору в многопрофильного ИТ-монстра, занимающегося всем (точнее, непонятно чем, что, в общем-то, одно и то же).
Когда мы зашли к нему в кабинет, Шеф сидел, уткнув лицо в ладони. На диванчике в кабинете сидел Петя Внуков и, закинув ногу на ногу, помахивал сланцем, рассеяно глядя в окно.
Шеф оторвал усталое лицо от ладоней и с наигранной улыбкой помахал нам:
-Здорово, архаровцы! Слышал, задала вам перцу Ольга Михайловна?
-Никак нет, Михаил Михайлович, - вежливо ответил Кирилл. Несмотря на общее старожильское прошлое, они не были на короткой ноге, - Все запросы удовлетворили вовремя и полностью.

-Ее удовлетворишь, как же!- заржал Шеф и громко хлопнул по ноге. Петя вежливо, но слегка натянуто улыбнулся, мы промолчали. Шеф оборвал смех и сказал:
- Есть срочное дело. Надо сделать отчет для «Синего гнома». Сегодня.

Тут я с ужасом понял, зачем позвали нас троих - «Синий гном» был как раз тем древним клиентом с мейнфрейма, так что пахать придется всем троим.

- Но месячный отчет сделали только две недели назад, - сказал Кирилл. – Опять что ли?
- Сейчас надо на текущую дату, - нетерпеливо сказал Шеф, - Давайте, скорее начнете, скорее закончите, и сразу им результаты отправьте прямо из системы.
-Но это же 2 часа работы, не меньше, -упорствовал Кирилл, - А рабочий день и рабочая неделя подходят к концу. У нас есть и личная жизнь.

Шеф побагровел и стал приподняться, и я уже напрягся в ожидании гневной тирады насчет лояльности, но потом он сел обратно и сказал:
- Дам оплачиваемый выходной.
- Два, - сказал Кирилл. – Каждому.
Шеф, явно недовольный, швырнул распечатку письма от клиента с запросом на отчет, и пробурчал:
– Ладно, вымогатели.
Мы вышли за дверь.

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

- Понимаешь, - сказал Кирилл, - Я следую пути корпоративного бусидо. Самураи говорили, что боец дерется в полную силу и не боится смерти тогда, когда готов умереть и принял этот выбор. Вот так и я: работаю честно и не боюсь увольнения, потому что уже принял его неизбежность.

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

Вот так мы и оказались в нашей серверной. Наша серверная – настоящее произведение искусства. Она не очень большая, метров 40, но в ней примерно два десятка стоек плотно стоят вдоль стен, плюс она двухэтажная. Потолки у нас в здании высокие, поэтому на дне серверной устроили сплошные стеллажи из блэйд-серверов, сверху положили решетки, поверх которых поставили стойки, так что реально там стоек 40 было.


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

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

Уныло нацепив фуфайки и ушанки, мы отыскали сервак, вытащили его консоль и принялись за отчет.
Примерно через полтора часа Сергей закончил копипастить значения в запутанных хранимых процедурах и сказал :
- Ну что, у всех готово? Пускаем? Теперь все будет работать до следующего отчета? А дальше...
- А дальше нафиг, нафиг, нафиг, как говорится в известной пьесе Михаила Шатрова - сказал Кирилл, - Потом разберемся, а пока закрываем лавочку.

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

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

Первым делом мы, все, конечно схватились за мобильники. Попытка была, в общем-то, заранее обречена на провал – мы все прекрасно знали, что в серверной сигнала нету, слишком много железяк вокруг, да и стены толстые. Тем не менее, мы потратили минут 5 на попытки позвонить (причем половина этого времени ушла на набор номера на гребаном корпоративном HTC Cruise – более тормозного телефона я просто не знаю).

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

И тут меня осенила гениальная мысль. Ну, не в смысле, что я считаю ее гениальной, но Сергей и Кирилл проявили бурный энтузиазм и немедленно объявили мысль гениальной. Собственно, я всего лишь сказал:
- Послушайте, тут же есть интернет. Давайте законнектимся как-нибудь куда-нибудь, чтобы нас отсюда освободили.
Мы оставили дверь в покое и вернулись к консоли. Сервера ободряюще гудели, лампочки мигали, монитор бликовал, а из циски тянулся целый пучок оптоволокна наружу, к долгожданной свободе.

Как всегда, когда мысль объявлялась гениальной, ее реализация была поручена мне. Первым делом я решил поставить скайп. Я всегда испытываю нечто вроде легкого благоговения к очень толстым каналам. Этого не понять тем, кто не слышал модемного ворчания, кто не изобретал шедевры многоэтажного матостроения, когда третий Интернет Эксплорер (которого тогда еще не звали осликом ИА) обрывал закачку архива с последней версией BerklyDB на 98%.

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

Вот и сейчас, когда сервер укачал дистрибутив скайпа с какого-то зеркала за пару секунд, я испытал некоторый прилив гордости от сопричастности к мощным информационным технологиям, которые позволят быстро и элегантно высвободить нас из этой досадной ловушки. Однако гордость быстро рассеялась, когда я понял, что не помню свой пароль. Я попробовал десяток своих традиционных паролей, включая классический 3.14pltw и Password123, но успеха не добился.

К сожалению, прогрессирующая амнезия паролей, болезнь для ИТ-шников традиционная и бороться с ней невозможно, а после того, как на ноутбуках появились встроенные сканеры отпечатков пальцев, я даже десктопный пароль стал вспоминать с трудом.
Скайп заблокировал мой логин и ИПшник после 5 попыток, и мне пришлось переключиться на другой сервер. Слава богу, что у нас в распоряжении была подсеть из 255 адресов.

- Э, мужики..., - я оторвался от консоли и обратился я к своим коллегам, которые живо обсуждали свои планы на выходной, - А пароль свой на скайп кто-нибудь помнит? И логин.
- У, ну ты выдал, - сказал Сергей. - Не, я не помню, последний раз я его автоматом по мылу восстановил и мне прислали что-то вообще невообразимое, я это закопипастил и все.
- А я вообще плохо помню все, кроме суммы своего текущего счета, - сказал Кирилл.
- Н-да. Придется заводить новый аккаунт, - подвел итог я. - А карточка кредитная у кого-нибудь с собой? Как мы звонить то наружу-то будем?

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

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

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

Нетерпение моих товарищей, вызванное никотиновой недостаточностью, сделало их раздражительными. Только этим я могу объяснить резкое изменения их отношения ко мне – мои мысли уже не признавались не то чтобы гениальными, но и просто заслуживающими внимания; они оттеснили меня от консоли и взялись за дело: завели аккаунты в скайпе, в аське и яхумессенджере.

И мы стали вспоминать логины своих товарищей, одногруппников, одноклассников, коллег и просто случайных знакомых. Вы когда-нибудь задумывались над смыслом логинов своих друзей? Какой смысл называться Neo1976 или Bararaika77? Бог мой, интернет набит тысячами логинов, которые отличаются только цифрами – когда годом рождения, когда еще чем. Процесс шел шатко не валко – мы вспоминали то товарища Lucefer73628, то monster844, по описанию пользователя опознавали кто есть ху и пытались достучаться. Однако успеха не было – все были в оффлайне, не отвечали ни на email, ни на посылки оффлайн-сообщений. Все сейчас так тщательно предохраняются от спама, что проскочить кусочку даже важной, но не подтвержденной чьим-то добрым именем информации невозможно...

Наконец я наткнулся на какого-то давнего знакомого, который был в онлайне.

3vservernoy: - Андрюха, привет!
Andrew1976: – Приветтт, ты кто!
3vservernoy: - Я Леха, помнишь, мы вместе работали в Имплементейшенз Пасси Групп
Andrew1976: – Ааа, это ты... скока зим
3vservernoy: - Слушай, все нормально, только у нас тут проблема
Andrew1976 – У вас?
3vservernoy: - Ну да, мы тут застряли в серверной втроем. По глупому замок захлопнулся.
Andrew1976: – Кто это вы?
3vservernoy: - Да неважно, может одну вещь сделать – позвони плиз +7762-23-96 и попроси охрану открыть серверную.
Andrew1976: – ооо. то ест вы там втроем... мужчины?
3vservernoy: - да
3vservernoy: - какая разница
3vservernoy: - ты позвони, мы тут задубели уже, с меня пива ящик по любому и мэни фенкс!
Andrew1976: – ммм, а что вы там делаете?
3vservernoy: - мля, ждем когда нас выпустят! я ж грю, замок захлопнулся. Позвонишь?
3vservernoy: - ау!
3vservernoy: - эй, ты там?
Andrew1976 замолчал. Мы переглянулись.

- Что за Андрей? - спросил Кирилл.
- Да программер один, работали с ним лет 5 назад...Я уж и не помню.
- Думаешь, позвонит?
- Ну а чего, должен.

Andrew1976: – Я вернулся и принес
3vservernoy: - ну наконец-то! ты позвонил?
Andrew1976: – крема, розовая лаванда...
Andrew1976: – и нежный олеандр.
Andrew1976: – Так вы там только втроем, мальчики?
Andrew1976: – А можно и я с вами? Я высокий стройный, даже худой, брюнет...
3vservernoy: - ?
Andrew1976: – я случайно зашел и тут дверь захлопнулась и прищемила мне пальчик. Ты встал на колени и стал дуть на пальчик, а потом...
......
^%#$^&%#%@$%#!!!!!!!!!!

После длительной истерики мы кое-как пришли в себя.
- Будем бить по площадям, - заявил Кирилл, - кто-нибудь да откликнется... из нормальных, я имею в виду. Сергей, Алексей, берите еще консоли и садитесь писать все и везде.

В каждой серверной валяется пара древних мониторов и какая-нибудь безумная железная клавиатура с PS или COM-портом. Нашелся такой комплект и здесь – подключив клавиатуру к тому единственному серверу, куда втыкался разъем, мы тоже вошли в сеть, в то время как Кирилл стал рассылать письма по всем известным корпоративным адресам.

Тут же выяснилось, что сервер, куда мы воткнули клавиатуру и монитор, вообще без русского языка, на древней красной шапке, с какими то древними Иксами (не разберешь, и не Гном и не КДЕ), так что пришлось писать все транслитом через какой то древний Конкверор.

Глядя на то, как эта развалина корежит модные CSS всяких социальных сайтов, я на секунду задумался о том, как преходящи наши достижения в области ИТ – вот вроде только что твоя прога была нереальным high-endом, а сайт поражал футуристическим дизайном, как через пару лет ты уже старый пердун, ретроград и на форумах тебе «выкают»…

Но делать было нечего - мы с Сергеем в режиме экстремального браузинга (один печатает текст, а второй за него матерится) стали писать везде: мы создали аккаунты на Одноклассниках, LinkedIn, MySpace, на ЖЖ и blogspotе, все под именем 3vservernoy и стали писать:

Mi sidim v servernoy!
Vse kto nas chitaet! Mi sidim v servernoy, v zaperty, mobillnyi ne beret! Pozovonite na ohrany po telefony 762-23-96 i skagite chtobi nas vypustili!

- Жжошь, аффтар! - буквально через 5 минут появился первый коммент в ЖЖ. Не успели мы отписать что мы не жжем, а натурально мерзнем, появился второй коммент:
- Бугага, где такую траву берешь?

- Не джентльмены, - прокомментировал вслух Сергей, и запостил коммент:
«Gospoda, pover'te, vse deistvitel'no tak i est' – my sidim v servernoi i zhdem chtoby kto-nibud' pozvonil. Nasha blagodarnost' budem bezgranichna, tak skazat', v predelah razumnogo. Pozhaluista, pozvonite!»

Шквал комментариев «Бугага», «ЛОЛ» и «йа ф серфирной, пазваните пажарным!», «Отмичаем с вами, падонки!» прервал попытки воззвать к состраданию сетевого общества.
- А чего они отмечают-то? - недоумевал Сергей.
- Так праздник, День окончательного единения отечества. - неожиданно отозвался Кирилл.
- Что-что? - переспросил Сергей

Мы смотрели на открытое сообщение rbc.ru, открытое поверх корпоративного вебмейла Кирилла с просьбой о помощи и читали «... в связи с празднованием Днем окончательного единения отечества понедельник и вторник объявлены нерабочими днями...»
Как же мы упустили этот факт! Блин, а ведь мне говорила жена, что она приедет через три дня, а я почему-то думал, что это в воскресенье!

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

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

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

- А где тут...? - ищущим взглядом я постарался сформулировать деликатную, но нарастающую проблему, но увидел только напольную решетку, прикрывающую лезвийных серверов тысяч на 200 долларов.

- Не стоит, - покачал головой Кирилл. - Это слишком дорогой туалет для тебя.
- Ну а что делать, лопнуть что ли? - Сергей поддержал меня. - Проблема имеет тенденцию нарастать существенными темпами.

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

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

- А что, если отключить сервер какому-нибудь клиенту? – спросил Сергей, - Ляжет веб или почта, или еще что, сразу начнут трезвонить в поддержку, нас откроют.

-Во-первых, поддержка скорее всего отвалила по домам. Она же не 24 на 7 у нас, - сказал я. - Во-вторых, не факт, что мы так сервер отключим. Виртуалка может утечь в резервный центр.

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

-И в-третьих - как мы разберемся кто здесь кто? - добавил я.

- А если всех подряд начать отключать, - предложил Сергей, подпрыгивая на месте, - и УПСы вырубить чтобы не успело перетечь?
- Не расплатимся, - покачал головой Кирилл. – Сами же понимаете, у нас ЭсЭлЭй.

Действительно, наша контора была настолько крута (или глупа?), что подписывала SLA, по которому обязывалась оплачивать убытки от простоев в весьма существенных пределах...
А если мы положим все сервера, да еще жестко по резету, то это а) не гарантирует результат б) может выйти сильно дороже двух-трех серверов, которые мы потенциально описаем.

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

Никогда не замечали, что перегрузка мочевого пузыря стимулирует мышление? Мысли так и несутся, несутся… в сторону туалета, в основном, конечно. Но иногда ведь озаряет.

-О, - вдруг подпрыгнул я - Эти айбиэмовские серваки от «Синего гнома»– они не в облаке и не задублированы. Отчет еще не отправился полностью?

Кирилл подошел к консоли сервака, с которым мы мучались последние часы: 70 мегабатный архив с Excel файлом уже сформировался, но в системе не было отметки об отправке – градусник висел процентах на 80%.

- Мочи отправку, - сказал Сергей, подпрыгивая на одной ноге, - Пусть задницу Шефу намылят, раз им так срочно надо, сам примчится сюда, нас выпустит.

Кирилл на секунду задумался, потом застучал Esc:
- Блин, не вижу отмену. Esc не отменяет отправку! Что за хрень!

Градусник отправки пересек 90%. Промелькнула мысль - что же за почтовый ящик принимает 100 мегабайтные аттачи (70мб в base64 как раз будет около 100)?

- Сеть дергай, - приказал Кирилл.

Сергей зашарил руками за стойкой, пытаясь найти витую пару, но быстро найти нужный кабель было невозможно.
Градусник приближался к 100%. Мы переглянулись с Кириллом, он кивнул мне и я нажал на Power. Томительно долго протекли 4 секунды, потом сервер издал протяжный свист останавливающимися вентиляторами и экран свернулся, показав заставку “No Signal”.

-Вроде не отправился?, - спросил Кирилл
-Нет, - уверенно сказал я, - Процента 2% еще оставалось, и там в конце мессадж бокс Done должен выскочить.
Сергей вылез из-за сервера, стряхивая с рукавов кучу пыли.
- Выключили?

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

Я примерно прикинул, какой из серверов у нас под ногами подешевле. Дойдя до точки, когда хочется крикнуть «лучше пусть лопнет кошелек, чем мочевой пузырь», и более не останавливаемый моими товарищами, я, наконец, решил разделаться с особенно пыльным сервером Dell в углу комнаты.
В этот момент наверху что затрещало и хлопнуло. Мы задрали головы и увидели яркий свет.

Продолжение тут.

3 comments:

t0xa said...

а сейчас ты наверно завел аккаунт в блогспоте под именем 3vservernoy-2.0 :)

zed_0xff said...

s/Berkly/Berkeley, если это конечно не специально так

Cooch said...

Скажите: все-таки окончательная версия тут или на 3vservernoy.blogspot.com ?