Бөлісу құралы:


Развертывание кластера 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
    

    Для RHEL 10 используйте следующую команду:

    sudo subscription-manager repos --list
    

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

  3. Выполните следующую команду, чтобы связать высокий уровень доступности RHEL с подпиской. В этом примере <PoolId> — это идентификатор пула для подписки с высоким уровнем доступности на предыдущем шаге.

    sudo subscription-manager attach --pool=<PoolID>
    
  4. Включите репозиторий для использования дополнения высокой доступности.

    RHEL 7

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    

    RHEL 8

    sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
    

    RHEL 9

    sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
    

    RHEL 10

    sudo subscription-manager repos --enable=rhel-10-for-x86_64-highavailability-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. Авторизация узлов. В этих примерах <NodeX> имя каждого узла.

    RHEL 7

    Замените <password> паролем для hacluster.

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

    RHEL 8 и более поздних версий

    Вручную введите имя пользователя и пароль для hacluster, когда появится запрос.

    sudo pcs host auth <Node1> <Node2> <Node3>
    
  2. Создание кластера. В этом примере PMClusterName — это имя, которое вы назначаете кластеру Pacemaker.

    RHEL 7

    sudo pcs cluster setup --name <PMClusterName> <Node1> <Node2> <Node3>
    

    RHEL 8 и более поздних версий

    sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>
    
  3. Запустите кластер на всех узлах.

    sudo pcs cluster start --all
    
  4. Разрешите кластеру запускаться при включении компьютера.

    sudo pcs cluster enable --all
    
  5. Проверьте состояние кластера.

    sudo pcs status
    

Установка высокого уровня доступности 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
sudo systemctl restart mssql-server

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

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

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

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