15.7. Anexar coprocessadores criptográficos a máquinas virtuais no IBM Z


Para usar criptografia de hardware em sua máquina virtual (VM) em um host IBM Z, crie dispositivos mediados a partir de um dispositivo coprocessador criptográfico e os atribua às VMs pretendidas. Para instruções detalhadas, veja abaixo.

Pré-requisitos

  • Seu host está rodando em hardware IBM Z.
  • O coprocessador criptográfico é compatível com a atribuição de dispositivos. Para confirmar isso, certifique-se de que o endereço type de seu coprocessador esteja listado como CEX4 ou posterior.

    # lszcrypt -V
    
    CARD.DOMAIN TYPE  MODE        STATUS  REQUESTS  PENDING HWTYPE QDEPTH FUNCTIONS  DRIVER
    --------------------------------------------------------------------------------------------
    05         CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4card
    05.0004    CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
    05.00ab    CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
    Copy to Clipboard Toggle word wrap
  • O pacote mdevctl está instalado.
  • O módulo do kernel vfio_ap é carregado. Para verificar, use:

    # lsmod | grep vfio_ap
    vfio_ap         24576  0
    [...]
    Copy to Clipboard Toggle word wrap

    Para carregar o módulo, use:

    # modprobe vfio_ap
    Copy to Clipboard Toggle word wrap

Procedimento

  1. No host, re-designar seu dispositivo criptográfico para os drivers vfio-ap. O exemplo seguinte atribui dois dispositivos criptográficos com bitmask IDs (0x05, 0x0004) e (0x05, 0x00ab) a vfio-ap.

    #  echo -0x05 > /sys/bus/ap/apmask
    #  echo -0x0004, -0x00ab > /sys/bus/ap/aqmask
    Copy to Clipboard Toggle word wrap

    Para informações sobre a identificação dos valores de identificação da máscara de bits, consulte Preparando dispositivos de passagem para recursos de adaptador criptográfico no documento KVM Virtual Server Management da IBM.

  2. Verificar se os dispositivos criptográficos foram reatribuídos corretamente.

    # lszcrypt -V
    
    CARD.DOMAIN TYPE  MODE        STATUS  REQUESTS  PENDING HWTYPE QDEPTH FUNCTIONS  DRIVER
    --------------------------------------------------------------------------------------------
    05          CEX5C CCA-Coproc  -              1        0     11     08 S--D--N--  cex4card
    05.0004     CEX5C CCA-Coproc  -              1        0     11     08 S--D--N--  vfio_ap
    05.00ab     CEX5C CCA-Coproc  -              1        0     11     08 S--D--N--  vfio_ap
    Copy to Clipboard Toggle word wrap

    Se os valores de DRIVER das filas de domínio mudassem para vfio_ap, a reatribuição seria bem sucedida.

  3. Gerar um dispositivo UUID.

    # uuidgen
    669d9b23-fe1b-4ecb-be08-a2fabca99b71
    Copy to Clipboard Toggle word wrap

    Nas seguintes etapas deste procedimento, substitua 669d9b23-fe1b-4ecb-be08-a2fabca99b71 por sua UUID gerada.

  4. Usando a UUID, crie um novo dispositivo vfio_ap.

    O exemplo a seguir mostra a criação de um dispositivo mediado persistente e a atribuição de filas a ele. Por exemplo, os seguintes comandos atribuem o adaptador de domínio 0x05 e as filas de domínio 0x0004 e 0x00ab ao dispositivo 669d9b23-fe1b-4ecb-be08-a2fabca99b71.

    # mdevctl define --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71 --parent matrix --type vfio_ap-passthrough
    # mdevctl modify --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71 --addattr=assign_adapter --value=0x05
    # mdevctl modify --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71 --addattr=assign_domain --value=0x0004
    # mdevctl modify --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71 --addattr=assign_domain --value=0x00ab
    Copy to Clipboard Toggle word wrap
  5. Iniciar o dispositivo mediado.

    # mdevctl start --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71
    Copy to Clipboard Toggle word wrap
  6. Verificar se a configuração foi aplicada corretamente

    # cat /sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/669d9b23-fe1b-4ecb-be08-a2fabca99b71
    05.0004
    05.00ab
    Copy to Clipboard Toggle word wrap

    Se a saída contém os valores numéricos das filas que você designou anteriormente para vfio-ap, o processo foi bem sucedido.

  7. Use o comando virsh edit para abrir a configuração XML da VM onde você deseja usar os dispositivos criptográficos.

    # virsh edit vm-name
    Copy to Clipboard Toggle word wrap
  8. Adicione as seguintes linhas à seção <devices> na configuração XML, e salve-a.

    <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ap'>
      <source>
        <address uuid='669d9b23-fe1b-4ecb-be08-a2fabca99b71'/>
      </source>
    </hostdev>
    Copy to Clipboard Toggle word wrap

    Note que cada UUID só pode ser atribuída a uma VM de cada vez.

Verificação

  1. Inicie a VM para a qual você designou o dispositivo mediado.
  2. Após a inicialização do sistema operacional (OS) convidado, certifique-se de que ele detecta os dispositivos criptográficos designados.

    # lszcrypt -V
    
    CARD.DOMAIN TYPE  MODE        STATUS  REQUESTS  PENDING HWTYPE QDEPTH FUNCTIONS  DRIVER
    --------------------------------------------------------------------------------------------
    05          CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4card
    05.0004     CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
    05.00ab     CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
    Copy to Clipboard Toggle word wrap

    A saída deste comando no sistema operacional convidado será idêntica à de uma partição lógica host com os mesmos dispositivos coprocessadores criptográficos disponíveis.

Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat