17.3. データとログのカスタムストレージパスの設定
データまたはログをデフォルトのディレクトリーとは異なるディレクトリーに保存するには、既存の Playbook で mssql_datadir
、mssql_datadir_mode
、mssql_logdir
、および mssql_logdir_mode
変数を使用してカスタムストレージパスを指定します。カスタムパスを定義すると、ロールによって指定されたディレクトリーが作成され、適切なアクセス許可と所有権が付与されます。
後で変数を削除することにした場合、ストレージパスはデフォルトのパスには戻りませんが、データまたはログは最後に定義されたパスに保存されます。
前提条件
- コントロールノードと管理対象ノードを準備している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。 - 2 GB 以上の RAM。
-
ansible-collection-microsoft-sql
パッケージが管理対象ノードにインストールされます。 - 管理対象ノードは、RHEL 7.9、RHEL 8、RHEL 9.4 以降のいずれかのバージョンを使用します。
手順
既存の Playbook ファイル (例:
~/playbook.yml
) を編集し、ストレージおよびログ関連の変数を追加します。--- - name: Install and configure SQL Server hosts: managed-node-01.example.com roles: - 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: 2019 mssql_manage_firewall: true mssql_tls_enable: true mssql_tls_cert: sql_crt.pem mssql_tls_private_key: sql_cert.key mssql_tls_version: 1.2 mssql_tls_force: false mssql_password: <password> mssql_edition: Developer mssql_tcp_port: 1433 mssql_datadir: /var/lib/mssql/ mssql_datadir_mode: '0700' mssql_logdir: /var/log/mssql/ mssql_logdir_mode: '0700'
Ansible がそれを 8 進数ではなく文字列として解析できるように、権限モードを一重引用符で囲んで入力します。
モードを指定せず、宛先ディレクトリーが存在しない場合は、ロールはモードを設定するときにシステムのデフォルトの umask を使用します。モードを指定せず、宛先ディレクトリーが存在する場合、ロールは既存のディレクトリーのモードを使用します。
Playbook の構文を検証します。
$ ansible-playbook --syntax-check ~/playbook.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook ~/playbook.yml
関連情報
-
/usr/share/ansible/roles/microsoft.sql-server/README.md
file