IBM Cloud Docs
Monte o volume iSCSI no sistema operacional Ubuntu

Monte o volume iSCSI no sistema operacional Ubuntu

Este tutorial o orienta sobre como montar um volume IBM Cloud® Block Storage for Classic em um servidor com um sistema operacional Ubuntu. Você criará duas conexões de uma interface de rede do seu host para dois endereços IP de destino da matriz de armazenamento.

Se estiver usando outro sistema operacional Linux®, consulte a documentação da sua distribuição específica e certifique-se de que o multipath ofereça suporte ao ALUA para prioridade de caminho.

Antes de Iniciar

Se vários hosts montarem o mesmo volume Block Storage for Classic sem serem gerenciados de forma cooperativa, seus dados correm risco de distorção. A corrupção de volume pode ocorrer se mudanças forem feitas no volume por vários hosts ao mesmo tempo. É necessário um sistema de arquivos de disco compartilhado com reconhecimento de cluster para evitar perda de dados, como Microsoft Cluster Shared Volumes (CSV), Red Hat Global File System (GFS2), VMware® VMFS e outros. Para obter mais informações, consulte a documentação do sistema operacional de seu host.

É melhor executar o tráfego de armazenamento em uma VLAN, que efetua bypass do firewall. A execução do tráfego de armazenamento por meio de firewalls de software aumenta a latência e afeta negativamente o desempenho do armazenamento. Para obter mais informações sobre o roteamento do tráfego de armazenamento para a sua própria interface de VLAN, consulte as Perguntas mais frequentes.

Antes de começar a configurar o site iSCSI,, certifique-se de que as interfaces de rede estejam definidas e configuradas corretamente para que o pacote open-iscsi funcione corretamente, especialmente durante a inicialização. Nas versões mais recentes do Ubuntu, a principal ferramenta para definir informações de endereço de rede é o Netplan. Ele usa um arquivo de configuração YAML para definir as configurações de rede, substituindo métodos antigos como /etc/network/interfaces. O Netplan pode ser configurado com a linha de comando ou por meio do site NetworkManager em ambientes de desktop.

Para obter mais informações sobre como o serviço iSCSI funciona no sistema operacional Ubuntu, consulte a documentação do iniciador(ou cliente)iSCSI.

Além disso, certifique-se de que o host que acessará o volume Block Storage for Classic esteja autorizado. Para mais informações, veja Autorizando o host no console Autorizando o host da CLI Autorizando o host com Terraform.

Instalar os utilitários iSCSI e de caminhos múltiplos

Certifique-se de que seu sistema esteja atualizado e inclua os pacotes open-iscsi e multipath-tools. Use os comandos a seguir para instalar os pacotes.

  • Instale o open-iscsi.

    sudo apt install open-iscsi
    

    Quando o pacote é instalado, ele cria os dois arquivos a seguir.

    • /etc/iscsi/iscsid.conf
    • /etc/iscsi/initiatorname.iscsi
  • Instale o multipath-tools.

    sudo apt install multipath-tools
    

    Se você quiser inicializar a partir do volume, o pacote multipath-tools-boot também precisará ser instalado.

Configurar os caminhos múltiplos

  1. Depois de instalar o utilitário multipath, crie um arquivo de configuração vazio chamado /etc/multipath.conf.

  2. Modifique os valores padrão de /etc/multipath.conf.

    defaults {
    user_friendly_names no
    max_fds max
    flush_on_last_del yes
    queue_without_daemon no
    dev_loss_tmo infinity
    fast_io_fail_tmo 5
    }
    # All data in the following section must be specific to your system.
    blacklist {
    wwid "SAdaptec*"
    devnode "^hd[a-z]"
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^cciss.*"
    }
    devices {
    device {
    vendor "NETAPP"
    product "LUN"
    path_grouping_policy group_by_prio
    features "3 queue_if_no_path pg_init_retries 50"
    prio "alua"
    path_checker tur
    failback immediate
    path_selector "round-robin 0"
    hardware_handler "1 alua"
    rr_weight uniform
    rr_min_io 128
    }
    

    A seção de padrões iniciais do arquivo de configuração configura o sistema de modo que os nomes dos dispositivos multipath tenham o formato /dev/mapper/mpathn, em que mpathn é o número WWID do dispositivo. Para obter mais informações, consulte os manuais Ubuntu- multipath.conf.

  3. Salve o arquivo de configuração e saia do editor, se necessário.

  4. Inicie o serviço de caminhos múltiplos.

    service multipath-tools start
    

    Se você precisar editar o arquivo de configuração do multipath depois de iniciar o daemon do multipath, deverá reiniciar o serviço multipathd para que as alterações tenham efeito.

    Para obter mais informações sobre como usar o recurso Device Mapper Multipath em Ubuntu 20, consulte Device Mapper Multipathing - Introduction.

Atualizar o arquivo /etc/iscsi/initiatorname.iscsi

Atualize o arquivo /etc/iscsi/initiatorname.iscsi com o IQN no console IBM Cloud®. Insira o valor como lowercase.

InitiatorName=<value-from-the-Portal>

Configurar credenciais

Edite as seguintes configurações em /etc/iscsi/iscsid.conf usando o nome de usuário e a senha do console IBM Cloud®. Use maiúscula para nomes de CHAP.

node.session.auth.authmethod = CHAP
node.session.auth.username = <Username-value-from-Portal>
node.session.auth.password = <Password-value-from-Portal>
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = <Username-value-from-Portal>
discovery.sendtargets.auth.password = <Password-value-from-Portal>

Deixe as outras configurações do CHAP comentadas. O armazenamento IBM Cloud® usa apenas a autenticação unilateral. Não ative o CHAP Mútuo.

Reinicie o serviço iscsi para que as mudanças entrem em vigor.

systemctl restart iscsid.service

Para obter mais informações, consulte os manuais Ubuntu- iscsid e Ubuntu- systemctl.

Descobrir o dispositivo de armazenamento e o login

O utilitário iscsiadm é uma ferramenta de linha de comando usada para a descoberta e o login em alvos iSCSI, além de acesso e gerenciamento do banco de dados open-iscsi. Para obter mais informações, consulte os manuais Ubuntu- iscsiadm. Nesta etapa, descubra o dispositivo usando o endereço IP de destino que foi obtido no console IBM Cloud®.

  1. Execute a descoberta com relação à matriz iSCSI.

    iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>
    

    Se as informações de IP e detalhes de acesso forem exibidas, a descoberta será bem-sucedida.

  2. Configure o login automático.

    sudo iscsiadm -m node --op=update -n node.conn[0].startup -v automatic
    sudo iscsiadm -m node --op=update -n node.startup -v automatic
    
  3. Ative os serviços necessários.

    systemctl enable open-iscsi
    systemctl enable iscsid
    
  4. Reinicie o serviço iscsid.

    systemctl restart iscsid.service
    
  5. Efetue login na matriz iSCSI.

    sudo iscsiadm -m node --loginall=automatic
    

Verificando a configuração

  1. Valide se a sessão iSCSI foi estabelecida.

    iscsiadm -m session -o show
    
  2. Valide se existem caminhos múltiplos.

    multipath -ll
    

    Esse comando relata os caminhos. Se estiver configurado corretamente, cada volume terá um único grupo, com um número de caminhos igual ao número de sessões iSCSI. É possível anexar um volume com um único caminho, mas é importante que as conexões sejam estabelecidas em ambos os caminhos para evitar a interrupção do serviço.

    $ sudo multipath -ll
    mpathb (360014051f65c6cb11b74541b703ce1d4) dm-1 LIO-ORG,TCMU device
    size=1.0G features='0' hwhandler='0' wp=rw
    |-+- policy='service-time 0' prio=1 status=active
    | `- 7:0:0:2 sdh 8:112 active ready running
    `-+- policy='service-time 0' prio=1 status=enabled
      `- 8:0:0:2 sdg 8:96  active ready running
    mpatha (36001405b816e24fcab64fb88332a3fc9) dm-0 LIO-ORG,TCMU device
    size=1.0G features='0' hwhandler='0' wp=rw
    |-+- policy='service-time 0' prio=1 status=active
    | `- 7:0:0:1 sdj 8:144 active ready running
    `-+- policy='service-time 0' prio=1 status=enabled
      `- 8:0:0:1 sdi 8:128 active ready running
    

    Se o MPIO não estiver configurado corretamente, o seu dispositivo de armazenamento poderá se desconectar e aparecer off-line quando uma indisponibilidade de rede ocorrer ou quando as equipes do IBM Cloud® executarem a manutenção. A MPIO fornece um nível extra de conectividade durante esses eventos e mantém uma sessão estabelecida para o volume com operações de leitura/gravação ativas.

    No exemplo, 36001405b816e24fcab64fb88332a3fc9 é o ID universal persistente enquanto o volume existe. Recomenda-se que seu aplicativo utilize o WWID. Também é possível atribuir nomes mais fáceis de ler usando as palavras-chave "user_friendly_names" ou "alias" em multipath.conf.

  3. Verifique dmesg para certificar-se de que os novos discos sejam detectados.

    dmesg
    

Criando uma partição e um sistema de arquivos (opcional)

Depois que o volume é montado e está acessível no host, é possível criar um sistema de arquivos. Siga essas etapas para criar um sistema de arquivos no volume recém-montado.

  1. Crie uma partição.

    $ sudo fdisk /dev/mapper/mpatha
    
    Welcome to fdisk (util-linux 2.34).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    Device does not contain a recognized partition table.
    Created a new DOS disklabel with disk identifier 0x92c0322a.
    
    Command (m for help): p
    Disk /dev/mapper/mpatha: 1 GiB, 1073741824 bytes, 2097152 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 65536 bytes
    Disklabel type: dos
    Disk identifier: 0x92c0322a
    
    Command (m for help): n
    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1):
    First sector (2048-2097151, default 2048):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151):
    
    Created a new partition 1 of type 'Linux' and of size 1023 MiB.
    
    Command (m for help): w
    The partition table has been altered.
    
  2. Crie o sistema de arquivos.

    $ sudo mkfs.ext4 /dev/mapper/mpatha-part1
    mke2fs 1.45.5 (07-Jan-2020)
    Creating filesystem with 261888 4k blocks and 65536 inodes
    Filesystem UUID: cdb70b1e-c47c-47fd-9c4a-03db6f038988
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done
    
  3. Monte o dispositivo de bloco.

    sudo mount /dev/mapper/mpatha-part1 /mnt
    
  4. Acesse os dados para confirmar se a nova partição e o sistema de arquivos estão prontos para uso.

    ls /mnt
    

Desmontando volumes do Block Storage for Classic

Quando você não precisar mais do volume, desmonte-o antes de excluí-lo.

  1. Desmonte o sistema de arquivos.

    umount /dev/mapper/XXXp1 /PerfDisk
    

    Para obter mais informações, consulte os manuais Ubuntu- umount.

  2. Se você não tiver nenhum outro volume nesse portal de destino, será possível efetuar logout do destino.

    iscsiadm -m node -t <TARGET NAME> -p <PORTAL IP:PORT> --logout
    
  3. Se você não tiver nenhum outro volume nesse portal de destino, exclua o registro do portal de destino para evitar futuras tentativas de login.

    iscsiadm -m node -o delete -t <TARGET IQN> -p <PORTAL IP:PORT>
    

    Para obter mais informações, consulte os manuais Ubuntu- iscsiadm.