Важный момент заключался в том, что этот системный администратор не пытался решить каждую проблему на месте. Иногда обход клиентов был просто самым эффективным способом сбора запросов, которые выполнялись позже. В других случаях мой коллега устанавливал с клиентами хорошие отношения, позволявшие лучше понять их нужды в долгосрочной перспективе. А иногда это был просто способ выразить сочувствие людям, столкнувшимся с неразрешимой проблемой.
Я подозреваю, что когда мой коллега приступил к своим обходам, он был ошеломлен огромным количеством вопросов, с которыми к нему обращались. Как я уже сказал, не используйте этот метод, если вы не умеете говорить людям «нет». Он требует самодисциплины, иначе вы весь день проговорите с первым клиентом. Однако со временем первоначальный наплыв нерешенных вопросов рассосется, и регулярный обход станет сродни процедуре обслуживания техники.
Процедура 6: предварительная компиляция действий системного администратора
В предисловии я рассказал историю о замене магнитных лент для резервного копирования. Это была нелегкая задача, поскольку имелось восемь ленточных серверов, и на любом из них в любой день могла потребоваться новая лента (а могла и не потребоваться). Каждый день я принимался высчитывать, на каких лентах накопилось достаточно информации, чтобы нужно было установить пустую ленту (иными словами, на каких лентах не осталось места для резервных копий, которые будут созданы сегодня вечером). Затем я брал новые ленты и обходил восемь серверов, разбросанных по всему зданию.
В конце концов я осознал, что могу избежать мороки с расчетами, если буду менять ленты на «больших» серверах каждый день, а на «маленьких» один или два раза в неделю. Это привело к огромной экономии не только моего времени, но и ресурсов моего мозга.
Это был тот случай, когда надо было «не думать, а действовать». Конечно, лента при этом расходовалась не самым экономным образом, но мое время дороже ленты.
В продолжение этой истории замечу, что я обычно заменял ленты в конце рабочего дня. Если я был поглощен проектом (а почти всегда так оно и было), я вспоминал о замене лент достаточно поздно. Я и так засиживался допоздна, а из-за необходимости менять ленты уходил с работы еще позже. Когда я направлялся после работы домой или на одно из многочисленных общественных мероприятий, в которых неизменно участвовал, я злился на «эти чертовы ленты, из-за которых опять опаздываю».
Требовалось разработать более удачное расписание, и я придумал такое заклинание:
Ежедневные дела надо делать в начале дня.
Впоследствии, когда каждое мое утро стало начинаться с планирования согласно системе Цикл, наивысший приоритет я назначал делу «Замена лент».
В результате у меня стало одной головной болью меньше (в том смысле, что мне больше не нужно было весь день размышлять, какую ленту заменить), и я смог сосредоточиться на работе и меньше беспокоиться. Я приходил домой в хорошем настроении и не очень поздно. В начале каждого рабочего дня я испытывал ощущение, что сделал что-то важное, да так оно и было.
Процедура 7: в случае сбоя связывайтесь с руководством
Однажды в фирме, где я работал, произошел сбой электропитания. Ситуация усугублялась отсутствием связи между системными администраторами, с одной стороны, и руководством и клиентами, с другой. Руководство считало, что его следовало известить о проблеме раньше, а системные администраторы считали, что им не дают спокойно разобраться в проблеме. Я уверен, что с вами ничего подобного не случалось. Или все-таки случалось?..
После этого события мы разработали процедуру на будущее. В конце концов, не последний же это сбой.
Процедура была проста: в течение часа сообщить о сбое конкретному менеджеру (шефу старшего системного администратора), даже если это случилось поздно ночью. Системные администраторы далее должны каждые полчаса докладывать этому менеджеру о состоянии дел до тех пор, пока проблема не будет устранена. Он со своей стороны должен известить более высокое руководство и клиентов (если сбой не привел к нарушению связи с ними), чтобы системные администраторы могли сосредоточиться на проблеме.
Это была простая процедура, и она хорошо работала. Жаль, ее не существовало во время той первой аварии.
Если ваша компания работает на виду у всех (приветствую тружеников Amazon, Google и Yahoo!), подобная процедура должна охватывать и отдел по связям с общественностью. Важно разработать эту процедуру до первого серьезного сбоя, даже если дискуссия обещает быть напряженной. Иногда сбои столь грандиозны, что привлекают внимание прессы. Нетрудно представить себе, какая шумиха может подняться. Несколько лет назад достаточно было сказать «Интернет» или «компьютерная безопасность», чтобы сбежались представители всех средств массовой информации. (Теперь они пресытились, и сообщения типа «Дыра в системе безопасности Microsoft принесла убытки миллиону фирм» больше не считаются новостями.) Тем не менее, если ваш бизнес достаточно широк, важно заранее совместно с отделом по связям с общественностью разработать стратегию общения с прессой. Вы должны знать, к кому направить журналистов, если они станут вам звонить. Если такого плана нет, самое лучшее- отвечать «Без комментариев» и класть трубку еще до того, как вам захочется что-нибудь добавить. Поговорить с журналистом весьма заманчиво, но многие системные администраторы считают, что во время аварии следует решать технические проблемы. Пусть прессой занимаются те, кому положено.
Процедура 8: автоматическая проверка при выполнении некоторых действий
Чтобы не запереть ключи в машине, я выработал такую привычку: закрывая дверцу правой рукой, я сжимаю левый кулак, чтобы почувствовать ключи. Я захлопываю дверцу, только если держу в левой руке ключи. Аналогичный ритуал я выполняю, выходя из дома.
Нельзя сказать, что я часто оставлял ключи за запертой дверью, но случалось это каждый раз в самое неподходящее время, и на решение проблемы уходило несколько часов.
Полезная настройка команды ping
Очень удобно, если ping издает звуковой сигнал после каждой успешной попытки. Вы можете находиться в любом месте комнаты и отсоединять кабели, не подбегая то и дело к экрану для проверки ping.
В Linux звуковой сигнал включается с помощью опции — а команды ping.
В ОС Solaris и других UNIX-подобных системах, где отсутствует опция — а, можно прибегнуть к следующему трюку. Вывод программы ping содержит двоеточие только в тех строчках, которые сообщают об удачной попытке. Направьте вывод на вход команды tr, транслирующей каждое двоеточие в символ Ctrl-G (то есть звуковой сигнал).
$ ping — s 64.32.179.56 | tr: ^G
(Чтобы «пингование» было непрерывным, в Solaris[2] нужно задать переключатель — s. В других системах это не требуется.)
Чтобы последовательность Ctrl-G отобразилась в командной строке, вам, возможно, придется предварить ее последовательностью Ctrl-V. To есть вы должны напечатать:
$ ping — s 64.32.179.56 | TR: CTRL–V CTRL-G
Какое отношение это имеет к системному администрированию? Есть множество автоматических проверок, которые мы можем сделать частью своей работы:
• Выходя из комнаты, запирающейся на кодовый замок, я проверяю, находится ли электронный ключ у меня в кармане. (Смежное правило: я никогда ни на секунду не кладу электронный ключ на стол, на пол, куда-то еще. Он всегда у меня в кармане, а карман всегда при мне.)
• Находясь рядом с оборудованием, я всегда проверяю поток воздуха. В частности, смотрю, не перекрыты ли вентиляторы посторонними предметами.
• Всякий раз, когда в фирме появляется новый сотрудник, я знакомлюсь с ним, решаю его текущие проблемы, если таковые имеются, и объясняю, как запрашивать помощь в будущем. Если я тут же решу его проблемы, он быстрее приступит к работе, а чем раньше я научу его пользоваться системой регистрации запросов (а не звонить мне напрямую), тем лучше я смогу планировать свое время.
• Встречая незнакомого человека, я всегда улыбаюсь, представляюсь и спрашиваю его имя. Я прошу разрешения изучить его бейдж, объясняя это тем, что моя зрительная память работает лучше. Новые сотрудники думают, что это я такой приветливый. На самом деле я слежу, не проник ли в фирму злоумышленник.
• Прежде чем отсоединить сетевой кабель, я запускаю программу ping (с ежесекундной проверкой), которая зарегистрирует обрыв связи, если я отсоединю не тот кабель.
• Каждый раз, когда я добавляю новое правило для брандмауэра, я сначала запускаю демонстрацию того, что собираюсь блокировать, чтобы убедиться, что этой блокировки еще нет. Затем я создаю правило для брандмауэра. Я снова повторяю демонстрацию, чтобы проверить, работает ли правило. (Если я не запущу демонстрацию до создания правила, я не смогу удостовериться, что оно работает, как задумано.)