![]() |
![]() |
Кластеры как средство повышения отказоустойчивости систем
|
||||
|
|
В показанном на рисунке примере, у кластера нет ни одного элемента оборудования, отказ которого может привести к потере работоспособности всей системы. При построении кластера по такой схеме необходимо выбирать материнские платы узлов с большим количеством слотов для карт расширения. Кроме трех слотов для сетевых адаптеров еще два слота материнской платы займут не показанные на рисунке адаптеры FC. Как показывает практика, большинство проблем возникает как раз при построении простых и недорогих кластеров с общей дисковой подсистемой на базе параллельного SCSI интерфейса. Неосмотрительность в выборе оборудования, непонимание основ SCSI технологии при на-стройке и тестировании, или даже элементарная неаккуратность при сборке, могут привести не толь-ко к созданию неработающей системы, но и к тому, что длительность простоев построенной системы из 2-х серверов будет больше, чем была бы у каждого из серверов по отдельности. В качестве примера аппаратной реализации рассмотрим построение недорогого кластера из двух узлов. Допустим, что мы предполагаем использовать этот кластер для поддержания отказо-устойчивого файлового сервиса. Хотя аппаратная конфигурация не определяет тип ПО кластериза-ции, будем для удобства ориентироваться на MSCS из ОС MS Windows2000 Advanced Server. Казалось бы, все просто: на 2 сервера с инсталлированной ОС устанавливаем по SCSI адапте-ру и кабелями к SCSI шине присоединяем общую дисковую стойку. Установленные в узлы сетевые адаптеры межузлового канала соединяем кросс-кабелем. Ставим Cluster Service, и все "понеслось" - ресурсы в Cluster Administrator перекидываются, файлы доступны. Ура, заработало, кластер готов! Но, скорее всего, все это проработает только до первой перезагрузки узлов. Здесь приходит понима-ние разницы между понятием работать и понятием устойчиво запускаться, и, дополнительно, что не так все просто как кажется. Вроде бы все делалось правильно: оба сервера до объединения в кластер работали нормально, SCSI адаптеры из списка совместимого оборудования - Microsoft Hardware Compatibility List (HCL) для конфигураций SCSI/Cluster, кабели проверены, схема соединений верна, но кластер "не живет"! Для построения системы на базе SCSI интерфейса надо четко представлять, каким образом работает SCSI шина. Следует отметить, что SCSI не идеально приспособлен для создания кластеров. Например, для включения и выключения питания одного из узлов кластера (или физического его отсоединения), в то время как другой узел продолжает нормально функционировать. Для успешной работы широкое распространение получили специальные устройства, которые можно назвать терминирующими пере-ключателями. Устройства подобного типа при выключении питания на одном из серверов (возможно, вследствие серьезной аппаратной неисправности) изолируют SCSI-сегмент этого сервера от остатков кластера. В то же время переключатель начинает работать как терминатор, функции которого до сбоя выполнял SCSI-адаптер сервера. При включении сервера терминирующий переключатель определяет его присутствие и восстанавливает соединение между кластером и вновь прибывшим участником. Алгоритм его работы достаточно прост. Для нормального функционирования SCSI-терминаторов на несколько разъемов SCSI-шины должно быть подано напряжение, так называемые линии TermPower. (Теоретически это должно делать только одно из устройств. Практически - ниче-го плохого не произойдет, если этим "займутся" все: тогда можно не беспокоиться, вынимая один из жестких дисков, не был ли он тем самым, единственным.) Если TermPower "теряется", переключа-тель инициирует сброс шины и физически разъединяет шину на 2 сегмента. При "появлении" TermPower переключатель после некоторого тайм-аута соединяет оба сегмента. Причем если во вре-мя задержки TermPower снова "пропадает", таймер задержки запускается снова. Общие впечатления от кластерных решений на основе "обычного" SCSI неоднозначны. С од-ной стороны - простота и дешевизна конструкции. С другой стороны - огромное количество про-блем, причиной которых может стать элементарная неаккуратность. Неосмотрительность, начиная от выбора комплектующих и заканчивая настройкой и тестированием, может привести не только к соз-данию неработоспособной системы (наверное, наилучший вариант), но и к тому, что количество и длительность простоев кластерной системы из 2-х серверов будет выше, чем у каждого из серверов по отдельности. Ну, а теперь о том, что является самым важным при построении кластеров. Это понимание того, что усложнение (увеличение количества совместно работающего оборудования) системы неиз-бежно приводит к снижению ее надежности, и, по сути, вступает в противоречие с самой целью по-строения кластера. Наличие большого количества работающих кластерных комплексов, поддержка производителей аппаратного обеспечения не смогут сделать кластерные решения менее сложными, чем они на самом деле являются. Некорректная настройка или не выявленные проблемы оборудова-ния могут послужить только еще одним источником сбоев и отказов вместо желаемого повышения отказоустойчивости. Многообразие технических средств, которые могут быть использованы для соз-дания кластеров, нисколько не облегчает решение этой задачи, а скорее делает ее еще более сложной. Оборудование от известных производителей или различные "полуфабрикаты" типа Cluster Kit, также не гарантируют ожидаемый результат. Вывод прост: задача построения кластерных систем требует понимания необходимости мно-гократного повышения технического уровня работ по выбору, сборке, настройке и тестированию ап-паратных конфигураций. Успешность решения этой задачи определяется техническими знаниями и опытом специалистов, условиями и инструментами для выполнения данных работ. Только в том слу-чае, когда по результатам грамотного и полноценного тестирования констатируется безупречная со-вместная работа аппаратных средств, и когда в течение нескольких суток в режимах эмуляции сбоев проверяется весь программно-аппаратный комплекс, можно говорить о построении отказоустойчивой кластерной системы повышенной доступности. Доступность 100% и отказоустойчивость Кластеризация не может заменить мероприятий, обеспечивающих устойчивость к сбоям. Кластерная технология уменьшает вероятность отказа из-за сбоя одиночных устройств и смягчает по-следствия плановых отключений, однако не решает многих проблем и, поэтому, повышение доступ-ности сложного программно-аппаратного комплекса всегда будет оставаться непростой задачей. Причины отказов Обеспечение максимальной надежности осуществляется путем использования электронных компонент высокой и сверхвысокой интеграции, поддержания нормальных режимов работы, в том числе тепловых. Отказоустойчивость обеспечивается путем использования специализированных компонент (ECC, Chip Kill модули памяти, отказоустойчивые блоки питания, и т.п.), а также с помо-щью технологий кластеризации. Благодаря кластеризации достигается такая схема функционирова-ния, когда при отказе одного из компьютеров задачи перераспределяются между другими узлами кластера, которые функционируют исправно. Причем одной из важнейших задач производителей кластерного программного обеспечения является обеспечение минимального времени восстановле-ния системы в случае сбоя, так как отказоустойчивость системы нужна именно для минимизации так называемого внепланового простоя. Многие забывают, что удобство в обслуживании, которое служит уменьшению плановых простоев (например, замены вышедшего из строя оборудования) являет-ся одним из важнейших параметров систем высокой готовности. И если система не разрешает заменять компоненты без выключения всего комплекса, то ее коэффициент готовности уменьшается.
© При перепечатке указание авторства (Александр Матвеев, 2004) и ссылка на источник (www.timcompany.ru) обязательны!
Другие материалы на эту тему >>
|
|
|||||||||||||||||||||||||||||||||||||||||
| © 2011 Группа компаний ТИМ, Почта: info@timcompany.ru, Ссылки | |||||||||||||||||||||||||||||||||||||||||||