LinuxでMicrosoftSQLServer 2019をテスト/プレイする最も簡単な方法について、同僚や顧客から何度も尋ねられました。それで、「この質問をしているのは彼らだけではないと確信しているので、これを彼らに示す方法を見つける必要がある」と思いました。私の考えでは、答えはもちろん、Ansibleを使用することです。しかし、どこから始めればよいのでしょうか?
ある晴れた週末、強大なオールブラックスとワラビーのラグビーの試合を見ながら、私はコンピューターの前に座って、利用可能な既存のプレイブック/役割を探し始めました。プレイブックを何冊か見つけましたが、満足できませんでした。 AnsibleとLinuxの両方に不慣れな人は、まだ少しのガイダンスが必要です。したがって、私の使命は、リポジトリのクローンを作成してプレイブックを実行し、Red Hat Enterprise Linux 8(RHEL 8)でMicrosoft SQL Server 2019(MSSQL)サーバーを実行できるようにすることです。
したがって、この記事は、Linux(RHEL 8)にSQL Server 2019(MSSQL)を展開する最も簡単な方法を提供するために作成されました。
しかし、インストールに取り掛かる前に、答える必要のある非常に重要な質問の1つは、「LinuxにMSSQLを展開する理由」です。私の考えのいくつかを共有させてください。
Linuxサーバー上で実行するだけで継承される柔軟性、セキュリティ、パフォーマンス、革新性が向上するため、LinuxへのMSSQLのインストールを検討する必要があります。
[次のこともお勧めします:Ansibleの使用を開始する]
たとえば、SQL Serverトレースフラグ3979をオンにするだけで、RHEL 8のXFSでのみサポートされ、エンタープライズクラスのストレージのIO競合を50%に減らすことができます。また、マルチキュースケジューリングのサポートが改善され、レプリケーションに役立つTCPスタックの機能強化が行われ、エンライテンドモードで永続メモリがサポートされ、SQL ServerEnterpriseEditionのパフォーマンスがSQLServerStandardEditionの価格で提供されます。要するに、それははるかに高速です。
パフォーマンスの向上について説明しているその他のリンクは次のとおりです:
- RHEL8上のMicrosoftSQLServer2019でパフォーマンスを最適化する
- CiscoがMicrosoftSQLサーバーを支配…再び
-
HPE ProLiant DL325 Gen10 Plusは、TPC-Hベンチマーク@ 3000GB(非クラスター化)で1P世界記録を獲得
これに加えて、Microsoftは、企業がMSSQLServerをLinuxに移行する必要がある上位6つの理由を提供しています。
興味があり、RHEL8でMSSQL2019を試してみたい場合は、インストールを開始しましょう。
前提条件
インストールを開始する前に、次の前提条件を満たしていることを確認しましょう。
- インストールされたRHEL8
- OSが最新バージョンに更新されます
- RHEL8の有効なサブスクリプション
- 最新のAnsibleバージョンがインストールされています
- Gitはシステムにインストールされています
- インターネットアクセス
MSSQL2019サーバーのインストール
直接説明する前に、プレイブックと、MSSQL2019サーバーをインストールして構成するために実行する変数を確認しましょう。
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!
それでは、デプロイしましょう
1.ここでリポジトリのクローンを作成します:
$ git clone https://github.com/mikecali/mssql2019-roles-RHEL8
2.ディレクトリをmssql2019-roles-RHEL8
に変更します :
$ cd mssql2019-roles-RHEL8
3.プレイブックを実行してMSSQL2019をインストールおよび構成してから、 testDBという新しいデータベースを作成します。 :
$ ansible-playbook site.yaml -e @vars.yaml -vvv
成功した場合は、次のような出力が期待できます。
PLAY RECAP ***********************************************************************************************************************************************************************************************************************************
localhost : ok=18 changed=15 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
4.インストールを確認します:
$ 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. MSSQLにログインし、バージョンを確認します。
$sqlcmd -S localhost -U SA -P 'P@ssWORD!'
次に、バージョンチェックを実行します:
> 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)
次に、データベースが作成されたかどうかを確認することもできます。
1> EXEC sp_databases
2> GO
この時点で、RHEL8にMSSQL2019Serverを正常に展開できます。
8.クリーンアップするには、次のハンドブックを実行します:
$ ansible-playbook site-del.yaml -e @vars.yaml -vvv
これで完了です。
[システム自動化についてもっと知りたいですか? RedHatの無料の本であるTheAutomatedEnterpriseを始めましょう。 ]
まとめ
私の目標は、LinuxユーザーがMicrosoft SQL Server 2019を使い始めるのに役立つ、シンプルでわかりやすい方法を提供することでした。AnsibleとRHEL 8を使用して展開を管理することは、私にとって自然なアプローチであり、うまくいったと思います。 Microsoft SQL Server 2019は重要なツールであり、これで探索を開始する準備が整いました。
参照:
- クイックスタート:SQL Serverをインストールし、RedHatにデータベースを作成します
- RHEL 8ベータ版にはPythonはありませんか?
- この記事のGitHubリソース