Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.9. Creación y asignación de volúmenes de almacenamiento mediante la CLI

Para obtener una imagen de disco y adjuntarla a una máquina virtual (VM) como disco virtual, cree un volumen de almacenamiento y asigne su configuración XML a la VM.

Requisitos previos

  • Hay un pool de almacenamiento con espacio no asignado en el host. Para verificarlo, liste los pools de almacenamiento en el host:

    # virsh pool-list --details
    
    Name               State     Autostart   Persistent   Capacity     Allocation   Available
    --------------------------------------------------------------------------------------------
    default            running   yes         yes          48.97 GiB    36.34 GiB    12.63 GiB
    Downloads          running   yes         yes          175.92 GiB   121.20 GiB   54.72 GiB
    VM-disks           running   yes         yes          175.92 GiB   121.20 GiB   54.72 GiB

Procedimiento

  1. Crea un volumen de almacenamiento utilizando el comando virsh vol-create-as. Por ejemplo, para crear un volumen qcow2 de 20 GB basado en el pool de almacenamiento guest-images-fs:

    # virsh vol-create-as --pool guest-images-fs --name vm-disk1 --capacity 20 --format qcow2

    Important: Algunos tipos de pool de almacenamiento no soportan el comando virsh vol-create-as y en su lugar requieren procesos específicos para crear volúmenes de almacenamiento:

    • GlusterFS-based - Utilice el comando qemu-img para crear volúmenes de almacenamiento.
    • iSCSI-based - Prepare los LUNs iSCSI por adelantado en el servidor iSCSI.
    • Multipath-based - Utilice el comando multipathd para preparar o gestionar el multipath.
    • vHBA-based - Prepare la tarjeta de canal de fibra por adelantado.
  2. Cree un archivo XML y añada las siguientes líneas en él. Este archivo se utilizará para añadir el volumen de almacenamiento como un disco a una VM.

    <disk type='volume' device='disk'>
        <driver name='qemu' type='qcow2'/>
        <source pool='guest-images-fs' volume='vm-disk1'/>
        <target dev='hdk' bus='ide'/>
    </disk>

    Este ejemplo especifica un disco virtual que utiliza el volumen vm-disk1, creado en el paso anterior, y configura el volumen como disco hdk en un bus ide. Modifique los parámetros respectivos según sea apropiado para su entorno.

    Important: Con determinados tipos de pool de almacenamiento, debe utilizar diferentes formatos XML para describir un disco de volumen de almacenamiento.

    • Para piscinas GlusterFS-based:

        <disk type='network' device='disk'>
          <driver name='qemu' type='raw'/>
          <source protocol='gluster' name='Volume1/Image'>
            <host name='example.org' port='6000'/>
          </source>
          <target dev='vda' bus='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
        </disk>
    • Para piscinas multipath-based:

      <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/mapper/mpatha' />
      <target dev='sda' bus='scsi'/>
      </disk>
    • Para piscinas RBD-based storage:

        <disk type='network' device='disk'>
          <driver name='qemu' type='raw'/>
          <source protocol='rbd' name='pool/image'>
            <host name='mon1.example.org' port='6321'/>
          </source>
          <target dev='vdc' bus='virtio'/>
        </disk>
  3. Utilice el archivo XML para asignar el volumen de almacenamiento como disco a una VM. Por ejemplo, para asignar un disco definido en ~/vm-disk1.xml a la VM testguest1:

    # attach-device --config testguest1 ~/vm-disk1.xml

Verificación

  • En el sistema operativo invitado de la VM, confirme que la imagen de disco ha quedado disponible como un disco sin formatear y sin asignar.