18.3. microsoft.sql.server Ansible システムロールとカスタムストレージパスを使用して SQL Server をインストールおよび設定する


microsoft.sql.server Ansible システムロールを使用して新しい SQL Server をインストールおよび設定する場合、データディレクトリーとログディレクトリーのパスとモードをカスタマイズできます。たとえば、データベースとログファイルを、より多くのストレージ容量を持つ別のディレクトリーに保存する場合は、カスタムパスを設定します。

重要

データまたはログのパスを変更して Playbook を再実行すると、以前使用したディレクトリーとそのすべてのコンテンツが元のパスに残ります。新しい場所には新しいデータベースとログのみが保存されます。

表18.1 データおよびログディレクトリーの SQL Server デフォルト設定
ディレクトリーモードOwnerGroup

データ

/var/opt/mssql/data/

[a]

mssql

mssql

Logs

/var/opt/mssql/los/

[a]

mssql

mssql

[a] ディレクトリーが存在する場合、ロールはモードを保持します。ディレクトリーが存在しない場合、ロールはディレクトリーを作成するときに管理対象ノードにデフォルトの umask を適用します。

前提条件

  • コントロールノードと管理対象ノードの準備が完了している
  • 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
  • 管理対象ノードへの接続に使用するアカウントに、そのノードに対する sudo 権限がある。
  • ansible-collection-microsoft-sql パッケージまたは microsoft.sql コレクションコントロールノードがインストールされている。
  • 管理対象ノードに 2 GB 以上の RAM がインストールされている。
  • 管理対象ノードが、RHEL 7.9、RHEL 8、RHEL 9.4 以降のいずれかのバージョンを使用している。

手順

  1. 機密性の高い変数を暗号化されたファイルに保存します。

    1. vault を作成します。

      $ ansible-vault create vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
    2. ansible-vault create コマンドでエディターが開いたら、機密データを <key>: <value> 形式で入力します。

      sa_pwd: <sa_password>
    3. 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
  2. 既存の Playbook ファイル (例: ~/playbook.yml) を編集し、ストレージおよびログ関連の変数を追加します。

    ---
    - name: Installing and configuring Microsoft SQL Server
      hosts: managed-node-01.example.com
      vars_files:
        - vault.yml
      tasks:
        - name: SQL Server with custom storage paths
          ansible.builtin.include_role:
            name: microsoft.sql.server
          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_version: 2022
            mssql_password: "{{ sa_pwd  }}"
            mssql_edition: Developer
            mssql_tcp_port: 1433
            mssql_manage_firewall: true
    
            mssql_datadir: /var/lib/mssql/
            mssql_datadir_mode: '0700'
            mssql_logdir: /var/log/mssql/
            mssql_logdir_mode: '0700'

    サンプル Playbook で指定されている設定は次のとおりです。

    mssql_datadir_mode および mssql_logdir_mode
    権限モードを設定します。ロールが値を 8 進数ではなく文字列として解析するように、値を一重引用符で囲んで指定します。

    Playbook で使用されるすべての変数の詳細は、コントロールノードの /usr/share/ansible/roles/microsoft.sql-server/README.md ファイルを参照してください。

  3. Playbook の構文を検証します。

    $ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  4. Playbook を実行します。

    $ ansible-playbook --ask-vault-pass ~/playbook.yml

検証

  1. データディレクトリーのモードを表示します。

    $ ansible managed-node-01.example.com -m command -a 'ls -ld /var/lib/mssql/'
    drwx------. 12 mssql mssql 4096 Jul  3 13:53 /var/lib/mssql/
  2. ログディレクトリーのモードを表示します。

    $ ansible managed-node-01.example.com -m command -a 'ls -ld /var/log/mssql/'
    drwx------. 12 mssql mssql 4096 Jul  3 13:53 /var/log/mssql/

関連情報

  • /usr/share/ansible/roles/microsoft.sql-server/README.md ファイル
  • Ansible vault
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.