Планирование избыточности (Search Server 2008)
Обновлено: 2008-07-31
Содержание
Сведения об избыточности
Определение требований к избыточности серверов
Планирование минимального уровня избыточности сервера
Выбор базовой топологии фермы серверов
Планирование избыточности сервера запросов
Планирование избыточности сервера базы данных
Оценка рисков сбоя сервера
В этой статье описаны варианты избыточности для масштабирования избыточных ролей серверов в составе фермы Microsoft Search Server 2008. По прочтении этой статьи пользователь сможет определять и документировать варианты избыточности, соответствующие среде.
Перед тем, как прочитать этот раздел, ознакомьтесь со следующей статьей:
Планирование развертывания Search Server 2008 или Search Server 2008 Express
Определение требований к оборудованию и программному обеспечению (Search Server 2008)
Имейте в виду, что Search Server 2008 и Search Server 2008 Express не являются типичными хранилищами содержимого. Вместо этого они в основном используются в качестве северов поиска, для обхода содержимого на фермах Службы Windows SharePoint Services и Microsoft Office SharePoint Server или других источников содержимого, а также отвечают на запросы. В некоторых средах Search Server 2008 и Search Server 2008 Express могут использоваться для хранения содержимого. Если вы планируете использовать Search Server 2008 или Search Server 2008 Express для размещения содержимого, прочитайте статьи в разделе Планирование производительности и мощности (Windows SharePoint Services), чтобы убедиться, что вы понимаете требования к размещению содержимого и запуску Search Server 2008 или Search Server 2008 Express на одной и той же ферме.
Сведения об избыточности
Термин избыточность часто ошибочно считают синонимом доступности. Хотя эти понятия связаны, это не одно и то же. Избыточность относится к использованию нескольких серверов в среде с балансировкой нагрузки для различных целей, например, для повышения производительности фермы, для масштабирования, если требуется добавить дополнительных пользователей, или для повышения уровня доступности.
Доступность является более конкретным понятием, относящимся к среде из нескольких серверов, архитектура которой позволяет принимать подключения и обеспечивает нормальную работу даже в случае отказа одного или нескольких серверов. Поэтому доступность предполагает не только избыточность, но также механизм отработки отказа и некоторые другие возможные характеристики. Однако избыточная система может не отличаться высокой доступностью.
Дополнительные сведения о доступности см. в разделе Планирование доступности (Search Server 2008).
В этой статье описано внедрение избыточных серверов в ферме Search Server 2008.
Определение требований к избыточности серверов
Search Server 2008 поддерживает масштабируемые фермы серверов, что обеспечивает мощность, доступность и производительность. Обычно мощность играет решающую роль при определении исходного количества серверных компьютеров. После учета требований к производительности при определении количества серверов и размера или мощности серверных компьютеров фермы серверов учитывается и доступность.
Прочитав этот раздел целиком, пользователи смогут определить, следует ли при планировании топологии развертывания серверов предусмотреть возможность увеличения мощности, развернув несколько избыточных серверов, или в рамках данной организации достаточно спланировать ограниченное развертывание, без использования избыточных серверов.
Планирование минимального уровня избыточности сервера
Для построения избыточного решения требуется развертывание фермы серверов.
В качестве базового плана можно использовать несколько серверных топологий, каждая из которых включает в себя определенный уровень избыточности серверов. В данном разделе представлено описание каждой из этих ферм серверов.
Примечание: |
---|
Далее в этой статье серверы с установленной ролью индексирования мы называем серверами индексирования, а серверы с установленной ролью запросов — серверами запросов. |
Избыточные топологии
В данном разделе содержатся примеры избыточных топологий.
Ферма из пяти или более серверов
Оптимальная избыточная топология фермы серверов включает отдельный сервер индексирования и состоит из пяти или более серверных компьютеров, в том числе как минимум два сервера баз данных в кластерной конфигурации, а также как минимум два сервера запросов.
При использовании этой топологии можно установить роль сервера индексирования на выделенный сервер приложений. Такая архитектура оптимизирует производительность серверов запросов, позволяя переносить индексирование на средний уровень.
Имейте в виду, что в данной топологии применяется кластерная конфигурация SQL Server, предоставляющая возможность отработки отказа вручную. Дополнительную информацию о настройке кластера SQL Server на автоматическую отработку отказа см. в разделе Техническая документация по отказоустойчивому кластеру SQL Server 2005 (на английском языке) или в разделе Установка отказоустойчивого кластера SQL Server 2008, в зависимости от используемой версии SQL Server.
Ферма из четырех серверов
Минимальная ферма серверов, обеспечивающая доступность, состоит из четырех серверов, назначение которых описано ниже.
Серверы 1 и 2: на обоих компьютерах установлена роль запросов.
Серверы 3 и 4: кластерные или дублируемые серверы баз данных.
Однако при использовании фермы из четырех серверов следует с осторожностью отнестись к выбору сервера для развертывания роли сервера индексирования. Роль запросов нельзя одновременно развернуть на сервере индексирования и другом сервере фермы для достижения избыточности. Дело в том, что, если роль сервера индексирования установлена на том же сервере, что и роль сервера запросов, роль сервера индексирования более не будет распространять индексы содержимого на внешние серверы запросов. Следовательно, если роль сервера индексирования установлена на одном из веб-серверов, роль сервера запросов нельзя будет установить на оба веб-сервера. Роль сервера индексирования следует устанавливать на сервер баз данных, чтобы обеспечить избыточность роли сервера запросов на веб-серверах. При этом производительность сервера баз данных может снизиться, особенно при обходе содержимого. .
Ферма из трех серверов
Для развертывания небольшого числа серверов с обеспечением избыточности существует альтернативный вариант. В ферме из трех серверов необходимо выбрать роли серверов для организации избыточности: это может быть роль веб-сервера или роль сервера баз данных.
Добавление третьего сервера на уровне веб-серверов позволяет достичь избыточности роли веб-серверов. Роли запросов и индексирования можно установить на одном веб-сервере (см. вариант A) или на разных веб-серверах (см. вариант B).
В такой топологии невозможно развернуть роль запроса на обоих веб-серверах с целью обеспечения избыточности. Дело в том, что если установить роль сервера запросов на сервере индексирования, он не сможет распространить индекс на другие серверы запросов. Однако можно установить роль индекса на сервере базы данных, что позволит развернуть роль запросов на обоих веб-серверах. При этом производительность сервера баз данных может снизиться.
Несмотря на ограниченную доступность, выделение двух серверов для роли веб-сервера улучшает общую производительность небольшой фермы серверов. Этот вариант топологии лучше всего подходит для систем, в которых производительность важнее избыточного хранения данных.
Неизбыточные топологии
Неизбыточные топологии могут содержать более одного сервера, но не являться при этом избыточными, так как для каждой серверной роли используется только один сервер. Например, ферма, которая содержит один сервер запросов, один сервер индексирования, и один сервер базы данных, не является избыточной.
Если дополнительная мощность и производительность при развертывании серверов не является важным критерием, то в серверной топологии может изначально присутствовать один или два сервера. Для целей ограниченного использования допускается развертывание одного сервера Search Server 2008 или развертывание Microsoft Search Server 2008 Express, который предназначен для работы только с одним сервером приложений.
На следующей схеме показаны примеры неизбыточных топологий.
Выбор базовой топологии фермы серверов
Каждая из топологий фермы серверов, описанная в этой статье, представляет собой отправной пункт для планирования развертывания. Отправная точка, наилучшим образом подходящая для организации, зависит от ролей серверов, избыточность которых необходимо обеспечить.
В последующих разделах этой статьи описаны варианты избыточности для каждой роли сервера. По прочтении этой статьи пользователь сможет выбрать базовую топологию, способную обеспечить уровень избыточности, необходимый в организации. Такая топология будет использоваться в качестве базовой при планировании мощности и производительности.
Планирование избыточности сервера запросов
Этот раздел поможет выполнить следующие задачи.
Определить необходимость в избыточности на уровне веб-серверов в организации.
Выбрать технологию балансировки нагрузки между серверами запросов.
Роль сервера запросов может быть развернута на нескольких серверах. Код развертывания для каждого сервера идентичен, и на серверах запросов не сохраняются какие-либо данные; другими словами все экземпляры таких ролей одинаковы. При сбое в работе одного из серверных компьютеров потери сохраненных данных не происходит. Серверы запросов автоматически балансируют нагрузку по запросам к этим серверным ролям между доступными компьютерами серверов.
Роль сервера запросов может быть развернута на любом количестве веб-серверов. Но есть одно ограничение. Если роль сервера запросов развернута на тех же серверах, которые выполняют роль индексирования, то роль сервера запросов не должна быть развернута ни на каких других компьютерах. Это происходит потому, что роль индексирования распознает, что роль севера запросов расположена на том же самом сервере. Следовательно, она не пытается распространять индекс.
Роль сервера индексирования приложений не может быть избыточной в Search Server 2008. В Search Server 2008 роль индексирования связана с поставщиком общих служб (SSP). Данная роль создает по одному индексу на каждого поставщика SSP. Нельзя развернуть несколько серверов индексирования для увеличения мощности решения. Сервер индексирования связан только с одним поставщиком SSP и для Search Server 2008 возможен только один поставщик SSP.
Следующим шагом будет планирование используемой технологии балансировки нагрузки. Службы Search Server 2008 поддерживают два метода балансировки нагрузки, перечисленные ниже.
Программный, например службы балансировки сетевой нагрузки операционной системы Windows Server 2003. Службы балансировки сетевой нагрузки выполняются на серверах запросов и используют протокол TCP/IP для маршрутизации запросов. Так как службы балансировки сетевой нагрузки (и другие программные решения балансировки нагрузки) выполняются на серверах запросов, то используются ресурсы этих серверов, что сокращает ресурсы, доступные для хранения запросов. Однако влияние на системные ресурсы оказывается незначительное, и одно программное решение может может обслуживать до 32 серверов запросов.
Аппаратный, например маршрутизатор или коммутатор. Оборудование для балансировки нагрузки направляет по сети трафик запросов между серверами запросов. Оборудование для балансировки нагрузки является более дорогим решением, чем программные средства, однако в этом случае не используются ресурсы серверов запросов. Search Server 2008 можно использовать с любым оборудованием для балансировки нагрузки.
Существует третий, хотя и не рекомендуемый, метод балансировки нагрузки — циклическая балансировка нагрузки со службой доменных имен (DNS). Циклическая балансировка нагрузки с DNS способна потреблять значительное количество ресурсов серверов запросов, она работает медленнее, чем аппаратная и программная балансировка нагрузки, и ее не рекомендуется использовать со службами Search Server 2008. Кроме того, циклическая балансировка нагрузки с DNS не учитывает нагрузку сеанса при направлении пользователя на сервер, что может привести к перегрузке сервера.
В статье Настройка параметров балансировки сетевой нагрузки в Windows Server 2003 (https://go.microsoft.com/fwlink/?linkid=124067&clcid=0x419) приведены инструкции по настройке балансировки сетевой нагрузки. Если для балансировки нагрузки вы решили использовать другую технологию, учитывайте эти инструкции в процессе планирования и развертывания.
Планирование избыточности сервера баз данных
Этот раздел поможет определить необходимость в избыточности для роли сервера баз данных при построении решения. Последующие разделы по планированию помогут принять решение о наиболее подходящей технологии обеспечения избыточности баз данных в среде. Дополнительные сведения см. в разделе Планирование и разработка управления базами данных и их хранения.
Роль сервера базы данных оказывает наибольшее влияние на доступность решения. В случае сбоя в работе сервера запросов или сервера индексирования эти роли могут быть быстро восстановлены или развернуты повторно, а при отказе сервера базы данных работа решения может быть продолжена только после полного восстановления сервера базы данных. Этот процесс может включать в себя повторное создание сервера базы данных и последующее восстановление данных с помощью носителя резервной копии. При этом новые или измененные данные, которые были обновлены с момента последнего создания резервной копии, могут быть потеряны в зависимости от настройки SQL Server 2005. Кроме того, решение будет совершенно недоступно на период восстановления роли сервера базы данных.
Оценка рисков сбоя сервера
В следующем разделе перечислены предполагаемые последствия сбоя в работе сервера запросов или сервера индексирования, если роль сервера запросов развернута только на одном сервере и произошел сбой сервера. Каковы возможные последствия? Их понимание в такой ситуации поможет лучше провести распределение серверов в ферме. В следующей таблице представлены роли серверов приложений и описаны последствия простоя для каждого из них.
Роль сервера | Последствия простоя серверов |
---|---|
Сервер запросов |
Пользователи не могут создавать полнотекстовые запросы, но могут заходить на веб-сайты и получать доступ к размещенному на них содержимому. Если задача приложения — поддерживать поиск содержимого для пользователей или клиентов, запланируйте развертывание роли сервера запросов на нескольких серверах. В ферме из пяти серверов этого легко добиться, развернув роль запроса на двух компьютерах веб-сервера. |
Сервер индексирования |
Серверы запросов будут продолжать использовать существующие индексы содержания до тех пор, пока не будет восстановлена служба индексирования и не будут созданы новые или обновленные индексы. Таким образом, новое или измененное содержимое будет отсутствовать в результатах поиска, если роль индексирования недоступна. |
Сервер баз данных |
Ферма станет недоступной для пользователей. При попытке просмотреть страницы фермы будут выдаваться сообщения об ошибках. Если возможность поиска содержимого пользователями и клиентами критична для вашего приложения, необходимо запланировать развертывание кластера серверов баз данных. |
В общем случае рекомендуется запланировать установку роли сервера запросов по крайней мере на двух серверах, если требование доступности для роли сервера запросов составляет более 99 процентов.
Если в организации допускается временная потеря доступа к данным функциям на период времени, который требуется ИТ-сотрудникам для развертывания роли сервера приложений на другом сервере или восстановления службы на существующем сервере, то роль может быть развернута на одном сервере приложений.
См. также
Планирование доступности (Search Server 2008)
Другие ресурсы
Планирование и разработка управления базами данных и их хранения
Настройка параметров балансировки сетевой нагрузки в Windows Server 2003
Техническая документация по отказоустойчивому кластеру SQL Server 2005
Установка отказоустойчивого кластера SQL Server 2008