10.9. Adjuntar dispositivos DASD a máquinas virtuales en IBM Z


Los dispositivos de almacenamiento de acceso directo (DASD) proporcionan una serie de características de almacenamiento específicas. Utilizando la función vfio-ccw, puede asignar DASDs como dispositivos mediados a sus máquinas virtuales (VMs) en hosts IBM Z. Esto, por ejemplo, hace posible que la VM acceda a un conjunto de datos de z/OS, o que comparta los DASDs asignados con una máquina z/OS.

Requisitos previos

  • Su sistema anfitrión utiliza la arquitectura de hardware IBM Z y soporta el protocolo FICON.
  • La máquina virtual de destino utiliza un sistema operativo invitado Linux.
  • Los módulos del kernel necesarios se han cargado en el host. Para comprobarlo, utilice:

    # lsmod | grep vfio
    Copy to Clipboard Toggle word wrap

    La salida debe contener los siguientes módulos:

    • vfio_ccw
    • vfio_mdev
    • vfio_iommu_type1
  • Tiene un dispositivo DASD de repuesto para uso exclusivo de la VM.

Procedimiento

  1. Obtenga el identificador del dispositivo DASD. La utilidad lsdasd lo muestra como Bus-ID.

    # lsdasd
    Bus-ID    Status    Name      Device  Type         BlkSz  Size      Blocks
    ================================================================================
    0.0.002c  active    dasdh     94:0    ECKD         4096   21129MB   5409180
    Copy to Clipboard Toggle word wrap

    En los siguientes comandos de este procedimiento, sustituya 0.0.002c por el identificador de dispositivo detectado de su dispositivo.

  2. Obtener la ruta del subcanal del dispositivo DASD.

    # lscss | grep 0.0.002c
    0.0.002c 0.0.24ac  3390/0c 3990/e9 yes  f0  f0  ff   01021112 00000000
    Copy to Clipboard Toggle word wrap

    En este ejemplo, la ruta del subcanal se detecta como 0.0.24ac. En los siguientes comandos de este procedimiento, sustituya 0.0.24ac por la ruta de subcanal detectada de su dispositivo.

  3. Desvincula el dispositivo DASD de su subcanal en el host.

    # echo 0.0.002c > /sys/bus/ccw/devices/0.0.002c/driver/unbind
    Copy to Clipboard Toggle word wrap
  4. Desvincula el subcanal del controlador del subcanal de E/S.

    # echo 0.0.24ac > /sys/bus/css/devices/0.0.24ac/driver/unbind
    Copy to Clipboard Toggle word wrap
  5. Vincula el subcanal al controlador de paso de vfio_ccw.

    # echo 0.0.24ac > /sys/bus/css/drivers/vfio_ccw/bind
    Copy to Clipboard Toggle word wrap
  6. Generar un UUID.

    # uuidgen
    30820a6f-b1a5-4503-91ca-0c10ba12345a
    Copy to Clipboard Toggle word wrap
  7. Crear el dispositivo mediado por DASD utilizando el UUID generado

    # echo "30820a6f-b1a5-4503-91ca-0c10ba12345a" > /sys/bus/css/devices/0.0.24ac/mdev_supported_types/vfio_ccw-io/create
    Copy to Clipboard Toggle word wrap
  8. Adjunte el dispositivo mediado a la VM. Para ello, utilice la utilidad virsh edit para editar la configuración XML de la VM, añada la siguiente sección al XML y sustituya el valor uuid por el UUID que generó en el paso anterior.

    <hostdev mode='subsystem' type='mdev' model='vfio-ccw'>
      <source>
        <address uuid="30820a6f-b1a5-4503-91ca-0c10ba12345a"/>
      </source>
    </hostdev>
    Copy to Clipboard Toggle word wrap

Verificación

  1. Obtenga el identificador que libvirt asignó al dispositivo DASD mediado. Para ello, visualice la configuración XML de la VM y busque un dispositivo vfio-ccw.

    # virsh dumpxml vm-name
    
    <domain>
    [...]
        <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ccw'>
          <source>
            <address uuid='10620d2f-ed4d-437b-8aff-beda461541f9'/>
          </source>
          <alias name='hostdev0'/>
          <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0009'/>
        </hostdev>
    [...]
    </domain>
    Copy to Clipboard Toggle word wrap

    En este ejemplo, el identificador asignado al dispositivo es 0.0.0009.

  2. Inicie sesión en el sistema operativo invitado de la VM y confirme que el dispositivo aparece en la lista. Por ejemplo:

    # lscss | grep 0.0.0009
    0.0.0009 0.0.0007  3390/0c 3990/e9      f0  f0  ff   12212231 00000000
    Copy to Clipboard Toggle word wrap
  3. Poner el dispositivo en línea. Por ejemplo:

    # chccwdev -e 0.0009
    Setting device 0.0.0009 online
    Done
    Copy to Clipboard Toggle word wrap
Volver arriba
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2025 Red Hat