Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server unter Linux
In diesem Schnellstart werden die Schritte zum Automatisieren einer Bereitstellung von SQL Server für Linux in Azure Virtual Machines mithilfe eines Ansible-Playbooks erläutert.
Ansible ist ein Open-Source-Produkt, mit dem die Cloudbereitstellung, Konfigurationsverwaltung und Anwendungsbereitstellungen automatisiert werden können.
Mit Ansible-Playbooks können Sie Ansible anweisen, Ihre Umgebung zu konfigurieren. Playbooks werden mit YAML codiert, damit sie für Menschen lesbar sind.
Voraussetzungen
Ein Azure-Abonnement. Falls Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.
Erstellen Sie eine neue Ressourcengruppe mit Azure CLI, die drei virtuelle Azure-Computer enthält:
Erstellt eine Azure VM, mit Red Hat Enterprise Linux (RHEL) 8.5 oder höher. Dieser virtuelle Computer (VM) wird zum Controllerknoten.
Erstellt eine Azure-VM, auf der RHEL ausgeführt wird und die als erster verwalteter Knoten fungiert.
Erstellt eine Azure-VM, auf der Ubuntu Server ausgeführt wird und die als zweiter verwalteter Knoten fungiert.
Übersicht
Die erste VM, auf der Sie Ansible Core konfigurieren, ist der Controllerknoten. Auf diesem Knoten installieren Sie die SQL Server-Systemrolle.
Die verbleibenden VMs sind die Zielcomputer (auch als verwaltete Knoten bezeichnet) zum Bereitstellen und Konfigurieren von SQL Server mithilfe der Systemrolle.
Installieren von Ansible Core
Ab RHEL 8.x auf Azure-VMs kann das ansible-core Paket aus dem vorkonfigurierten AppStream-Repository installiert werden. Mithilfe des folgenden Befehls können Sie Ansible Core auf dem Controllerknoten installieren:
sudo yum install ansible-core
Sie können mit dem folgenden Befehl bestätigen, dass die Installation erfolgreich war:
ansible --version
Ihnen wird daraufhin eine Ausgabe angezeigt, die in etwa wie im folgenden Beispiel aussieht:
ansible [core 2.12.2]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/<user>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.8/site-packages/ansible
ansible collection location = /home/<user>/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.8.12 (default, Sep 16 2021, 10:46:05) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
jinja version = 2.10.3
libyaml = true
Bearbeiten der Datei hosts auf dem Controllerknoten
Ansible erstellt eine hosts-Datei im /etc/ansible-Verzeichnis. Bearbeiten Sie diese Datei mithilfe Ihres bevorzugten Editors, um die Details der verwalteten Knoten entweder als Gruppeneintrag oder als nicht gruppierte Einträge hinzuzufügen. Informationen zum Erstellen Ihres eigenen Bestands finden Sie unter Erstellen Ihres Bestands.
In diesem Beispiel mit der Datei hosts ist die IP-Adresse für den ersten verwalteten Knoten 10.0.0.12 und die IP-Adresse für den zweiten verwalteten Knoten 10.0.0.14.
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
# - Comments begin with the '#' character
# - Blank lines are ignored
# - Groups of hosts are delimited by [header] elements
# - You can enter hostnames or ip addresses
# - A hostname/ip can be a member of multiple groups
10.0.0.12
10.0.0.14
Konfigurieren des kennwortlosen SSH-Zugriffs zwischen Knoten
Sie müssen eine Ssh-Verbindung (Secure Shell) zwischen dem Controllerknoten und allen verwalteten Knoten konfigurieren, auf denen SQL Server installiert werden soll.
Konfigurieren von SSH auf dem Controllerknoten
Wenn SSH bereits konfiguriert ist, können Sie diesen Schritt überspringen.
Verwenden Sie den Befehl ssh-keygen, um SSH-Schlüssel zu generieren. Wenn Sie den Befehl ausführen, werden Sie aufgefordert, die Standardwerte zu akzeptieren. Nach Abschluss des Vorgangs verfügen Sie über ein privates und öffentliches Schlüsselpaar.
Kopieren des öffentlichen Schlüssels zu den verwalteten Knoten
Sie müssen auf jedem verwalteten Knoten den öffentlichen Schlüssel vom gerade erstellten Controllerknoten mithilfe des Befehls
ssh-copy-idkopieren. Wenn Sie das Zielverzeichnis auf dem verwalteten Knoten angeben möchten, können Sie den Parameter-iverwenden.Im folgenden Befehl kann das Konto
userdas gleiche Konto sein, das Sie bei der Erstellung des virtuellen Computers für jeden verwalteten Knoten konfiguriert haben. Sie können auch das Kontorootverwenden, aber dies wird in einer Produktionsumgebung nicht empfohlen.sudo ssh-copy-id user@10.0.0.12 sudo ssh-copy-id user@10.0.0.14Um zu bestätigen, dass der öffentliche SSH-Schlüssel in jeden Knoten kopiert wurde, verwenden Sie den Befehl
sshauf dem Controllerknoten. Wenn Sie die Schlüssel ordnungsgemäß kopiert haben, werden Sie nicht zur Eingabe eines Kennworts aufgefordert, und die Verbindung wurde erfolgreich hergestellt.ssh user@10.0.0.12 ssh user@10.0.0.14
Installieren der SQL Server-Systemrolle
Die Ansible-Systemrolle heißt ansible-collection-microsoft-sql. Führen Sie auf dem Controllerknoten den folgenden Befehl aus, um die SQL Server-Systemrolle zu installieren:
sudo yum install ansible-collection-microsoft-sql
Mit diesem Befehl wird die SQL Server-Rolle auf /usr/share/ansible/collections mit den folgenden Dateien installiert:
-rw-r--r--. 1 user user 7592 Jul 2 20:22 FILES.json
-rw-r--r--. 1 user user 1053 Jul 2 20:22 LICENSE-server
-rw-r--r--. 1 user user 854 Jul 2 20:22 MANIFEST.json
-rw-r--r--. 1 user user 1278 Jul 2 20:22 README.md
drwxr-xr-x. 1 user user 20 Jul 2 20:22 roles
drwxr-xr-x. 1 user user 20 Jul 2 20:22 tests
Erstellen und Konfigurieren des Ansible-Playbooks
Nach der Installation der Systemrolle erstellen Sie die YAML-Datei für das SQL Server-Playbook. Informationen zu den verschiedenen Rollenvariablen finden Sie in der Dokumentation oder in der Datei „README.md“, die mit der SQL Server-Systemrolle bereitgestellt wurde.
Das folgende Beispiel zeigt eine Playbook-Datei mit Rollenvariablen, die zum Konfigurieren von SQL Server definiert sind und zusätzliche Funktionen aktivieren. Ersetzen Sie <password> durch ein gültiges Kennwort.
- hosts: all
vars:
mssql_accept_microsoft_odbc_driver_17_for_sql_server_eula: true
mssql_accept_microsoft_cli_utilities_for_sql_server_eula: true
mssql_accept_microsoft_sql_server_standard_eula: true
mssql_password: "<password>"
mssql_edition: Evaluation
mssql_enable_sql_agent: true
mssql_install_fts: true
mssql_install_powershell: true
mssql_tune_for_fua_storage: true
roles:
- microsoft.sql.server
Bereitstellen von SQL Server auf den verwalteten Knoten
Um SQL Server mithilfe des Ansible-Playbooks auf verwalteten Knoten bereitzustellen, führen Sie den folgenden Befehl auf dem Controllerknoten aus:
sudo ansible-playbook -u user playbook.yaml
Mit diesem Vorgang beginnt die Bereitstellung, und am Ende sollten Sie eine Zusammenfassung der Wiedergabe sehen, die ähnlich wie diese Ausgabe aussieht:
PLAY RECAP *******
10.0.0.12 : ok=31 changed=42 unreachable=0 failed=0 skipped=0 rescued=1 ignored=0
10.0.0.14 : ok=31 changed=42 unreachable=0 failed=0 skipped=0 rescued=1 ignored=0
Bereinigen von Ressourcen
Wenn Sie Ihre Azure-VMs nicht mehr verwenden möchten, denken Sie daran, sie zu entfernen. Wenn Sie die drei VMs in einer neuen Ressourcengruppe erstellt haben, können Sie alle Ressourcen in dieser Ressourcengruppe mithilfe der Azure CLI entfernen.
Zugehöriger Inhalt
- Schnellstart: Bereitstellung eines SQL Server Linux-Containers in Kubernetes mit Helm-Diagrammen
- Einführung in adutil – Active Directory-Dienstprogramm
- Sichern und Wiederherstellen von SQL Server-Datenbanken unter Linux
- So konfigurieren Sie den Microsoft Distributed Transaction Coordinator (MSDTC) unter Linux