Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.5. Criação e atribuição de armazenamento baseado em iSCSI para máquinas virtuais usando o CLI

O seguinte fornece informações sobre a criação de pools de armazenamento e volumes de armazenamento baseados em iSCSI, protegendo os pools de armazenamento baseados em iSCSI com libvirt segredos, e atribuindo volumes a máquinas virtuais.

Recomendações

Internet Small Computer System Interface (iSCSI) é um protocolo de rede para compartilhar dispositivos de armazenamento. iSCSI conecta iniciadores (clientes de armazenamento) a alvos (servidores de armazenamento) usando instruções SCSI sobre a camada IP.

O uso de dispositivos baseados em iSCSI para armazenar máquinas virtuais permite opções de armazenamento mais flexíveis, como o uso de iSCSI como um dispositivo de armazenamento em bloco. Os dispositivos iSCSI usam um alvo Linux-IO (LIO). Este é um alvo SCSI multiprotocolo para Linux. Além do iSCSI, o LIO também suporta Fibre Channel e Fibre Channel over Ethernet (FCoE).

Se você precisar impedir o acesso a um pool de armazenamento iSCSI, você pode protegê-lo usando um segredo de libvirt.

Pré-requisitos
  • Antes de poder criar um pool de armazenamento baseado em iSCSI, você deve criar metas iSCSI. Você pode criar alvos iSCSI são criados usando o pacote targetcli, que fornece um conjunto de comandos para a criação de alvos iSCSI com suporte de software.

    Para mais informações e instruções sobre a criação de alvos iSCSI, consulte o documento Managing storage devices.

11.2.2.5.1. Criação de pools de armazenamento baseados em iSCSI usando o CLI

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

Pré-requisitos

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

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

    Se o comando exibir qualquer saída, os pools baseados em iSCSI 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 iSCSI. Por exemplo, para criar um pool de armazenamento chamado guest_images_iscsi que usa o iqn.2010-05.com.example.server1:iscsirhel7guest IQN no server1.example.com, e é montado no caminho /dev/disk/by-path:

    # virsh pool-define-as --name guest_images_iscsi --type iscsi --source-host server1.example.com --source-dev iqn.2010-05.com.example.server1:iscsirhel7guest --target /dev/disk/by-path
    Pool guest_images_iscsi 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.5.2, “parâmetros do pool de armazenamento baseado em iSCSI”.

  2. 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_iscsi   inactive   no
  3. Start the storage pool

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

    # virsh pool-start guest_images_iscsi
      Pool guest_images_iscsi 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.

  4. [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_iscsi
      Pool guest_images_iscsi 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_iscsi   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. Verifique se há um diretório lost found no caminho de destino no sistema de arquivos, indicando que o dispositivo está montado.

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