Skip to main content
NetApp virtualization solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Configurar o LVM Thin com ONTAP iSCSI para OpenNebula

Colaboradores sureshthoppay

Configure o datastore Logical Volume Manager (LVM) para storage compartilhado entre hosts OpenNebula usando o protocolo iSCSI com NetApp ONTAP. Essa configuração permite acesso ao storage em nível de bloco por redes Ethernet padrão com suporte a multipath.

Tarefas iniciais do administrador de virtualização

Conclua estas tarefas iniciais para preparar os hosts OpenNebula para conectividade iSCSI e coletar as informações necessárias para o administrador de storage.

  1. Verifique se duas interfaces VLAN do Linux estão disponíveis.

  2. Certifique-se de que multipath-tools e os utilitários de iniciador iSCSI estejam instalados em todos os hosts OpenNebula e iniciem na inicialização.

    Debian/Ubuntu
    apt list | grep multipath-tools
    # If need to install, execute the following line.
    apt-get install multipath-tools open-iscsi
    # If /etc/multipath.conf is not present, first make sure the multipathd service is started.
    systemctl enable --now multipathd
    systemctl enable --now open-iscsi
    RHEL/AlmaLinux
    dnf list installed | grep device-mapper-multipath
    # If need to install, execute the following line.
    dnf install device-mapper-multipath iscsi-initiator-utils
    # If /etc/multipath.conf is not present, first make sure the multipathd service is started.
    systemctl enable --now multipathd
    systemctl enable --now iscsid
  3. Colete o IQN do host iSCSI para todos os hosts OpenNebula e forneça-o ao administrador de storage.

    cat /etc/iscsi/initiator.name

Se você é novo no ONTAP, use o Gerenciador de Sistemas para uma melhor experiência.

  1. Certifique-se de que a SVM esteja disponível com o protocolo iSCSI ativado. Seguir "Documentação do ONTAP 9".

  2. Crie duas LIFs por controlador dedicadas para iSCSI. Recomenda-se duas LIFs por controlador para redundância e desempenho de multipath. Certifique-se de que as LIFs sejam criadas nas interfaces VLAN configuradas nos hosts OpenNebula. Jumbo frames (MTU 9000) são recomendados para melhor desempenho.

    detalhes da interface iscsi

  3. Crie LUNs e apresente aos iniciadores iSCSI do host. Normalmente, um igroup é criado para um cluster OpenNebula. Inclua servidores frontend e hosts hipervisor no mesmo igroup para suportar tanto datastores de Imagem quanto de Sistema.

  4. Informe ao administrador de virtualização que o LUN foi criado.

Tarefas finais do administrador de virtualização

Conclua estas tarefas para configurar o iSCSI LUN como um datastore LVM compartilhado em OpenNebula.

  1. Conecte-se via SSH a um dos servidores frontend e descubra todos os portais iSCSI Lif fornecendo um dos endereços de dados iSCSI lif.

    iscsiadm -m discovery -t sendtargets -p <iscsi data lif address>
    iscsiadm -m node
    iscsiadm -m node -l
    iscsiadm -m session
  2. Execute `rescan-scsi-bus.sh`ou `echo "- - -" > /sys/class/scsi_host/host*/scan`para reanalisar o barramento SCSI e detectar novos LUNs.

  3. Verifique se o LUN está visível em todos os hosts OpenNebula usando lsblk -S ou o comando fdisk -l.

  4. Execute iscsiadm -m session -P 3 para recuperar o mapeamento entre LUN e nome do dispositivo.

  5. Adicione o dispositivo à configuração multipath executando multipath -a /dev/<device_name>. Em seguida, execute multipath -r para recarregar a configuração multipath. Verifique a configuração multipath executando o comando multipath -ll.

  6. Crie um arquivo de configuração com base no tipo de Datastore desejado. Para obter a lista completa de atributos, consulte "OpenNebula documentação LVM". Exemplos de arquivos são mostrados abaixo:

    Backup
    1. Para Restic,

    $cat iscsi-restic.conf
    NAME = "Backup-Restic-iSCSI01"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "restic"
    TM_MAD = "-"
    
    RESTIC_PASSWORD = "<restic_password>"
    RESTIC_SFTP_SERVER = "<backup server>"
    1. Para Rsync,

    $cat iscsi-rsync.conf
    NAME = "Backup-Rsync-iSCSI02"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "rsync"
    TM_MAD = "-"
    
    RSYNC_USER = "<rsync_user>"
    RSYNC_HOST = "<backup server>"
    Arquivo
    $cat iscsi-kernel.conf
    NAME = "File-Kernel-iSCSI03"
    TYPE = "FILE_DS"
    DS_MAD = "fs"
    TM_MAD = "local"
    SAFE_DIRS = "/var/tmp/files"
    Imagem
    $cat iscsi-image.conf
    NAME = "Image-iSCSI04"
    TYPE = "IMAGE_DS"
    DS_MAD = "fs"
    TM_MAD = "fs_lvm_ssh"
    DISK_TYPE = "block"
    LVM_THIN_ENABLE = "yes"
    Sistema
    $cat iscsi-system.conf
    NAME = "System-iSCSI05"
    TYPE = "SYSTEM_DS"
    TM_MAD = "fs_lvm_ssh"
    DISK_TYPE = "block"
    BRIDGE_LIST = "<space-separated list of OpenNebula hosts>" # If LUN not presented to frontend hosts
    LVM_THIN_ENABLE = "yes"
  7. Execute onedatastore create <configuration file>. Observe o ID do datastore retornado após a criação.

    onedatastore create iscsi-system.conf ID: 106

  8. Crie grupo de volume no iSCSI LUN usando vgcreate <vg_name> <multipath_device> comando. Para datastores de imagem, o nome do grupo de volume pode ser qualquer um desejado. Para datastores de sistema, o nome do grupo de volume deve estar no formato vg-one-<datastore id>. Isso é necessário para OpenNebula identificar o grupo de volume correto para datastores de sistema. Prossiga com os seguintes passos se estiver criando um datastore de backup/arquivo/imagem. Para datastores de sistema, pare aqui.

  9. Crie um pool de volumes lógicos finos usando lvcreate -l 100%FREE -n <logical volume name> <volume group name> comando. Para datastores do sistema, OpenNebula cria automaticamente o pool de volumes lógicos finos LVM quando necessário.

  10. Crie o sistema de arquivos no volume lógico usando o comando mkfs.ext4 /dev/<volume group>/<logical volume>. Os datastores do sistema não exigem a criação de sistema de arquivos.

  11. Atualize /etc/fstab ou a configuração de automount para montar o datastore com as opções de montagem desejadas. Assumindo o local padrão do datastore como /var/lib/one/datastores. Pode ser validado com onedatastore show <datastore_id>. Se não, verifique o parâmetro DATASTORE_LOCATION em /etc/one/oned.conf. Certifique-se de que a pasta <datastore_id> exista sob o local dos datastores. Entradas de exemplo são mostradas abaixo:

    Usando /etc/fstab
    /dev/<vg name>/<logical volume> /var/lib/one/datastores/<datastore_id> ext4 _netdev,noauto,x-systemd.automount,nofail 0 2
    Usando automount
    /var/lib/one/datastores/<datastore_id> -fstype=ext4,_netdev,noauto,x-systemd.automount,nofail,rw :/dev/<vg name>/<logical volume>
  12. Monte o datastore usando mount -a ou systemctl reload autofs comando.

  13. Verifique se o datastore está montado com o comando mount e verifique a capacidade do datastore com o comando onedatastore show <datastore_id>.

  14. Certifique-se de que o usuário e o grupo oneadmin sejam os proprietários da pasta datastore. Ajuste as permissões usando o comando chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id>.