9.2.2. ディスク暗号化設定 Playbook の実行
前提条件
-
luks_tang_inventory.ymlplaybookで設定を定義する: 「ディスク暗号化設定の詳細の定義」. - ハイパーコンバージドホストには、暗号化されたブートディスクが必要です。
手順
- 最初のハイパーコンバージドホストにログインします。
hc-ansible-deployment ディレクトリーに移動します。
# cd /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment
rootユーザーで以下のコマンドを実行すると、設定プロセスが開始されます。
# ansible-playbook -i luks_tang_inventory.yml tasks/luks_tang_setup.yml --tags=blacklistdevices,luksencrypt,bindtang --ask-vault-pass
ディスク暗号化の設定を開始するプロンプトが表示されたら、このファイルの vault パスワードを入力します。
検証
- 各ホストを再起動して、復号したパスフレーズを手動で入力しなくても、ログインプロンプトに起動できることを確認します。
-
ディスク暗号化を使用するデバイスには、Red Hat Hyperconverged Infrastructure for Virtualization の設定を継続すると、
/dev/mapper/luks_sdXのパスがあることに注意してください。
トラブルシューティング
指定したブートデバイス
/dev/sda2は暗号化されません。TASK [Check if root device is encrypted] fatal: [server1.example.com]: FAILED! => {"changed": false, "msg": "The given boot device /dev/sda2 is not encrypted."}
ソリューション 「ハイパーコンバージドホストのインストール」 に記載されている手順でハイパーコンバージドホストを再インストールします。インストールプロセス中にEncrypt my data を選択し、ディスク暗号化に関するすべての指示に従うことを確認してください。
この結果では、no_log: true が指定されているという事実により、出力は表示されません。
TASK [gluster.infra/roles/backend_setup : Encrypt devices using key file] failed: [host1.example.com] (item=None) => {"censored": "the output has been hidden due to the fact that no_log: true was specified for this result", "changed": true}
パスフレーズを公開しないように、この出力が切り替わりました。
Encrypt devices using key fileタスクでこの出力が表示された場合、デバイスの暗号化に失敗しています。インベントリーファイルに誤ったディスクを指定している可能性があります。解決策: デプロイに失敗した後、Cleaning up Network-Bound Disk Encryption after a failed deploymentを参照してデプロイメントのクリーンアップします。次に、インベントリーファイルでディスク名を修正します。
Tang サーバーからゼロ以外のリターンコード
TASK [gluster.infra/roles/backend_setup : Download the advertisement from tang server for IPv4] * failed: [host1.example.com] (item={url: http://tang-server.example.com}) => {"ansible_index_var": "index", "ansible_loop_var": "item", "changed": true, "cmd": "curl -sfg \"http://tang-server.example.com/adv\" -o /etc/adv0.jws", "delta": "0:02:08.703711", "end": "2020-06-10 18:18:09.853701", "index": 0, "item": {"url": "http://tang-server.example.com"}, "msg": "non-zero return code*", "rc": 7, "start": "2020-06-10 18:16:01.149990", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
このエラーは、提供されたFQDNが正しくないか、ホストから見つからないために、サーバーが提供された
urlにアクセスできないことを示しています。解決策: NBDE キーサーバーに提供される
urlの値を修正するか、またはurl値がホストからアクセス可能であることを確認します。次に、bindtangタグを使用して Playbook を再度実行します。# ansible-playbook -i luks_tang_inventory.yml tasks/luks_tang_setup.yml --ask-vault-pass --tags=bindtang- その他のプレイブックの失敗については、Cleaning up Network-Bound Disk Encryption after a failed deploymentの手順で、デプロイメントをクリーンアップしてください。設定 Playbook を再度実行する前に、Playbook とインベントリーファイルで誤った値を確認し、すべてのサーバーへのアクセスをテストします。