Uso de Ansible para implementar Microsoft SQL Server 2019 en Red Hat Enterprise Linux 8

Colegas y clientes me han preguntado repetidamente cuál es la forma más fácil de probar/jugar con Microsoft SQL Server 2019 en Linux. Así que pensé: “Tengo que encontrar una manera de mostrarles esto porque estoy seguro de que no son los únicos que hacen esta pregunta. En mi opinión, la respuesta es, por supuesto, usar Ansible. Pero, ¿por dónde empezar?

Un hermoso fin de semana viendo un partido de rugby entre los poderosos All Blacks y los Wallabies, me senté frente a mi ordenador y comencé a buscar libros de jugadas/roles disponibles. Encontré algunos libros de jugadas, pero no estaba satisfecho. Alguien nuevo tanto en Ansible como en Linux aún necesitaría algunos consejos. Entonces, mi misión ahora es asegurarme de que podamos simplemente clonar un repositorio y ejecutar un libro de jugadas para que el servidor Microsoft SQL Server 2019 (MSSQL) se ejecute en Red Hat Enterprise Linux 8 (RHEL 8).

Por lo tanto, este artículo se escribió para proporcionar la forma más fácil de implementar SQL Server 2019 (MSSQL) en Linux (RHEL 8).

Pero antes de pasar a la instalación, una pregunta muy importante que también debemos responder es "¿Por qué implementar MSSQL en Linux?" Permítanme compartir algunos de mis pensamientos.

Se debe considerar la instalación de MSSQL en Linux debido a la mayor flexibilidad, seguridad, rendimiento e innovación que hereda al ejecutarse simplemente en un servidor Linux.

Por ejemplo, simplemente habilitar el indicador de seguimiento 3979 de SQL Server, que solo es compatible con XFS en RHEL 8, puede reducir la contención de E/S al 50 % para el almacenamiento de clase empresarial. También se ha mejorado la compatibilidad con la programación de varias colas, la pila TCP mejorada que beneficia la replicación y admite la memoria persistente en modo iluminado, lo que ofrece el rendimiento de SQL Server Enterprise Edition a un precio.SQL Server Standard Edition. En resumen, es mucho más rápido.

Los enlaces adicionales que hablan sobre las mejoras de rendimiento están aquí:

Además de esto, Microsoft proporciona la mejor seis razones por las que las empresas debería mover MSSQL Server a Linux.

Si tiene curiosidad y desea probar MSSQL 2019 en RHEL 8, comencemos la instalación.

Índice

condiciones previas

Antes de comenzar la instalación, asegurémonos de cumplir con los siguientes requisitos previos:

  1. RHEL 8 instalado
  2. El sistema operativo está actualizado a la última versión.
  3. Suscripción válida para RHEL 8
  4. La última versión de Ansible está instalada
  5. Git está instalado en sus sistemas
  6. Acceso a Internet

Instalación del servidor MSSQL 2019

Antes de profundizar en él, echemos un vistazo al libro de jugadas y las variables que ejecutará para instalar y configurar su servidor MSSQL 2019.

Playbook:
 - hosts: localhost    ⇨ Define your target hosts
    become: yes         ⇨ We need root access to deploy MSSQL Server
    roles:
      - pre-reqs        ⇨ The roles that takes care of the prereqs
      - ansible-role-mssql ⇨ The role that install/configure MSSQL Server
    tasks:
    - name: Wait up to 60 seconds for server to become available after creation
      wait_for:
        port: 1433
        timeout: 60
    - name: Create new db
      Include_role:      ⇨ Additional role to create the DB
      name: ansible-role-mssql
      tasks_from: new_db
Variables:
# These are required for Base de datos installation
end_user_license_aggreement_consent_server: Y # Must be Y or N
end_user_license_aggreement_consent_cli: "YES" # Must be YES or NO in all caps within quotes
edition: evaluation

# For use when creating, importing, or deleting databases
db_name: testDB
db_host: 127.0.0.1
db_port: 1433
db_user: sa
db_password: [email protected]!

Ahora vamos a implementar

1. Clonar el repositorio aquí:

$ git clone https://github.com/mikecali/mssql2019-roles-RHEL8

2. Cambiar directorio a mssql2019-roles-RHEL8:

$ cd mssql2019-roles-RHEL8

3. Ejecute el libro de jugadas para instalar y configurar MSSQL 2019, luego cree una nueva base de datos llamada pruebaDB:

$ ansible-playbook site.yaml -e @vars.yaml -vvv

Si tiene éxito, debe esperar un resultado similar al siguiente:

PLAY RECAP ***********************************************************************************************************************************************************************************************************************************
localhost                  : ok=18   changed=15    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0  

4. Verifique la instalación:

$  systemctl status mssql-server

● mssql-server.service - Microsoft SQL Server Base de datos Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-10-18 14:58:10 EDT; 6min ago

5. Inicie sesión en MSSQL y verifique la versión:

$sqlcmd -S localhost -U SA -P '[email protected]!'

Luego ejecute la verificación de versión:

> SELECT @@version
           2> GO
      ----------------------------------------------------------------
      Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64)
    Sep 23 2020 16:03:08
    Copyright (C) 2019 Microsoft Corporation
    Enterprise Evaluation Edition (64-bit) on Linux (Red Hat Enterprise Linux 8.2 (Ootpa)) <X64>                                                                        
      (1 rows affected)

Luego también puede verificar si la base de datos ha sido creada:

1> EXEC sp_databases
2> GO

En este punto, tendrá una implementación exitosa de MSSQL 2019 Server en RHEL 8.

8. Para limpiar, ejecute este libro de jugadas:

$ ansible-playbook site-del.yaml -e @vars.yaml -vvv

Y ya está.

Conclusión

Mi objetivo era proporcionar una manera simple y directa de ayudar a los usuarios de Linux a usar Microsoft SQL Server 2019. Administrar la implementación a través de Ansible y RHEL 8 fue un enfoque natural para mí, y creo que funcionó bien. Microsoft SQL Server 2019 es una herramienta importante y ahora está listo para comenzar a explorarla.

Las referencias:

Artículos de interés

Subir