Red Hat Training
A Red Hat training course is available for RHEL 8
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 comoCEX4
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
- O pacote mdevctl está instalado.
O módulo do kernel
vfio_ap
é carregado. Para verificar, use:# lsmod | grep vfio_ap vfio_ap 24576 0 [...]
Para carregar o módulo, use:
# modprobe vfio_ap
Procedimento
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)
avfio-ap
.# echo -0x05 > /sys/bus/ap/apmask # echo -0x0004, -0x00ab > /sys/bus/ap/aqmask
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.
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
Se os valores de DRIVER das filas de domínio mudassem para
vfio_ap
, a reatribuição seria bem sucedida.Gerar um dispositivo UUID.
# uuidgen 669d9b23-fe1b-4ecb-be08-a2fabca99b71
Nas seguintes etapas deste procedimento, substitua
669d9b23-fe1b-4ecb-be08-a2fabca99b71
por sua UUID gerada.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ínio0x0004
e0x00ab
ao dispositivo669d9b23-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
Iniciar o dispositivo mediado.
# mdevctl start --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71
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
Se a saída contém os valores numéricos das filas que você designou anteriormente para
vfio-ap
, o processo foi bem sucedido.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
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>
Note que cada UUID só pode ser atribuída a uma VM de cada vez.
Verificação
- Inicie a VM para a qual você designou o dispositivo mediado.
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
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.