Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.2. Criação e atribuição de armazenamento em disco para máquinas virtuais usando o CLI

A seguir, são fornecidas informações sobre a criação de pools e volumes de armazenamento baseados em disco e a atribuição de volumes a máquinas virtuais.

11.2.2.2.1. Criação de pools de armazenamento baseados em disco usando o CLI

A seguir são fornecidas instruções para a criação de pools de armazenamento baseados em disco.

Recomendações

Esteja atento ao seguinte antes de criar um pool de armazenamento baseado em disco:

  • Dependendo da versão do libvirt que estiver sendo usada, a dedicação de um disco a um pool de armazenamento pode reformatar e apagar todos os dados atualmente armazenados no dispositivo do disco. É altamente recomendável que você faça backup dos dados no dispositivo de armazenamento antes de criar um pool de armazenamento.
  • VMs não devem ter acesso de escrita a discos inteiros ou dispositivos de bloqueio (por exemplo, /dev/sdb). Utilizar partições (por exemplo, /dev/sdb1) ou volumes LVM.

    Se você passar um dispositivo de bloco inteiro para uma VM, a VM provavelmente o partirá ou criará seus próprios grupos LVM sobre ele. Isto pode fazer com que a máquina host detecte estas partições ou grupos LVM e cause erros.

Pré-requisitos

  • Assegure-se de que seu hipervisor suporta pools de armazenamento baseados em disco:

    # virsh pool-capabilities | grep "'disk' supported='yes'"

    Se o comando exibir qualquer saída, os pools baseados em disco são suportados.

Procedimento

  1. Create a storage pool

    Use o comando virsh pool-define-as para definir e criar um pool de armazenamento do tipo disco. Por exemplo, para criar um pool de armazenamento chamado guest_images_disk que utiliza a partição /dev/sdb1, e é montado no diretório /dev:

    # virsh pool-define-as guest_images_disk disk gpt --source-dev=/dev/sdb1 --target /dev
    Pool guest_images_disk defined

    Se você já possui uma configuração XML do pool de armazenamento que deseja criar, você também pode definir o pool com base no XML. Para detalhes, veja Seção 11.2.2.2.2, “Parâmetros do pool de armazenamento em disco”.

  2. Create the storage pool target path

    Use o comando virsh pool-build para criar um caminho de destino do pool de armazenamento para um pool de armazenamento de sistema de arquivos pré-formatado, inicializar o dispositivo de fonte de armazenamento e definir o formato dos dados.

    # virsh pool-build guest_images_disk
      Pool guest_images_disk built
    Nota

    A construção do caminho de destino só é necessária para pools de armazenamento baseados em disco, em sistema de arquivos e lógicos. Se libvirt detectar que o formato de dados do dispositivo de armazenamento de origem difere do tipo de pool de armazenamento selecionado, a construção falha, a menos que o overwrite a opção é especificada.

  3. Verify that the pool was created

    Use o comando virsh pool-list para verificar se o pool foi criado.

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_disk    inactive   no
  4. Start the storage pool

    Use o comando virsh pool-start para montar o pool de armazenamento.

    # virsh pool-start guest_images_disk
      Pool guest_images_disk started
    Nota

    O comando virsh pool-start só é necessário para poços de armazenamento persistentes. Os pools de armazenagem transitórios são automaticamente iniciados quando são criados.

  5. [Optional] Turn on autostart

    Por padrão, um pool de armazenamento definido com o comando virsh não é definido para iniciar automaticamente cada vez que a libvirtd inicia. Use o comando virsh pool-autostart para configurar o pool de armazenamento para reiniciar automaticamente.

    # virsh pool-autostart guest_images_disk
      Pool guest_images_disk marked as autostarted

Verificação

  1. Use o comando virsh pool-list para verificar o Autostart estado.

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_disk    inactive   yes
  2. Verificar se o pool de armazenagem foi criado corretamente, se os tamanhos relatados são os esperados e se o estado é relatado como running.

    # virsh pool-info guest_images_disk
      Name:           guest_images_disk
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB