Внедрение отказоустойчивости в сетях Windows

Опубликовано: 25 Марта, 2023

Фундаментальное правило вычислений (и жизни в целом) заключается в том, что все ломается. По этой причине важно убедиться, что компоненты сервера Windows редко выходят из строя и могут быть быстро восстановлены после возникновения сбоя. Отказоустойчивые технологии — это функции аппаратного и программного обеспечения, которые предотвращают возникновение сбоев (высокая надежность) и позволяют заменять или восстанавливать неисправные компоненты с минимальным прерыванием обслуживания (высокая доступность). В этой статье описаны различные варианты реализации отказоустойчивости с помощью Windows Server 2003, Enterprise Edition. Мы кратко рассмотрим отказоустойчивость в трех основных областях: оборудование, хранилище и сетевые приложения.

Надежное оборудование

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

  • Горячее добавление памяти, позволяющее добавлять больше ОЗУ, когда система включена и работает, без перезагрузки, необходимой для распознавания новой памяти.
  • Горячая замена жестких дисков, позволяющая добавлять или удалять диски SATA или SCSI, когда система включена и работает.
  • Слоты PCI-X с возможностью «горячей» замены, позволяющие добавлять или извлекать карты PCI, когда система включена и работает.
  • Резервные блоки питания и охлаждающие вентиляторы, позволяющие системе продолжать работу в случае сбоя блока питания или прекращения работы вентилятора.

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

  • Источник бесперебойного питания (ИБП), обеспечивающий правильное отключение систем при отключении электроэнергии на вашем объекте.
  • Генераторы, позволяющие критическим системам продолжать работу во время длительного отключения электроэнергии.
  • Фильтры напряжения (обычно встроенные в ИБП) для защиты от скачков напряжения и повреждения компонентов или потери данных.
  • Избыточность и отказоустойчивость в устройствах сетевой инфраструктуры, таких как коммутаторы и маршрутизаторы.
  • Резервные каналы глобальной сети для обеспечения вторичных сетевых подключений между сайтами в случае выхода из строя основного канала глобальной сети.
  • Резервные интернет-провайдеры (множественная адресация) для обеспечения высоконадежного доступа в Интернет.

Наконец, серверы горячего резерва, которые полностью настроены и готовы к подключению к сети в случае катастрофического сбоя производственного сервера, могут стать простым, но дорогостоящим решением для обеспечения почти 100% времени безотказной работы в критически важных для бизнеса средах. Учитывая бесконечный запас денег в вашем ИТ-бюджете, системный администратор может внедрить все эти технологии, чтобы обеспечить почти 100% безотказную работу. Однако с практической точки зрения нужно выбирать то, что можно себе позволить в области расширенной аппаратной поддержки, и планировать наилучшее.

Что-то, что иногда не учитывается при внедрении отказоустойчивого оборудования, заключается в том, чтобы гарантировать, что достаточный запас запасных частей легко доступен на месте, а также легко доступен. Это не очень поможет, если ваш сервер поддерживает жесткие диски с горячей заменой, если у вас нет запасных дисков или если вы держите их в другом здании или должны расписаться, чтобы получить их. Еще одна вещь, которую следует учитывать при использовании такого оборудования, — убедиться, что оно сертифицировано в каталоге Windows Server, что гарантирует, что ваше оборудование полностью совместимо с Windows Server 2003 и поддерживается им.

Надежное хранилище

Вероятно, самой известной отказоустойчивой технологией, поддерживаемой Windows, является программный RAID, доступный в системах, где базовые диски были заменены динамическими дисками. RAID 1 (зеркалирование дисков) — отличный метод обеспечения отказоустойчивости загрузочных/системных томов, а RAID 5 (расслоение дисков с контролем четности) увеличивает как скорость, так и надежность томов данных с большим объемом транзакций, таких как базы данных. Программный RAID означает, что RAID реализован в самой Windows, но для еще более высокой производительности и большей отказоустойчивости вы можете вместо этого реализовать аппаратный RAID, хотя это, как правило, более дорогое решение, чем программный RAID. Традиционно большинство программных RAID-систем использовали SCSI, но в настоящее время другим распространенным вариантом является SATA (Serial ATA), который обычно лишь в несколько раз дешевле SCSI, но с почти сравнимой производительностью.

Однако в RAID есть еще кое-что, что касается отказоустойчивости в хранилище. Внедрив распределенную файловую систему (DFS) в вашей сети и реплицируя корни DFS с помощью службы репликации файлов (FRS), вы можете обеспечить максимальную избыточность для общих томов, позволяя пользователям получать доступ к общим файлам в вашей сети не только более легко, но и когда конкретный файловый сервер выходит из строя. Дополнительные сведения о том, как работает DFS и как ее реализовать, см. в статье Эндрю Табоны Windows 2003 DFS (распределенная файловая система) на сайте WindowsNetworking.com.

Еще одна полезная технология — служба теневого копирования томов (VSS), которая позволяет Windows сохранять моментальные снимки томов данных на определенный момент времени, чтобы пользователи могли восстанавливать случайно удаленные файлы или возвращаться к более ранним версиям документов, над которыми они работают. Хотя технология VSS не является строго отказоустойчивой, она обеспечивает повышенную доступность пользовательских данных и помогает защитить их от случайной потери или уничтожения. Дополнительные сведения о том, как работает теневое копирование и как его реализовать, см. в статье Брайена Поузи Работа со службой теневого копирования тома Windows Server 2003 на сайте WindowsNetworking.com.

Надежные сетевые приложения

Сами распределенные сетевые приложения становятся более доступными и надежными в сочетании с несколькими ключевыми отказоустойчивыми технологиями в Windows Server 2003, Enterprise Edition. Одной из таких технологий являются серверные кластеры, решение высокой доступности, реализованное в Enterprise Edition с использованием службы кластеров. Кластеры серверов могут быть сконфигурированы различными способами и могут включать до 8 узлов (серверов) в каждом кластере. Некоторые из конфигураций, с помощью которых кластеры серверов могут обеспечить отказоустойчивость сетевых приложений, включают:

  • Активная/активная кластеризация, когда несколько узлов делят нагрузку по обработке клиентских запросов. Если один узел выходит из строя, другие активные узлы могут восполнить резерв до тех пор, пока неисправный узел не будет восстановлен.
  • Активно-пассивная кластеризация, при которой один или несколько узлов находятся в режиме ожидания и могут быть быстро запущены в случае сбоя рабочего узла.
  • Кластер с горячим резервированием, при котором несколько отказоустойчивых узлов объединяются в один узел с горячим резервированием, который при необходимости можно перевести в оперативный режим, чтобы взять на себя работу любого вышедшего из строя узла в кластере.

В зависимости от того, как реализованы ваши кластеры, вы можете охарактеризовать сетевые приложения, работающие в вашем кластере, одним из трех способов:

  • Приложения с одним экземпляром, когда один экземпляр приложения работает в кластере в любой момент времени. Этот подход обычно используется для размещения сетевых служб, например кластерного DHCP-сервера.
  • Клонированные приложения с несколькими экземплярами, в которых идентичный код, работающий с идентичными данными на нескольких узлах, создает видимость для сетевых клиентов приложения с одним экземпляром. Этот подход обычно используется для запуска приложений без сохранения состояния, но приложения с отслеживанием состояния также могут быть реализованы таким образом, если подключающимся клиентам предоставляются маркеры, отслеживающие состояние их сеанса.
  • Разделенные приложения с несколькими экземплярами, в которых код приложения и данные разделены для запуска на разных узлах в кластере. Этот подход обычно используется для запуска приложений с отслеживанием состояния, например приложения базы данных SQL, которое можно легко разделить на разные части для разных групп клиентов.

Windows Server 2003, Enterprise Edition, также поддерживает новую функцию, называемую кластеризацией большинства узлов, которая позволяет узлам в кластере быть географически разнесенными друг от друга, но при этом сохранять внутреннюю согласованность и позволяет реализовать отказоустойчивость в распределенном смысле между несколькими сайтами.. Дополнительные сведения об этой функции см. в совете «Географически распределенные кластеры в Windows Server 2003» в базе знаний для администраторов на сайте WindowsNetworking.com.

Второй способ реализации отказоустойчивости для распределенных клиент-серверных приложений заключается в использовании компонента балансировки сетевой нагрузки (NLB) Windows Server 2003. Эту функцию можно использовать для обеспечения поддержки аварийного переключения для приложений и служб, работающих в IP-сетях, например веб-приложений. приложения, работающие в информационных службах Интернета (IIS). Используя NLB, вы можете масштабировать приложение для запуска на 32 отдельных серверах, и хотя основная цель этого подхода — повысить доступность и обеспечить более высокую масштабируемость, NLB также обеспечивает отказоустойчивость для повышения надежности.

Краткое введение в некоторые основные концепции кластеризации в Windows Server 2003 см. в статье Брайена Поузи «Понимание того, как работают кворумы кластера» на сайте WindowsNetworking.com.

Вывод

Различные аппаратные и программные отказоустойчивые технологии, поддерживаемые Windows Server 2003, Enterprise Edition, делают ее мощной платформой для критически важных бизнес-приложений. Разумно выбрав, какую из этих технологий реализовать, вы сможете обеспечить высокую надежность и доступность, не нарушая при этом свой бюджет.