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
typede seu coprocessador esteja listado comoCEX4ou posterior.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - O pacote mdevctl está instalado.
O módulo do kernel
vfio_apé carregado. Para verificar, use:lsmod | grep vfio_ap
# lsmod | grep vfio_ap vfio_ap 24576 0 [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Para carregar o módulo, use:
modprobe vfio_ap
# modprobe vfio_apCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# echo -0x05 > /sys/bus/ap/apmask # echo -0x0004, -0x00ab > /sys/bus/ap/aqmaskCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# uuidgen 669d9b23-fe1b-4ecb-be08-a2fabca99b71Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nas seguintes etapas deste procedimento, substitua
669d9b23-fe1b-4ecb-be08-a2fabca99b71por 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
0x05e as filas de domínio0x0004e0x00abao 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
# 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=0x00abCopy to Clipboard Copied! Toggle word wrap Toggle overflow Iniciar o dispositivo mediado.
mdevctl start --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71
# mdevctl start --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# cat /sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/669d9b23-fe1b-4ecb-be08-a2fabca99b71 05.0004 05.00abCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 editpara abrir a configuração XML da VM onde você deseja usar os dispositivos criptográficos.virsh edit vm-name
# virsh edit vm-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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><hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ap'> <source> <address uuid='669d9b23-fe1b-4ecb-be08-a2fabca99b71'/> </source> </hostdev>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.