Поделиться через


Развертывание кластера Pacemaker для SQL Server на Linux

Применимо к:SQL Server в Linux

В этом руководстве описываются задачи, необходимые для развертывания кластера Linux Pacemaker для группы доступности SQL Server AlwaysOn (AG) или экземпляра отказоустойчивого кластера (FCI). В отличие от тесно связанного стека Windows Server или SQL Server, вы можете создать кластер Pacemaker и настроить группу доступности в Linux до или после установки SQL Server. После настройки кластера вы настраиваете интеграцию и ресурсы для компонента Pacemaker развертывания Группы доступности (AG) или Кластера серверов экземпляров (FCI).

Внимание

Группа доступности с типом кластера "None" не требует использования кластера Pacemaker и не может управляться системой Pacemaker.

  • Установите надстройку высокой доступности и Pacemaker.
  • подготовка узлов для Pacemaker (только в RHEL и Ubuntu);
  • создание кластера Pacemaker;
  • Установите пакеты высокой доступности (HA) и агента SQL Server.

Примечание.

Начиная с SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) не поддерживается.

Предварительные условия

Установите SQL Server на Linux.

Установите надстройку высокого уровня доступности.

Используйте приведенный ниже синтаксис, чтобы установить пакеты, составляющие надстройку высокого уровня доступности, для каждого дистрибутива Linux.

  1. Зарегистрируйте сервер, используя приведенный ниже синтаксис. Вам будет предложено указать допустимое имя пользователя и пароль.

    sudo subscription-manager register
    
  2. Перечислите доступные пулы для регистрации.

    sudo subscription-manager list --available
    
  3. Выполните следующую команду, чтобы связать высокий уровень доступности RHEL с подпиской.

    sudo subscription-manager attach --pool=<PoolID>
    

    В этом примере PoolId — это идентификатор пула для подписки с высоким уровнем доступности на предыдущем шаге.

  4. Включите репозиторий для использования дополнения высокой доступности.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    
  5. Установите Pacemaker.

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    

Подготовка узлов для Pacemaker (только в RHEL и Ubuntu)

Pacemaker использует пользователя с именем hacluster, которое вы создаете в дистрибутиве. В RHEL и Ubuntu установка надстройки высокого уровня доступности создает этого пользователя.

  1. На каждом сервере, который будет служить узлом в кластере Pacemaker, создайте пароль для пользователя, который использует кластер. В примерах используется имя hacluster, но можно использовать любое имя. Все узлы в кластере Pacemaker должны использовать одинаковое имя и пароль.

    sudo passwd hacluster
    
  2. В каждом узле, который будет входить в кластер Pacemaker, включите и запустите службу pcsd с помощью следующих команд (в RHEL и Ubuntu):

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    Затем выполните следующую команду, чтобы убедиться, что pcsd запускается.

    sudo systemctl status pcsd
    
  3. Включите службу Pacemaker на каждом возможном узле в кластере Pacemaker.

    sudo systemctl start pacemaker
    

    В Ubuntu вы видите ошибку:

    pacemaker Default-Start contains no runlevels, aborting.
    

    Это известная проблема. Несмотря на ошибку, включение службы Pacemaker успешно выполнено. Эта ошибка будет исправлена в будущем обновлении.

  4. Далее создайте и запустите кластер Pacemaker. На этом шаге существует одна разница между RHEL и Ubuntu. На обоих дистрибутивах установка pcs настраивает файл конфигурации по умолчанию для кластера Pacemaker, но при выполнении этой команды на RHEL удаляется любая существующая конфигурация и создается новый кластер.

Создание кластера Pacemaker

В этом разделе описывается создание и настройка кластера для каждого дистрибутива Linux.

  1. Авторизовать узлы:

    sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
    

    В этом примере NodeX — это имя узла.

  2. Создайте кластер:

    sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
    

    В этом примере это имя, которое вы назначаете кластеру Pacemaker, а PMClusterName также список имен узлов, Nodelist разделенных пробелом.

Установка пакетов высокого уровня доступности и агента SQL Server

Используйте следующие команды, чтобы установить пакет высокого уровня доступности SQL Server и агент SQL Server, если они еще не установлены. При установке пакета высокого уровня доступности после установки SQL Server необходимо перезапустить SQL Server, чтобы изменения вступили в силу. В этих инструкциях предполагается, что репозитории для пакетов Майкрософт уже настроены, так как SQL Server должен быть установлен на этом этапе.

  • Если вы не используете агент SQL Server для доставки журналов или другого использования, вам не нужно запускать или настраивать его.

  • Другие необязательные пакеты для SQL Server на Linux, SQL Server Full-Text Search (mssql-server-fts) и SQL Server Integration Services (mssql-server-is), не требуются для обеспечения высокой доступности как в случае кластеризации FCI, так и при использовании AG.

sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server

Следующий шаг

В этом руководстве вы узнали, как развернуть кластер Pacemaker для SQL Server на Linux. Вы научились выполнять следующие задачи:

  • Установите надстройку высокой доступности и Pacemaker.
  • подготовка узлов для Pacemaker (только в RHEL и Ubuntu);
  • создание кластера Pacemaker;
  • Установите пакеты высокой доступности (HA) и агента SQL Server.

Чтобы создать и настроить группу доступности для SQL Server на Linux, обратитесь к следующему руководству: