Kolegové i zákazníci se mě několikrát ptali na nejjednodušší způsob, jak testovat/hrát si s Microsoft SQL Server 2019 na Linuxu. Tak jsem si pomyslel:"Musím najít způsob, jak jim to ukázat, protože jsem si jistý, že nejsou jediní, kdo se na to ptá." V mé mysli je odpovědí samozřejmě použití Ansible. Ale kde začít?
Jednoho krásného víkendu, když jsem sledoval rugbyový zápas mezi mocnými All Blacks a Wallabies, jsem seděl před svým počítačem a začal jsem hledat existující dostupné playbooky/role. Našel jsem pár herních knih, ale nebyl jsem spokojen. Někdo nový v Ansible i Linuxu by stále potřeboval trochu vedení. Takže mým posláním je nyní zajistit, aby bylo možné pouze naklonovat repo a spustit playbook, aby server Microsoft SQL Server 2019 (MSSQL) běžel na Red Hat Enterprise Linux 8 (RHEL 8).
Proto byl tento článek napsán s cílem poskytnout nejjednodušší způsob nasazení SQL Server 2019 (MSSQL) v systému Linux (RHEL 8).
Než se ale pustíme do instalace, musíme si také zodpovědět jednu velmi důležitou otázku:"Proč nasazovat MSSQL na Linux?" Dovolte mi podělit se o některé své myšlenky.
Měli byste zvážit instalaci MSSQL na Linux kvůli další flexibilitě, zabezpečení, výkonu a inovacím, které zdědí pouhým spuštěním na linuxovém serveru.
[ Také by se vám mohlo líbit: Začínáme s Ansible ]
Například pouhé zapnutí příznaku trasování SQL Serveru 3979, který je podporován pouze s XFS na RHEL 8, může snížit IO spory na 50 % pro úložiště podnikové třídy. K dispozici je také vylepšená podpora pro plánování ve více frontách, vylepšení zásobníku TCP, které prospívá replikaci, a podpora trvalé paměti v osvíceném režimu, což přináší výkon SQL Server Enterprise Edition za cenu SQL Server Standard Edition. Stručně řečeno, je to mnohem rychlejší.
Další odkazy, které hovoří o vylepšení výkonu, jsou zde:
- Optimalizace výkonu s Microsoft SQL Server 2019 na RHEL 8
- Cisco dominuje serveru Microsoft SQL…opět
-
HPE ProLiant DL325 Gen10 Plus vyhrává 1P SVĚTOVÉ rekordy v benchmarku TPC-H @ 3000 GB (bez klastrů)
Kromě toho společnost Microsoft uvádí šest hlavních důvodů, proč by společnosti měly přesunout MSSQL Server na Linux.
Pokud jste zvědaví a chcete vyzkoušet MSSQL 2019 na RHEL 8, začněte s instalací.
Předpoklady
Před zahájením instalace se ujistěte, že splňujete následující předpoklady:
- Nainstalováno RHEL 8
- OS je aktualizován na nejnovější verzi
- Platné předplatné pro RHEL 8
- Je nainstalována nejnovější verze Ansible
- Git je nainstalován ve vašich systémech
- Přístup k internetu
Instalace serveru MSSQL 2019
Než se do toho pustíme přímo, podívejme se na příručku a proměnné, které spustíte při instalaci a konfiguraci serveru 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!
Nyní pojďme nasadit
1. Naklonujte úložiště zde:
$ git clone https://github.com/mikecali/mssql2019-roles-RHEL8
2. Změňte adresář na mssql2019-roles-RHEL8
:
$ cd mssql2019-roles-RHEL8
3. Spuštěním příručky nainstalujte a nakonfigurujte MSSQL 2019 a poté vytvořte novou databázi s názvem testDB :
$ ansible-playbook site.yaml -e @vars.yaml -vvv
V případě úspěchu byste měli očekávat výstup podobný níže:
PLAY RECAP ***********************************************************************************************************************************************************************************************************************************
localhost : ok=18 changed=15 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
4. Ověřte instalaci:
$ 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. Přihlaste se do MSSQL a ověřte verzi:
$sqlcmd -S localhost -U SA -P 'P@ssWORD!'
Poté proveďte kontrolu verze:
> 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)
Poté můžete také ověřit, zda byla databáze vytvořena:
1> EXEC sp_databases
2> GO
V tomto okamžiku budete mít úspěšné nasazení MSSQL 2019 Server na RHEL 8.
8. Pro vyčištění spusťte tuto příručku:
$ ansible-playbook site-del.yaml -e @vars.yaml -vvv
A máte hotovo.
[ Hledáte více o automatizaci systému? Začněte s The Automated Enterprise, bezplatnou knihou od Red Hat. ]
Sbalit
Mým cílem bylo poskytnout jednoduchý a přímočarý způsob, jak pomoci uživatelům Linuxu začít používat Microsoft SQL Server 2019. Správa nasazení prostřednictvím Ansible a RHEL 8 pro mě byla přirozeným přístupem a myslím si, že fungoval dobře. Microsoft SQL Server 2019 je důležitý nástroj a nyní jste připraveni jej začít prozkoumávat.
Reference:
- Rychlý start:Nainstalujte SQL Server a vytvořte databázi na Red Hat
- Co, žádný Python v RHEL 8 Beta?
- Moje zdroje GitHub pro tento článek