Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.9. Criação e atribuição de volumes de armazenamento usando o CLI

Para obter uma imagem de disco e anexá-la a uma máquina virtual (VM) como disco virtual, criar um volume de armazenamento e atribuir sua configuração XML a uma VM.

Pré-requisitos

  • Uma piscina de armazenamento com espaço não alocado está presente no anfitrião. Para verificar, liste os pools de armazenamento no 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

Procedimento

  1. Crie um volume de armazenamento usando o comando virsh vol-create-as. Por exemplo, para criar um volume de 20 GB qcow2 com base no pool de armazenamento guest-images-fs:

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

    Important: Tipos específicos de pool de armazenamento não suportam o comando virsh vol-create-as e, em vez disso, requerem processos específicos para criar volumes de armazenamento:

    • GlusterFS-based - Use o comando qemu-img para criar volumes de armazenamento.
    • iSCSI-based - Prepare os iSCSI LUNs com antecedência no servidor iSCSI.
    • Multipath-based - Use o comando multipathd para preparar ou administrar o multipath.
    • vHBA-based - Prepare o cartão do canal de fibra com antecedência.
  2. Criar um arquivo XML, e adicionar as seguintes linhas nele. Este arquivo será usado para adicionar o volume de armazenamento como um disco a uma 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 exemplo especifica um disco virtual que utiliza o volume vm-disk1, criado na etapa anterior, e define o volume a ser configurado como disco hdk em um ônibus ide. Modifique os respectivos parâmetros conforme apropriado para seu ambiente.

    Important: Com tipos específicos de pool de armazenamento, você deve usar diferentes formatos XML para descrever um disco de volume de armazenamento.

    • Para GlusterFS-based pools:

        <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 multipath-based pools:

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

        <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. Use o arquivo XML para atribuir o volume de armazenamento como um disco a uma VM. Por exemplo, para atribuir um disco definido em ~/vm-disk1.xml para a VM testguest1:

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

Verificação

  • No sistema operacional convidado da VM, confirme que a imagem do disco ficou disponível como um disco não formatado e não alocado.