div.main {margin-left: 20pt; margin-right: 20pt}
Секреты безотказной работы
Тони Редмонд
Составляющие высокой надежности
Долгое время значительная часть сообщества аналитиков скептически
относилась к утверждению, что Microsoft Exchange Server является
высоконадежным решением для обмена электронными сообщениями.
В июле 1999 специалисты GartnerGroup предостерегали компании от
объединения небольших Exchange-серверов (систем, поддерживающих
менее чем 500 пользователей) в большие системы из-за трудностей
управления крупными базами данных и низкой производительности работы
удаленных клиентов, использующих интерфейс Messaging API (MAPI) на
медленных WAN-соединениях. Многочисленные недостатки, на которые
указывали аналитики, в версии Exchange 2000 устранены. Новые
возможности кластеров, разделение информационного хранилища
Information Store (IS) на легко управляемые базы данных и группы
хранения Storage Groups (SG), лучшая интеграция с операционной
системой – все это ведет к более стабильной работе.
Усовершенствования Windows 2000 и Exchange 2000 значительны, но
это лишь часть общей формулы построения высоконадежных систем. В
этой статье я хочу рассказать о том, как строить высоконадежные
системы на основе Exchange 2000 и Exchange Server 5.5.
Время безотказной работы
Прежде, чем рассматривать методы регулирования времени
безотказной работы, стоит проанализировать текущее состояние
дел.
В конце 1999 года сотрудники Калифорнийской
научно-исследовательской компании Creative Networks провели
обследование 63 фирм. Среднее значение времени безотказной работы
Exchange Server по компаниям составило 99,6%. Ровно 56% компаний
превысили планируемый показатель безотказной работы. В отчете не
указано точное значение этого показателя, но вероятно, он был выше
99%. Понятно, что этот обзор охватывает лишь очень малую часть
находящихся в эксплуатации серверов Exchange, но все же я не ожидал
столь высокого среднего значения. В отчете также сообщается, что
потери времени компаний от незапланированных простоев составили 71
минуту в месяц, а от простоев при проведении регламентных работ 112
минут в месяц.
Что же приводит к незапланированным простоям и зачем
администраторам нужно останавливать Exchange Server для регламентных
работ каждый месяц? Установка пакетов исправлений Service Packs (SP)
и “заплаток” - уважительная причина, но не ясно, зачем некоторые
администраторы без особой надобности стремятся сделать базы данных
компактными и запускают Eseutil. Незапланированный простой в 71
минуту тоже слишком велик, особенно если он приходится на пиковые
часы, например 9 часов утра, когда пользователи только пришли на
работу и читают сообщения электронной почты.
Уравнение безотказности
В Таблице
1 приведено допустимое время простоя для различных уровней
эксплуатационной готовности. Обычно разработчики высоконадежных
систем стремятся добиться значения безотказной работы в 99,99% или
более. Немногие NT-системы, особенно с Exchange Server 5.5, способны
достичь такого высокого показателя. И зависит это не только от
программного обеспечения.
Классическая формула, которая учитывает факторы, определяющие
время безотказной работы, такова:
время безотказной работы = программное обеспечение + аппаратное
обеспечение + условия эксплуатации + окружение.
Эта формула показывает, что время безотказной работы определяется
сочетанием качества программного обеспечения, аппаратуры
компьютеров, условий эксплуатации и внешних факторов. Сбой любого из
этих элементов влияет на время безотказной работы. Можно ставить в
вину Microsoft ошибки в Windows NT или Exchange Server, но не
остановку Exchange Server из-за неисправности аппаратуры, или из-за
того, что оператор не потрудился во время выполнить резервное
копирование, а также невозможность передачи сообщений в локальной
сети или в Internet из-за неисправности сетевого оборудования.
Компании, которые добиваются высокой степени надежности,
скрупулезно подходят к изучению составляющих формулы безотказной
работы. Примером того, как некоторые компании могут достигать
высокой надежности в работе, может служить одна фирма, чьи серверы с
OpenVMS непрерывно работали с 1981 по 1999 год, то есть более 18
лет. Системные администраторы останавливали серверы только для
выполнения проверок на совместимость с 2000 годом тех приложений,
которые управляют производственными процессами. Ясно, что эти
администраторы действовали по принципу «не трогай пока не сломается»
- они никогда не проводили модернизацию или установку SP для
операционной системы или приложений и воздерживались от соблазна
обновлять компоненты компьютеров.
Принцип «ничего не модернизировать» подходит только для тех
систем, которые функционируют внутри ограниченного числа сетей (или
вообще без сетей) и в специфических условиях. Имея такое количество
Service Packs и дополнений к ним, какое было выпущено Microsoft для
NT и Exchange Server в течение последних 5 лет, трудно следовать
требованию постоянной доступности сервера. Если продолжать работать
с Exchange Server 4.0 (без SP) на NT 3.51 с Service Pack 4, то не
будет обеспечена безопасность и совместимость с 2000 годом.
Разумеется, сравнивать OpenVMS и NT некорректно, прежде всего из-за
возросших темпов разработки аппаратуры компьютеров и программного
обеспечения. Ведь в начале 80-х системные администраторы обычно
получали одно обновление программного обеспечения и один новый VAX
компьютер в год.
В наши дни новые компьютерные компоненты появляются каждый месяц
и почти так же часто выпускаются пакеты исправлений, дополнения к
ним и даже новые версии операционных систем (например, Windows
2000).
Чтобы добиться высоконадежной работы серверов, компании обычно
планируют свои действия, основываясь на следующих простых принципах:
Никогда не устанавливать программное обеспечение без
предварительного анализа. Этапы проектирования и планирования,
создают базу для того, чтобы установка программного обеспечения была
выполнена качественно и принесла максимальную пользу.
Тщательно протестировать программное обеспечение, прежде чем
вводить его в эксплуатацию. Тестировать следует все аспекты,
связанные с совместной работой операционной системы, Exchange
Server, пакетов исправлений и программного обеспечения независимых
разработчиков, которое будет предоставлять пользователям обмена
сообщениями.
Чтобы предотвратить разрушение баз данных в момент отказа
оборудования, всегда использовать для серверов Exchange
высоконадежное оборудование и обращать особое внимание на дисковую
подсистему (т. е. контроллер и диски). Следить за обновлениями
встроенных микропрограмм для контроллеров и дисков и регулярно
устанавливать пакеты обновлений в запланированное для обслуживания
системы время. Не забывать защитить оборудование от скачков
электропитания и прочих сбоев в электропитании.
Ответственно относиться к контролю и управлению системами.
Выполнять и проверять качество резервного копирования. Ежедневно
проверять журналы событий, выявлять все скрытые проблемы. Регулярно
обновлять антивирусное программное обеспечение. Выполнять тренировки
по восстановлению системы и документировать результаты. Вести
ежемесячную статистику.
Обращать особое внимание на окружающее оборудование, которое
может влиять на нормальное выполнение операций сервером. Проводить
мониторинг сети и ничего не менять в настройках основных служб сети
(например, сервера DNS и WINS), которые могут оказывать влияние на
способность клиента или сервера к взаимодействию. Чтобы более
эффективно использовать ресурсы системы и сети, проводить обучение
пользователей.
Рецепты от Microsoft
Подход компании к методам достижения безотказной работы
сформулирован в документах, таких как “Microsoft Windows NT High
Availability Operations Guide: Implementing Systems for Reliability
and Availability” (http://www.microsoft.com/ntserver/nts/deployment/planguide/highavail.asp).
В документе определены шесть этапов работы: планирование и
проектирование, эксплуатация, мониторинг и анализ, поддержка
пользователей, восстановление после сбоев и анализ причин сбоя. Эта
классификация служит основой для достижения высокой надежности и
справедлива не только для NT, но и для любой операционной системы
промышленного уровня. Планирование и Проектирование.
Очевидно, что начинать надо с качественного проектирования, а это
возможно только после тщательного планирования. Если опыта работы с
Windows 2000 и Exchange 2000 недостаточно, возможно потребуется
создать специальную группу (например, сотрудников, ответственных за
сетевое оборудование, за поддержку пространства имен, операционную
систему и приложения) для выполнения детального проектирования.
Зачастую группа сетевых инженеров работает над одним проектом, а
группа, ответственная за операционную систему, готовит другой. Оба
проекта стыкуются в один и формируется основа для разработки части
проекта, касающейся программных приложений. Очень часто группа,
ответственная за приложения, находится в невыгодном положении, так
как вместе с проектом она наследует ограничения, которые были
установлены без согласования с ней. Так как служба каталога Active
Directory (AD) объединяет данные операционной системы и базовые
функции, например DNS, с данными таких приложений как Exchange 2000,
проектирование и реализация AD требует совместной работы всех групп.
Компании, которые проводят всестороннее планирование, с учетом всех
своих потребностей, добиваются более высокой надежности, чем
компании, планирующие лишь отдельные аспекты в тайной надежде, что
впоследствии разрозненные проекты воссоединятся сами собой.
Внедрение. Мало составить набор методик –их еще надо и
выполнить, чтобы добиться успеха. Мониторинг и Анализ.
Если следовать базовым правилам, т.е. выполнять ежедневно полное
резервное копирование в оперативном режиме, использовать системный
монитор для наблюдения за системой, просматривать сообщения об
ошибках в журналах событий, то сбоев в работе системы будет меньше,
чем если слепо верить, что программное обеспечение Microsoft никогда
не подведет. Поддержка пользователей. Необходимо заранее
определить порядок действий при возникновении проблем. Персонал
должен знать, какие действия следует предпринять, если первая
попытка оказалась неудачной. Системные администраторы выполняют
первичное решение проблем, но что произойдет, если окажется, что
данные, которые хранились на архивной ленте, испорчены, и
восстановить их невозможно? Кто разберется, почему не работает
репликация каталогов? Кто решит проблему с DNS, из-за которой
серверы не могут передавать сообщения, так как "не видят" друг
друга? Восстановление после сбоев. Проверенный план
восстановления после сбоев является важной составной частью
эксплуатации. Как выразился в 1999 году один из докладчиков на
конференции, посвященной Microsoft Exchange: “План восстановления
после сбоев, который реально не проверен, является просто набором
прекрасно документированных заклинаний”. Анализ причин,
приведших к сбою. Администраторы больших и миникомпьютеров
привыкли анализировать причины, которые привели к сбою в системе,
поэтому они могут принять меры для предотвращения подобных проблем в
будущем. Такой порядок сложился еще в те годы, когда процессорное
время и оперативная память были столь дорогими ресурсами, что
недопустимо было тратить их на выполнение программ с массой ошибок в
коде или допустить неправильную эксплуатацию таких систем. Относимся
ли мы с тем же вниманием к своим Windows-системам? В мае 1997 года
эксперты незабвенного Byte Magazine сделали вывод, что
администраторы NT слишком торопятся нажимать на три клавиши
(Ctrl+Alt+Del), чтобы вернуть системе работоспособность после сбоя,
и не дают себе труда разобраться в его причинах. Возможно, такое
поведение и отражает прошлое Windows, когда быстрый перезапуск
системы часто был единственной возможностью остановить зацикливание
программы или освободить оперативную память и другие системные
ресурсы, которые не освобождались.
Искушение добраться до кнопки включения питания велико. Тем не
менее, постоянное включение/выключение питания “на ходу” не только
маскирует причины сбоев, но и может приводить к новым неполадкам.
Система Windows 2000 сложнее, чем NT, и взаимодействие между
операционной системой и приложениями более глубокое, чем когда-либо.
Принимать скоропалительные решения не стоит, особенно если
программное обеспечение хорошо не изучено. Напротив, системные
администраторы должны понять, почему возникла проблема, и каков ее
источник.
Определите приоритеты
Возможно, не всем ясно, зачем системе передачи электронных
сообщений нужен показатель безотказной работы более чем 99,9%.
Упрощенно говоря, электронная почта подобна телефону: поднимая
трубку, мы ожидаем услышать гудок, и точно так же рассчитываем, что
электронная почта доступна в любое время.
Но даже в этом случае усилия для достижения показателя
безотказной работы более чем 99,9% могут быть неоправданны.
Электронная почта не так критична ко времени непрерывной работы
сервера, как другие приложения. Потеря данных в результате отказа
компьютера, управляющего производственным процессом на фабрике,
ведет к большим финансовым потерям. Это типичный пример, когда
безотказная работа очень важна. Системы электронной почты вряд ли
относятся к этой категории. Отказ в работе системы электронной почты
раздражает пользователей и замедляет доставку некоторых сообщений,
но это еще не конец света. В момент отказа системы электронной почты
сообщения можно передавать по телефону и факсу. В качестве
альтернативы можно иметь бесплатный электронный почтовый ящик в MSN
Hotmail, на тот случай, если корпоративная система электронной почты
недоступна.
Система - это набор компонентов, настроенных и работающих
совместно. Если планируется, что система, такая как Exchange Server,
должна работать без сбоев, и в то же время внимание уделяется только
одному элементу, такому как аппаратное обеспечение серверов, то
потеря данных вполне вероятна.
Достижение высокой степени надежности является основой для
реализации безотказной системы передачи электронных
сообщений. Тони Редмонд - Редактор Windows 2000 Magazine,
старший технический редактор выпусков Exchange Administrator,
вице-президент и главный технолог в Compaq Global Services, автор
«Microsoft Exchange Server 2000: Planning, Design, and
Implementation» (Digital Press).
|