31.3. microsoft.sql.server Ansible システムロールとカスタムストレージパスを使用して SQL Server をインストールおよび設定する
microsoft.sql.server Ansible システムロールを使用して新しい SQL Server をインストールおよび設定する場合、データディレクトリーとログディレクトリーのパスとモードをカスタマイズできます。たとえば、データベースとログファイルを、より多くのストレージ容量を持つ別のディレクトリーに保存する場合は、カスタムパスを設定します。
データまたはログのパスを変更して Playbook を再実行すると、以前使用したディレクトリーとそのすべてのコンテンツが元のパスに残ります。新しい場所には新しいデータベースとログのみが保存されます。
| タイプ | ディレクトリー | Mode | 所有者 | グループ |
|---|---|---|---|---|
| データ |
|
|
| |
| Logs |
|
|
| |
[a]
ディレクトリーが存在する場合、ロールはモードを保持します。ディレクトリーが存在しない場合、ロールはディレクトリーを作成するときに管理対象ノードにデフォルトの umask を適用します。
| ||||
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。 -
ansible-collection-microsoft-sqlパッケージまたはmicrosoft.sqlコレクションコントロールノードがインストールされている。 - 管理対象ノードに 2 GB 以上の RAM がインストールされている。
- 管理対象ノードが、RHEL 7.9、RHEL 8、RHEL 9.4 以降のいずれかのバージョンを使用している。
手順
機密性の高い変数を暗号化されたファイルに保存します。
vault を作成します。
ansible-vault create ~/vault.yml
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-vault createコマンドでエディターが開いたら、機密データを<key>: <value>形式で入力します。sa_pwd: <sa_password>
sa_pwd: <sa_password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
既存の Playbook ファイル (例:
~/playbook.yml) を編集し、ストレージおよびログ関連の変数を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル Playbook で指定されている設定は次のとおりです。
mssql_datadir_modeおよびmssql_logdir_mode- 権限モードを設定します。ロールが値を 8 進数ではなく文字列として解析するように、値を一重引用符で囲んで指定します。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/microsoft.sql-server/README.mdファイルを参照してください。Playbook の構文を検証します。
ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
データディレクトリーのモードを表示します。
ansible managed-node-01.example.com -m command -a 'ls -ld /var/lib/mssql/'
$ 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/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログディレクトリーのモードを表示します。
ansible managed-node-01.example.com -m command -a 'ls -ld /var/log/mssql/'
$ 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/Copy to Clipboard Copied! Toggle word wrap Toggle overflow