GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation d'Ansible pour déployer Microsoft SQL Server 2019 sur Red Hat Enterprise Linux 8

Des collègues et des clients m'ont demandé à plusieurs reprises quel était le moyen le plus simple de tester/jouer avec Microsoft SQL Server 2019 sous Linux. Alors j'ai pensé :« Je dois trouver un moyen de leur montrer cela parce que je suis sûr qu'ils ne sont pas les seuls à poser cette question. Dans mon esprit, la réponse est, bien sûr, d'utiliser Ansible. Mais par où commencer ?

Un beau week-end en regardant un match de rugby entre les puissants All Blacks et les Wallabies, je me suis assis devant mon ordinateur et j'ai commencé à chercher des playbooks/rôles existants disponibles. J'ai trouvé quelques playbooks, mais je n'étais pas satisfait. Quelqu'un de nouveau à la fois sur Ansible et Linux aurait encore besoin d'un peu de conseils. Ma mission est donc maintenant de m'assurer que l'on peut simplement cloner un référentiel et exécuter un playbook pour que le serveur Microsoft SQL Server 2019 (MSSQL) s'exécute sur Red Hat Enterprise Linux 8 (RHEL 8).

Par conséquent, cet article a été écrit pour fournir le moyen le plus simple de déployer SQL Server 2019 (MSSQL) sur Linux (RHEL 8).

Mais avant de nous lancer dans l'installation, une question très importante à laquelle nous devons également répondre est :"Pourquoi déployer MSSQL sur Linux ?" Permettez-moi de partager certaines de mes réflexions.

Il faut envisager d'installer MSSQL sur Linux en raison de la flexibilité, de la sécurité, des performances et de l'innovation supplémentaires dont il hérite en s'exécutant simplement sur un serveur Linux.

[ Vous pourriez également aimer : Premiers pas avec Ansible ]

Par exemple, le simple fait d'activer l'indicateur de trace SQL Server 3979, qui n'est pris en charge qu'avec XFS sur RHEL 8, peut réduire les conflits d'E/S à 50 % pour le stockage de classe entreprise. Il existe également une prise en charge améliorée de la planification multi-files d'attente, une amélioration de la pile TCP qui profite à la réplication et prend en charge la mémoire persistante en mode éclairé, offrant des performances SQL Server Enterprise Edition à un prix SQL Server Standard Edition. Bref, c'est beaucoup plus rapide.

Des liens supplémentaires qui parlent d'améliorations des performances sont ici :

  • Optimisation des performances avec Microsoft SQL Server 2019 sur RHEL 8
  • Cisco domine le serveur Microsoft SQL… encore une fois
  • HPE ProLiant DL325 Gen10 Plus remporte les records mondiaux 1P sur la référence TPC-H à 3 000 Go (sans cluster)

En plus de cela, Microsoft fournit les six principales raisons pour lesquelles les entreprises devraient migrer MSSQL Server vers Linux.

Si vous êtes curieux et que vous souhaitez essayer MSSQL 2019 sur RHEL 8, commençons l'installation.

Prérequis

Avant de commencer l'installation, assurons-nous que vous respectez les prérequis suivants :

  1. Installation de RHEL 8
  2. Le système d'exploitation est mis à jour vers la dernière version
  3. Abonnement valide pour RHEL 8
  4. La dernière version d'Ansible est installée
  5. Git est installé sur vos systèmes
  6. Accès Internet

Installation du serveur MSSQL 2019

Avant de plonger directement dedans, passons en revue le playbook et les variables que vous exécuterez pour installer et configurer votre serveur 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 database 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: P@ssWORD!

Maintenant, déployons

1. Clonez le dépôt ici :

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

2. Changez de répertoire pour mssql2019-roles-RHEL8 :

$ cd mssql2019-roles-RHEL8

3. Exécutez le playbook pour installer et configurer MSSQL 2019, puis créez une nouvelle base de données appelée testDB :

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

En cas de succès, vous devriez vous attendre à un résultat similaire à celui ci-dessous :

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

4. Vérifiez l'installation :

$  systemctl status mssql-server

● mssql-server.service - Microsoft SQL Server Database 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. Connectez-vous à MSSQL et vérifiez la version :

$sqlcmd -S localhost -U SA -P 'P@ssWORD!'

Exécutez ensuite la vérification de version :

> 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)

Ensuite, vous pouvez également vérifier si la base de données a été créée :

1> EXEC sp_databases
2> GO

À ce stade, vous aurez un déploiement réussi de MSSQL 2019 Server sur RHEL 8.

8. Pour nettoyer, exécutez ce playbook :

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

Et vous avez terminé.

[ Vous souhaitez en savoir plus sur l'automatisation du système ? Démarrez avec The Automated Enterprise, un livre gratuit de Red Hat. ] 

Récapitulez

Mon objectif était de fournir un moyen simple et direct d'aider les utilisateurs Linux à démarrer avec Microsoft SQL Server 2019. La gestion du déploiement via Ansible et RHEL 8 était une approche naturelle pour moi, et celle qui, je pense, a bien fonctionné. Microsoft SQL Server 2019 est un outil important, et vous êtes maintenant prêt à commencer à l'explorer.

Références :

  • Démarrage rapide :installer SQL Server et créer une base de données sur Red Hat
  • Quoi, pas de Python dans la version bêta de RHEL 8 ?
  • Mes ressources GitHub pour cet article

Linux
  1. Créer un référentiel YUM/DNF basé sur FTP sur Red Hat Enterprise Linux 8

  2. Optimisation d'une image ISO d'installation de Red Hat Enterprise Linux

  3. Kali Linux sur Android avec Linux Deploy

  4. Qu'est-ce que Red Hat Linux ?

  5. Comment installer Microsoft SQL Server pour Linux (Fedora) ?

Téléchargement Red Hat Linux

RHEL 6 – Guide d'installation étape par étape de Red Hat Enterprise Linux Server

Étapes d'installation de Red Hat Enterprise Linux (RHEL) 8 avec captures d'écran

Installer Red Hat Enterprise Linux Server à partir d'une image ISO

Comment installer Red Hat Enterprise Linux 8 (RHEL 8)

Comment supprimer une interface graphique inutile d'un serveur Red Hat Enterprise Linux