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, así como 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.

Requisito previo

Instalar SQL Server 2017.

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.

  1. Registre el servidor con la siguiente sintaxis. Se le pedirá un nombre de usuario y una contraseña válidos.

    sudo subscription-manager register
    
  2. Enumere los grupos disponibles para el registro.

    sudo subscription-manager list --available
    
  3. 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.

  4. Habilite el repositorio para poder usar el complemento de alta disponibilidad.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    
  5. 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.

  1. 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
    
  2. 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
    
  3. 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.

  4. 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.

  1. Autorice los nodos

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

    donde NodeX es el nombre del nodo.

  2. 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 y Nodelist 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 se han configurado, 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

Pasos siguientes

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: