GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwendung von Ansible zur Bereitstellung von Microsoft SQL Server 2019 auf Red Hat Enterprise Linux 8

Ich wurde mehrfach von Kollegen und Kunden gleichermaßen gefragt, wie man am einfachsten Microsoft SQL Server 2019 unter Linux testen/spielen kann. Also dachte ich:"Ich muss einen Weg finden, ihnen das zu zeigen, weil ich sicher bin, dass sie nicht die Einzigen sind, die diese Frage stellen." Meiner Meinung nach ist die Antwort natürlich die Verwendung von Ansible. Aber wo anfangen?

An einem schönen Wochenende, als ich mir ein Rugbyspiel zwischen den mächtigen All Blacks und den Wallabies ansah, saß ich vor meinem Computer und begann, nach verfügbaren Spielbüchern/Rollen zu suchen. Ich habe ein paar Playbooks gefunden, aber ich war nicht zufrieden. Jemand, der sowohl mit Ansible als auch mit Linux noch nicht vertraut ist, würde dennoch ein wenig Anleitung benötigen. Meine Mission ist es jetzt, dafür zu sorgen, dass man einfach ein Repo klonen und ein Playbook ausführen kann, um den Microsoft SQL Server 2019 (MSSQL)-Server auf Red Hat Enterprise Linux 8 (RHEL 8) zum Laufen zu bringen.

Daher wurde dieser Artikel geschrieben, um die einfachste Möglichkeit zur Bereitstellung von SQL Server 2019 (MSSQL) unter Linux (RHEL 8) bereitzustellen.

Aber bevor wir uns mit der Installation befassen, ist eine sehr wichtige Frage, die wir auch beantworten müssen:„Warum MSSQL unter Linux bereitstellen?“ Lassen Sie mich einige meiner Gedanken teilen.

Man sollte erwägen, MSSQL unter Linux zu installieren, da es zusätzliche Flexibilität, Sicherheit, Leistung und Innovation erbt, wenn es einfach auf einem Linux-Server ausgeführt wird.

[ Das könnte Ihnen auch gefallen: Erste Schritte mit Ansible ]

Beispielsweise kann durch einfaches Aktivieren des SQL Server-Trace-Flags 3979, das nur mit XFS auf RHEL 8 unterstützt wird, der E/A-Konflikt für Speicher der Enterprise-Klasse auf 50 % reduziert werden. Es gibt auch eine verbesserte Unterstützung für die Planung mehrerer Warteschlangen, eine Erweiterung des TCP-Stacks, die der Replikation zugute kommt, und unterstützt persistenten Speicher im erweiterten Modus, wodurch die Leistung von SQL Server Enterprise Edition zum Preis von SQL Server Standard Edition bereitgestellt wird. Kurz gesagt, es ist viel schneller.

Weitere Links zu Leistungsverbesserungen finden Sie hier:

  • Leistungsoptimierung mit Microsoft SQL Server 2019 auf RHEL 8
  • Cisco dominiert Microsoft SQL Server … wieder einmal
  • HPE ProLiant DL325 Gen10 Plus gewinnt 1P-Weltrekorde beim TPC-H-Benchmark @ 3000 GB (nicht geclustert)

Darüber hinaus nennt Microsoft die sechs wichtigsten Gründe, warum Unternehmen MSSQL Server auf Linux umstellen sollten.

Wenn Sie neugierig sind und MSSQL 2019 auf RHEL 8 ausprobieren möchten, beginnen wir mit der Installation.

Voraussetzungen

Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

  1. RHEL 8 installiert
  2. Das Betriebssystem wird auf die neueste Version aktualisiert
  3. Gültiges Abonnement für RHEL 8
  4. Die neueste Ansible-Version ist installiert
  5. Git ist auf Ihren Systemen installiert
  6. Internetzugang

Installation von MSSQL 2019 Server

Bevor wir direkt darauf eingehen, sehen wir uns das Playbook und die Variablen an, die Sie ausführen werden, um Ihren MSSQL 2019-Server zu installieren und zu konfigurieren.

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!

Lassen Sie uns jetzt bereitstellen

1. Klonen Sie das Repo hier:

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

2. Wechseln Sie in das Verzeichnis mssql2019-roles-RHEL8 :

$ cd mssql2019-roles-RHEL8

3. Führen Sie das Playbook aus, um MSSQL 2019 zu installieren und zu konfigurieren, und erstellen Sie dann eine neue Datenbank namens testDB :

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

Bei Erfolg sollten Sie eine Ausgabe ähnlich der folgenden erwarten:

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

4. Überprüfen Sie die 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. Melden Sie sich bei MSSQL an und überprüfen Sie die Version:

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

Führen Sie dann die Versionsprüfung durch:

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

Dann können Sie auch überprüfen, ob die Datenbank erstellt wurde:

1> EXEC sp_databases
2> GO

An diesem Punkt haben Sie eine erfolgreiche Bereitstellung von MSSQL 2019 Server auf RHEL 8.

8. Führen Sie zum Aufräumen dieses Playbook aus:

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

Und Sie sind fertig.

[ Suchen Sie nach mehr Informationen zur Systemautomatisierung? Beginnen Sie mit The Automated Enterprise, einem kostenlosen Buch von Red Hat. ] 

Abschluss

Mein Ziel war es, Linux-Benutzern auf einfache und unkomplizierte Weise den Einstieg in Microsoft SQL Server 2019 zu erleichtern. Die Verwaltung der Bereitstellung über Ansible und RHEL 8 war für mich ein natürlicher Ansatz, der meiner Meinung nach gut funktioniert hat. Microsoft SQL Server 2019 ist ein wichtiges Tool, und jetzt können Sie damit beginnen, es zu erkunden.

Referenzen:

  • Schnellstart:Installieren Sie SQL Server und erstellen Sie eine Datenbank auf Red Hat
  • Was, kein Python in RHEL 8 Beta?
  • Meine GitHub-Ressourcen für diesen Artikel

Linux
  1. Registrieren Sie Red Hat Enterprise Linux und hängen Sie ein Abonnement mit Ansible an

  2. Konfigurieren einer IPv6-Adresse in Red Hat Enterprise Linux 7 und 8

  3. Erstellen eines benutzerdefinierten Red Hat Enterprise Linux 7-Images für Microsoft Azure

  4. Dinge, die bei der Ausführung von Red Hat Enterprise Linux auf Azure zu beachten sind

  5. Wie erhalte ich Red Hat Enterprise Linux kostenlos?

Red Hat Linux-Download

RHEL 6 – Schritt-für-Schritt-Installationsanleitung für Red Hat Enterprise Linux Server

Red Hat Enterprise Linux (RHEL) 8 Installationsschritte mit Screenshots

Installieren Sie Red Hat Enterprise Linux Server vom ISO-Image

So installieren Sie Red Hat Enterprise Linux 8 (RHEL 8)

So entfernen Sie eine nicht benötigte GUI von einem Red Hat Enterprise Linux-Server