GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di Ansible per distribuire Microsoft SQL Server 2019 su Red Hat Enterprise Linux 8

Mi è stato chiesto più volte da colleghi e clienti in merito al modo più semplice per testare/giocare con Microsoft SQL Server 2019 su Linux. Quindi ho pensato:"Ho bisogno di trovare un modo per mostrarglielo perché sono sicuro che non sono gli unici a fare questa domanda". Nella mia mente, la risposta è, ovviamente, usare Ansible. Ma da dove cominciare?

Un bel fine settimana mentre guardavo una partita di rugby tra i potenti All Blacks e i Wallabies, mi sono seduto davanti al mio computer e ho iniziato a cercare playbook/ruoli esistenti disponibili. Ho trovato un paio di playbook, ma non sono rimasto soddisfatto. Qualcuno nuovo sia per Ansible che per Linux richiederebbe comunque un po' di guida. Quindi la mia missione ora è assicurarmi che si possa semplicemente clonare un repository ed eseguire un playbook per ottenere il server Microsoft SQL Server 2019 (MSSQL) in esecuzione su Red Hat Enterprise Linux 8 (RHEL 8).

Pertanto, questo articolo è stato scritto per fornire il modo più semplice per distribuire SQL Server 2019 (MSSQL) su Linux (RHEL 8).

Ma prima di passare all'installazione, una domanda molto importante a cui dobbiamo anche rispondere è:"Perché distribuire MSSQL su Linux?" Consentitemi di condividere alcuni dei miei pensieri.

Si dovrebbe prendere in considerazione l'installazione di MSSQL su Linux a causa della maggiore flessibilità, sicurezza, prestazioni e innovazione che eredita semplicemente eseguendo su un server Linux.

[ Potrebbe piacerti anche: Iniziare con Ansible ]

Ad esempio, semplicemente attivando il flag di traccia 3979 di SQL Server, che è supportato solo con XFS su RHEL 8, è possibile ridurre la contesa di I/O al 50% per l'archiviazione di classe enterprise. È inoltre disponibile il supporto migliorato per la pianificazione multi-coda, il miglioramento dello stack TCP a vantaggio della replica e il supporto della memoria persistente in modalità illuminata, offrendo prestazioni di SQL Server Enterprise Edition a un prezzo di SQL Server Standard Edition. In breve, è molto più veloce.

Ulteriori link che parlano di miglioramenti delle prestazioni sono qui:

  • Ottimizzazione delle prestazioni con Microsoft SQL Server 2019 su RHEL 8
  • Cisco domina il server Microsoft SQL... di nuovo
  • HPE ProLiant DL325 Gen10 Plus vince 1P WORLD Records sul benchmark TPC-H da 3000 GB (non cluster)

Oltre a ciò, Microsoft fornisce i sei principali motivi per cui le aziende dovrebbero trasferire MSSQL Server a Linux.

Se sei curioso e vuoi provare MSSQL 2019 su RHEL 8, iniziamo l'installazione.

Prerequisiti

Prima di iniziare l'installazione, assicurati di soddisfare i seguenti prerequisiti:

  1. RHEL 8 installato
  2. Il sistema operativo è aggiornato all'ultima versione
  3. Abbonamento valido per RHEL 8
  4. È installata l'ultima versione di Ansible
  5. Git è installato sui tuoi sistemi
  6. Accesso a Internet

Installazione del server MSSQL 2019

Prima di approfondire, esaminiamo il playbook e le variabili che eseguirai per installare e configurare il tuo server 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!

Ora, eseguiamo il deployment

1. Clona il repository qui:

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

2. Cambia la directory in mssql2019-roles-RHEL8 :

$ cd mssql2019-roles-RHEL8

3. Esegui il playbook per installare e configurare MSSQL 2019, quindi crea un nuovo database chiamato testDB :

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

In caso di successo, dovresti aspettarti un output simile al seguente:

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

4. Verifica l'installazione:

$  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. Accedi a MSSQL e verifica la versione:

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

Quindi esegui il controllo della versione:

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

Quindi puoi anche verificare se il database è stato creato:

1> EXEC sp_databases
2> GO

A questo punto, avrai una corretta distribuzione di MSSQL 2019 Server su RHEL 8.

8. Per ripulire, esegui questo playbook:

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

E il gioco è fatto.

[ Cerchi ulteriori informazioni sull'automazione dei sistemi? Inizia con The Automated Enterprise, un libro gratuito di Red Hat. ] 

Concludi

Il mio obiettivo era fornire un modo semplice e diretto per aiutare gli utenti Linux a iniziare con Microsoft SQL Server 2019. La gestione della distribuzione tramite Ansible e RHEL 8 è stato un approccio naturale per me e penso abbia funzionato bene. Microsoft SQL Server 2019 è uno strumento importante e ora sei pronto per iniziare a esplorarlo.

Riferimenti:

  • Avvio rapido:installa SQL Server e crea un database su Red Hat
  • Cosa, niente Python in RHEL 8 Beta?
  • Le mie risorse GitHub per questo articolo

Linux
  1. Installa Red Hat Enterprise Linux in modalità grafica

  2. Installa Red Hat Enterprise Linux in modalità testo

  3. Registra Red Hat Enterprise Linux e allega un abbonamento ad Ansible

  4. Configurazione di un indirizzo IPv6 in Red Hat Enterprise Linux 7 e 8

  5. Creazione di un'immagine Red Hat Enterprise Linux 7 personalizzata per Microsoft Azure

Scarica Red Hat Linux

RHEL 6 – Guida all'installazione del server Red Hat Enterprise Linux passo dopo passo

Red Hat Enterprise Linux (RHEL) 8 passaggi di installazione con schermate

Installa Red Hat Enterprise Linux Server dall'immagine ISO

Come installare Red Hat Enterprise Linux 8 (RHEL 8)

Come rimuovere una GUI non necessaria da un server Red Hat Enterprise Linux