15.7. Adjuntar coprocesadores criptográficos a máquinas virtuales en IBM Z
Para utilizar el cifrado de hardware en su máquina virtual (VM) en un host IBM Z, cree dispositivos mediados de un dispositivo de coprocesador criptográfico y asígnelos a las VM previstas. Para obtener instrucciones detalladas, consulte a continuación.
Requisitos previos
- Su host se ejecuta en hardware IBM Z.
El coprocesador criptográfico es compatible con la asignación de dispositivos. Para confirmarlo, asegúrese de que la dirección
type
de su coprocesador figura comoCEX4
o 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
- El paquete mdevctl está instalado.
El módulo del kernel
vfio_ap
está cargado. Para verificarlo, utilice:# lsmod | grep vfio_ap vfio_ap 24576 0 [...]
Para cargar el módulo, utilice:
# modprobe vfio_ap
Procedimiento
En el host, reasigne su dispositivo criptográfico a los controladores
vfio-ap
. El siguiente ejemplo asigna dos dispositivos criptográficos con ID de máscara de bits(0x05, 0x0004)
y(0x05, 0x00ab)
avfio-ap
.# echo -0x05 > /sys/bus/ap/apmask # echo -0x0004, -0x00ab > /sys/bus/ap/aqmask
Para obtener información sobre la identificación de los valores de ID de la máscara de bits, consulte Preparación de los dispositivos de paso para los recursos del adaptador criptográfico en el documento KVM Virtual Server Management de IBM.
Compruebe que los dispositivos criptográficos se han reasignado correctamente.
# 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
Si los valores de DRIVER de las colas del dominio cambiaron a
vfio_ap
, la reasignación tuvo éxito.Generar un UUID de dispositivo.
# uuidgen 669d9b23-fe1b-4ecb-be08-a2fabca99b71
En los siguientes pasos de este procedimiento, sustituya
669d9b23-fe1b-4ecb-be08-a2fabca99b71
por su UUID generado.Utilizando el UUID, cree un nuevo dispositivo
vfio_ap
.El siguiente ejemplo muestra la creación de un dispositivo mediado persistente y la asignación de colas al mismo. Por ejemplo, los siguientes comandos asignan el adaptador de dominio
0x05
y las colas de dominio0x0004
y0x00ab
al 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
Inicie el dispositivo mediado.
# mdevctl start --uuid 669d9b23-fe1b-4ecb-be08-a2fabca99b71
Compruebe que la configuración se ha aplicado correctamente
# cat /sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/669d9b23-fe1b-4ecb-be08-a2fabca99b71 05.0004 05.00ab
Si la salida contiene los valores numéricos de las colas que ha asignado previamente a
vfio-ap
, el proceso se ha realizado con éxito.Utilice el comando
virsh edit
para abrir la configuración XML de la VM en la que desea utilizar los dispositivos criptográficos.# virsh edit vm-name
Añade las siguientes líneas a la sección
<devices>
en la configuración XML, y guárdala.<hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ap'> <source> <address uuid='669d9b23-fe1b-4ecb-be08-a2fabca99b71'/> </source> </hostdev>
Tenga en cuenta que cada UUID sólo puede asignarse a una máquina virtual a la vez.
Verificación
- Inicie la VM a la que asignó el dispositivo mediado.
Después de que el sistema operativo (SO) huésped arranque, asegúrese de que detecta los dispositivos criptográficos asignados.
# 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
La salida de este comando en el SO huésped será idéntica a la de una partición lógica del host con los mismos dispositivos de coprocesador criptográfico disponibles.