Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.5.3. Protegendo as piscinas de armazenamento iSCSI com segredos de libvirt

Os parâmetros de nome de usuário e senha podem ser configurados com virsh para garantir um pool de armazenamento iSCSI. Você pode configurar isto antes ou depois de definir o pool, mas o pool deve ser iniciado para que as configurações de autenticação entrem em vigor.

A seguir são fornecidas instruções para proteger as piscinas de armazenamento baseadas em iSCSI com libvirt segredos.

Nota

Este procedimento é necessário se um user_ID e password foram definidos ao criar a meta iSCSI.

Procedimento

  1. Criar um arquivo secreto libvirt com um nome de usuário CHAP (challenge-handshake authentication protocol). Por exemplo:

    <secret ephemeral='no' private='yes'>
        <description>Passphrase for the iSCSI example.com server</description>
        <usage type='iscsi'>
            <target>iscsirhel7secret</target>
        </usage>
    </secret>
  2. Defina o segredo da libvirt com o comando virsh secret-define.

    # virsh secret-define secret.xml

  3. Verifique a UUID com o comando virsh secret-list.

    # virsh secret-list
    UUID                                  Usage
    -------------------------------------------------------------------
    2d7891af-20be-4e5e-af83-190e8a922360  iscsi iscsirhel7secret
  4. Atribuir um segredo à UUID na saída da etapa anterior usando o comando virsh secret-set-value. Isto assegura que o nome de usuário e a senha CHAP estejam em uma lista secreta controlada por libvirt. Por exemplo, o nome de usuário e a senha do CHAP estão em uma lista secreta controlada por libvirt:

    # virsh secret-set-value --interactive 2d7891af-20be-4e5e-af83-190e8a922360
    Enter new value for secret:
    Secret value set
  5. Adicione uma entrada de autenticação no arquivo XML do pool de armazenamento usando o comando virsh edit, e adicione uma <auth> elemento, especificando authentication type, usernamee secret usage.

    Por exemplo:

    <pool type='iscsi'>
      <name>iscsirhel7pool</name>
        <source>
           <host name='192.168.122.1'/>
           <device path='iqn.2010-05.com.example.server1:iscsirhel7guest'/>
           <auth type='chap' username='redhat'>
              <secret usage='iscsirhel7secret'/>
           </auth>
        </source>
      <target>
        <path>/dev/disk/by-path</path>
      </target>
    </pool>
    Nota

    O <auth> subelemento existe em diferentes locais dentro da máquina virtual <pool> e <disk> Elementos XML. Para um <pool>, <auth> é especificado dentro do <source> como este descreve onde encontrar as fontes do pool, já que a autenticação é uma propriedade de algumas fontes do pool (iSCSI e RBD). Para um <disk>, que é um subelemento de um domínio, a autenticação para o disco iSCSI ou RBD é uma propriedade do disco. Além disso, o <auth> subelemento para um disco é diferente do de um pool de armazenamento.

    <auth username='redhat'>
      <secret type='iscsi' usage='iscsirhel7secret'/>
    </auth>
  6. Para ativar as mudanças, ative o pool de armazenamento. Se o pool já tiver sido iniciado, pare e reinicie o pool de armazenamento:

    # virsh pool-destroy iscsirhel7pool
    # virsh pool-start iscsirhel7pool