21.8. Creating an encrypted Stratis pool by using the storage RHEL system role


To secure your data, you can create an encrypted Stratis pool with the storage RHEL system role. In addition to a passphrase, you can use Clevis and Tang or TPM protection as an encryption method.

重要

You can configure Stratis encryption only on the entire pool.

Prerequisites

Procedure

  1. Store your sensitive variables in an encrypted file:

    1. Create the vault:

      $ ansible-vault create ~/vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
    2. After the ansible-vault create command opens an editor, enter the sensitive data in the <key>: <value> format:

      luks_password: <password>
    3. Save the changes, and close the editor. Ansible encrypts the data in the vault.
  2. Create a playbook file, for example, ~/playbook.yml, with the following content:

    ---
    - name: Manage local storage
      hosts: managed-node-01.example.com
      vars_files:
        - ~/vault.yml
      tasks:
        - name: Create a new encrypted Stratis pool with Clevis and Tang
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.storage
          vars:
            storage_pools:
               - name: mypool
                 disks:
                   - sdd
                   - sde
                 type: stratis
                 encryption: true
                 encryption_password: "{{ luks_password }}"
                 encryption_clevis_pin: tang
                 encryption_tang_url: tang-server.example.com:7500

    The settings specified in the example playbook include the following:

    encryption_password
    Password or passphrase used to unlock the LUKS volumes.
    encryption_clevis_pin
    Clevis method that you can use to encrypt the created pool. You can use tang and tpm2.
    encryption_tang_url
    URL of the Tang server.

    For details about all variables used in the playbook, see the /usr/share/ansible/roles/rhel-system-roles.storage/README.md file on the control node.

  3. Validate the playbook syntax:

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

    Note that this command only validates the syntax and does not protect against a wrong but valid configuration.

  4. Run the playbook:

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

Verification

  • Verify that the pool was created with Clevis and Tang configured:

    $ ansible managed-node-01.example.com -m command -a 'sudo stratis report'
    ...
                            "clevis_config": {
                                "thp": "j-G4ddvdbVfxpnUbgxlpbe3KutSKmcHttILAtAkMTNA",
                                "url": "tang-server.example.com:7500"
                            },
                            "clevis_pin": "tang",
                            "in_use": true,
                            "key_description": "blivet-mypool",
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る