Implementación de un clúster de Pacemaker para SQL Server en Linux
Se aplica a: SQL Server - Linux
En este tutorial se documentan las tareas necesarias para implementar un clúster de Pacemaker de Linux para un grupo de disponibilidad Always On (AG) de SQL Server o una instancia de clúster de conmutación por error (FCI). A diferencia de la pila ligada estrechamente de Windows Server/SQL Server, la creación de clústeres de Pacemaker y la configuración de grupos de disponibilidad (AG) en Linux, se pueden realizar antes o después de la instalación de SQL Server. La integración y configuración de los recursos para la parte de Pacemaker de una implementación de AG o FCI se realiza una vez configurado el clúster.
Importante
Un AG con un tipo de clúster de Ninguno no requiere un clúster de Pacemaker, ni se puede administrar mediante Pacemaker.
- Instalar el complemento de alta disponibilidad e instalar Pacemaker.
- Preparar los nodos para Pacemaker (solo RHEL y Ubuntu).
- Implementar un clúster de Pacemaker.
- Instalar los paquetes de SQL Server HA y Agente SQL Server.
Requisitos previos
Instalación de SQL Server en Linux.
Instale el complemento de alta disponibilidad
Use la siguiente sintaxis para instalar los paquetes que componen el complemento de alta disponibilidad (HA) para cada distribución de Linux.
Registre el servidor con la siguiente sintaxis. Se le pedirá un nombre de usuario y una contraseña válidos.
sudo subscription-manager register
Enumere los grupos disponibles para el registro.
sudo subscription-manager list --available
Ejecute el siguiente comando para asociar la alta disponibilidad de RHEL con la suscripción
sudo subscription-manager attach --pool=<PoolID>
donde PoolId es el identificador de grupo para la suscripción de alta disponibilidad del paso anterior.
Habilite el repositorio para poder usar el complemento de alta disponibilidad.
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
Instale Pacemaker.
sudo yum install pacemaker pcs fence-agents-all resource-agents
Preparar los nodos para Pacemaker (solo RHEL y Ubuntu)
Pacemaker utiliza un usuario creado en la distribución denominada hacluster. El usuario se crea cuando se instala el complemento de alta disponibilidad en RHEL y Ubuntu.
En cada servidor que sirva como nodo del clúster de Pacemaker, cree la contraseña para un usuario que vaya a usar el clúster. El nombre que se usa en los ejemplos es hacluster, pero se puede usar cualquier nombre. El nombre y la contraseña deben ser los mismos en todos los nodos que participan en el clúster de Pacemaker.
sudo passwd hacluster
En cada nodo que va a formar parte del clúster de Pacemaker, habilite e inicie el servicio
pcsd
con los siguientes comandos (RHEL y Ubuntu):sudo systemctl enable pcsd sudo systemctl start pcsd
A continuación, ejecute el siguiente comando para asegurarse de que
pcsd
se inicia.sudo systemctl status pcsd
Habilite el servicio Pacemaker en cada nodo posible del clúster de Pacemaker.
sudo systemctl start pacemaker
En Ubuntu, verá un error:
pacemaker Default-Start contains no runlevels, aborting.
Este error es un problema conocido. A pesar del error, la habilitación del servicio Pacemaker se realiza correctamente y este error se solucionará en algún momento en el futuro.
A continuación, cree e inicie el clúster de Pacemaker. Hay una diferencia entre RHEL y Ubuntu en este paso. En ambas distribuciones, la instalación de
pcs
configura un archivo de configuración predeterminado para el clúster de Pacemaker; en RHEL, al ejecutar este comando, se destruye cualquier configuración existente y se crea un nuevo clúster.
Implementar un clúster de Pacemaker
En esta sección se documenta cómo crear y configurar el clúster para cada distribución de Linux.
Autorice los nodos
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
donde NodeX es el nombre del nodo.
Creación del clúster
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
donde
PMClusterName
es el nombre asignado al clúster de Pacemaker yNodelist
es la lista de nombres de los nodos separados por un espacio.
Instalación de los paquetes de SQL Server HA y Agente SQL Server
Use los siguientes comandos para instalar el paquete de SQL Server HA y el Agente SQL Server, si aún no están instalados. La instalación del paquete HA después de la instalación de SQL Server requiere reiniciar SQL Server para que pueda utilizarse. En estas instrucciones se da por supuesto que los repositorios de los paquetes de Microsoft ya están configurados, ya que debe instalarse SQL Server en este momento.
Si no va a usar el Agente SQL Server para el trasvase de registros o cualquier otro uso, no es necesario instalarlo, por lo que se puede omitir el paquete mssql-server-agent.
Los otros paquetes opcionales para SQL Server en Linux, la búsqueda de texto completo de SQL Server (mssql-server-fts) y SQL Server Integration Services (mssql-server-is) no se requieren para la alta disponibilidad, ya sea para una FCI o un AG.
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server
Paso siguiente
En este tutorial, ha aprendido a implementar un clúster de Pacemaker para SQL Server en Linux. Ha aprendido a:
- Instalar el complemento de alta disponibilidad e instalar Pacemaker.
- Preparar los nodos para Pacemaker (solo RHEL y Ubuntu).
- Implementar un clúster de Pacemaker.
- Instalar los paquetes de SQL Server HA y Agente SQL Server.
Para crear y configurar un grupo de disponibilidad para SQL Server en Linux, consulte: