Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server в Linux
В этом руководстве описываются задачи, необходимые для развертывания кластера Linux Pacemaker для группы доступности SQL Server AlwaysOn (AG) или экземпляра отказоустойчивого кластера (FCI). В отличие от тесно связанного стека Windows Server /SQL Server, можно создать кластер Pacemaker и настроить группу доступности (AG) в Linux до или после установки SQL Server. После настройки кластера вы настраиваете интеграцию и ресурсы для компонента Pacemaker развертывания Группы доступности (AG) или Кластера серверов экземпляров (FCI).
Important
Группа доступности с типом кластера "None" не требует использования кластера Pacemaker и не может управляться системой Pacemaker.
- Установите надстройку высокой доступности и Pacemaker.
- подготовка узлов для Pacemaker (только в RHEL и Ubuntu);
- создание кластера Pacemaker;
- Установите пакеты высокой доступности (HA) и агента SQL Server.
Note
Начиная с SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) не поддерживается.
Prerequisites
Установите SQL Server на Linux.
Установите надстройку высокого уровня доступности.
Используйте приведенный ниже синтаксис, чтобы установить пакеты, составляющие надстройку высокого уровня доступности, для каждого дистрибутива Linux.
Каждый узел кластера должен иметь соответствующую подписку на RHEL и Дополнение высокой доступности. Чтобы ознакомиться с требованиями, смотрите раздел «Как установить пакеты кластеров высокой доступности в Red Hat Enterprise Linux». Выполните следующие действия, чтобы настроить подписку и репозитории.
Зарегистрируйте систему.
sudo subscription-manager registerВведите имя пользователя и пароль.
Перечислите доступные пулы для регистрации.
sudo subscription-manager list --availableNote
Для RHEL 10 используйте следующую команду:
sudo subscription-manager repos --listВ списке доступных пулов запишите идентификатор пула для подписки с высокой доступностью.
Измените приведенный ниже скрипт. Замените
<pool id>идентификатором пула для высокой доступности из предыдущего шага. Запустите скрипт, чтобы подключить подписку.sudo subscription-manager attach --pool=<pool id>Включите репозиторий.
RHEL 8
sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpmsRHEL 9
sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpmsRHEL 10
sudo subscription-manager repos --enable=rhel-10-for-x86_64-highavailability-rpms
Установите Pacemaker.
sudo yum install pacemaker pcs fence-agents-all resource-agents
Подготовка узлов для Pacemaker (только в RHEL и Ubuntu)
Pacemaker использует пользователя с именем hacluster, которое вы создаете в дистрибутиве. В RHEL и Ubuntu установка надстройки высокого уровня доступности создает этого пользователя.
На каждом сервере, который будет служить узлом в кластере Pacemaker, создайте пароль для пользователя, который использует кластер. В примерах используется имя
hacluster, но можно использовать любое имя. Все узлы в кластере Pacemaker должны использовать одинаковое имя и пароль.sudo passwd haclusterНа каждом узле, который будет частью кластера Pacemaker, включите и запустите
pcsdслужбу с помощью следующих команд (RHEL и Ubuntu).sudo systemctl enable pcsd sudo systemctl start pcsdЗатем выполните следующую команду, чтобы убедиться, что
pcsdзапускается.sudo systemctl status pcsdВключите службу Pacemaker на каждом возможном узле в кластере Pacemaker.
sudo systemctl start pacemakerВ Ubuntu отображается следующая ошибка.
pacemaker Default-Start contains no runlevels, aborting.Эта ошибка является известной проблемой. Несмотря на ошибку, включение службы Pacemaker успешно выполнено. Эта ошибка будет исправлена в будущем обновлении.
Далее создайте и запустите кластер Pacemaker. На этом шаге существует одна разница между RHEL и Ubuntu. На обоих дистрибутивах установка
pcsнастраивает файл конфигурации по умолчанию для кластера Pacemaker, но при выполнении этой команды на RHEL удаляется любая существующая конфигурация и создается новый кластер.
Создание кластера Pacemaker
В этом разделе описывается создание и настройка кластера для каждого дистрибутива Linux.
Авторизация узлов. В этих примерах
<NodeX>имя каждого узла. Вручную введите имя пользователя и пароль дляhacluster, когда появится запрос.sudo pcs host auth <Node1> <Node2> <Node3>Создание кластера. В этом примере
PMClusterName— это имя, которое вы назначаете кластеру Pacemaker.sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>Запустите кластер на всех узлах.
sudo pcs cluster start --allРазрешите кластеру запускаться при включении компьютера.
sudo pcs cluster enable --allПроверьте состояние кластера.
sudo pcs status
Установите SQL Server HA
Используйте следующие команды, чтобы установить пакет высокого уровня доступности 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 см. в статье: