IBM Cloud Docs
Monte o volume iSCSI em Red Hat Enterprise Linux 8

Monte o volume iSCSI em Red Hat Enterprise Linux 8

Este tutorial o orienta sobre como montar um volume IBM Cloud® Block Storage for Classic em um servidor com o sistema operacional Red Hat Enterprise Linux® 8. 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, 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 iscsi-initiator-utils e device-mapper-multipath. Use o comando a seguir para instalar os pacotes.

sudo dnf -y install iscsi-initiator-utils device-mapper-multipath

Configurar os caminhos múltiplos

Você configura o DM Multipath com o utilitário mpathconf, que cria o arquivo de configuração multipath /etc/multipath.conf.

  • Se o arquivo /etc/multipath.conf existir, o utilitário mpathconf poderá editá-lo.
  • Se o arquivo /etc/multipath.conf não existir, o utilitário mpathconf criará o arquivo /etc/multipath.conf do início.

Para obter mais informações sobre o utilitário mpathconf, consulte a página de manual mpathconf(8).

  1. Digite o comando mpathconf com a opção --enable.

    # mpathconf --enable --user_friendly_names n
    
  2. Edite o arquivo /etc/multipath.conf com a seguinte configuração mínima.

    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 "2 pg_init_retries 50"
    no_path_retry queue
    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/mpath n, em que mpath n é o WWID do dispositivo.

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

  4. Emita o seguinte comando.

    systemctl start multipathd.service
    

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

    Para obter mais informações sobre como usar o recurso Device Mapper Multipath no RHEL 8, consulte Configuração do device mapper multipath.

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.

Descobrir o dispositivo de armazenamento e o login

O utilitário iscsiadm é uma ferramenta de linha de comando usada para descoberta e login em alvos iSCSI, além de acesso e gerenciamento do banco de dados open-iscsi. Para obter mais informações, consulte a página de manual do iscsiadm(8). Nessa etapa, descubra o dispositivo usando o endereço IP de destino obtido do console da 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 do endereço IP e os detalhes de acesso forem exibidos, a descoberta foi bem-sucedida.

  2. Efetue login na matriz iSCSI.

    iscsiadm -m node --login
    

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 -l
    

    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.

    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.

  3. Liste as tabelas de partição do dispositivo conectado.

    fdisk -l | grep /dev/mapper
    

    Por padrão, o dispositivo de armazenamento se conecta ao /dev/mapper/<wwid>. O ID universal é persistente enquanto o volume existe. O comando relata algo semelhante ao exemplo a seguir.

    Disk /dev/mapper/3600a0980383030523424457a4a695266: 73.0 GB, 73023881216 bytes
    

    No exemplo, a string 3600a0980383030523424457a4a695266 é o WWID. O seu aplicativo deve usar 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. Para obter mais informações, consulte a página de manual multipath.conf.

    O volume agora está montado e acessível no host. É possível criar um sistema de arquivos em seguida.

Criando um sistema de arquivos (opcional)

Siga essas etapas para criar um sistema de arquivos no volume recém-montado. Um sistema de arquivos é necessário para que a maioria dos aplicativos use o volume. Use fdisk para unidades com menos de 2 TB e parted para um disco com mais de 2 TB.

Criando um sistema de arquivos com fdisk

  1. Obtenha o nome do disco.

    fdisk -l | grep /dev/mapper
    

    O nome do disco retornado é semelhante a /dev/mapper/XXX.

  2. Crie uma partição no disco.

    fdisk /dev/mapper/XXX
    

    O XXX representa o nome do disco que é retornado na Etapa 1.

  3. Crie um sistema de arquivos na nova partição.

    fdisk –l /dev/mapper/XXX
    
    • A nova partição é listada com o disco, semelhante a XXXp1, seguida pelo tamanho, Type (83) e Linux®.

    • Anote o nome da partição, ele será necessário na próxima etapa. (O XXXp1 representa o nome de partição).

    • Crie o sistema de arquivos:

      mkfs.ext3 /dev/mapper/XXXp1
      
  4. Crie um ponto de montagem para o sistema de arquivos e monte-o.

    • Crie um nome de partição PerfDisk ou o local em que você deseja montar o sistema de arquivos.

      mkdir /PerfDisk
      
    • Monte o armazenamento com o nome de partição.

      mount /dev/mapper/XXXp1 /PerfDisk
      
    • Verifique se você vê seu novo sistema de arquivos listado.

      df -h
      
  5. Para ativar a inicialização de montagem automática, inclua o novo sistema de arquivos no arquivo /etc/fstab do sistema.

    • Anexe a linha a seguir ao término de /etc/fstab (com o nome da partição da Etapa 3).
    /dev/mapper/XXXp1    /PerfDisk    ext3    defaults,_netdev    0    1
    

    Para obter mais informações, consulte Uma introdução ao arquivo Linux /etc/fstab.

Criando um sistema de arquivos com parted

Em muitas distribuições do Linux®, o parted vem pré-instalado. No entanto, se necessário, você pode instalá-lo emitindo o seguinte comando.

# dnf install parted

Para criar um sistema de arquivos com parted, siga estas etapas.

  1. Inicie o shell interativo parted.

    parted
    
  2. Crie uma partição no disco.

    1. A menos que seja especificado de outra forma, o utilitário parted usa sua unidade primária, que é /dev/sda na maioria dos casos. Alterne para o disco que você deseja particionar usando o comando select. Substitua XXX pelo seu novo nome do dispositivo.

      select /dev/mapper/XXX
      
    2. Execute print para confirmar que você está no disco correto.

      print
      
    3. Crie uma tabela de partição GPT.

      mklabel gpt
      
    4. Parted pode ser usado para criar partições de disco primárias e lógicas; as etapas envolvidas são as mesmas. Para criar uma partição, o utilitário usa o endereço mkpart. É possível fornecer outros parâmetros a ele, como primary ou logical, dependendo do tipo de partição que você deseja criar.

      mkpart
      

      As unidades listadas padrão para megabytes (MB). Para criar uma partição de 10 GB, inicie em 1 e termine em 10000. Também é possível mudar as unidades de dimensionamento para terabytes inserindo unit TB se desejar.

    5. Encerre parted com quit.

      quit
      
  3. Crie um sistema de arquivos na nova partição.

    mkfs.ext3 /dev/mapper/XXXp1
    

    É importante selecionar o disco e a partição corretos quando você executar esse comando. Verifique o resultado por imprimir a tabela de partição. Na coluna do sistema de arquivos, você pode ver ext3.

  4. Crie um ponto de montagem para o sistema de arquivos e monte-o.

    • Crie um nome de partição PerfDisk ou o local em que você deseja montar o sistema de arquivos.
    mkdir /PerfDisk
    
    • Monte o armazenamento com o nome de partição.
    mount /dev/mapper/XXXp1 /PerfDisk
    
    • Verifique se você vê seu novo sistema de arquivos listado.
    df -h
    
  5. Para ativar a inicialização de montagem automática, inclua o novo sistema de arquivos no arquivo /etc/fstab do sistema.

    • Anexe a linha a seguir ao término de /etc/fstab (usando o nome da partição da Etapa 3).
    /dev/mapper/XXXp1    /PerfDisk    ext3    defaults,_netdev    0    1
    

    Para obter mais informações, consulte Uma introdução ao arquivo Linux /etc/fstab.

Gerenciamento de permissões de usuário para o conteúdo do volume montado

Como administrador do sistema, você pode gerenciar o acesso aos dados no volume montado. Depois que o sistema de arquivos estiver pronto, você poderá refinar o controle de acesso usando os comandos chown e chmod para atribuir permissões de leitura, gravação e execução a usuários e grupos individuais. Para obter mais informações, consulte o tutorial de Red Hat: Como gerenciar as permissões do Linux para usuários, grupos e outros.

Verificando a configuração do MPIO

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.

  • Para verificar se os caminhos múltiplos estão selecionando os dispositivos, liste a configuração atual. Se estiver configurado corretamente, existirá um único grupo para cada volume, com um número de caminhos igual ao número de sessões iSCSI.

    multipath -l
    
    root@server:~# multipath -l
    3600a09803830304f3124457a45757067 dm-1 NETAPP,LUN C-Mode
    size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=-1 status=active
    | `6:0:0:101 sdd 8:48 active ready running
    `-+- policy='round-robin 0' prio=-1 status=enabled
     `- 7:0:0:101 sde 8:64 active ready running
    

    A string 3600a09803830304f3124457a45757067 no exemplo é o WWID exclusivo do volume. Cada volume é identificado por seu WWID exclusivo, que é persistente enquanto o volume existir.

  • Confirme que todos os discos estão presentes. Em uma configuração correta, é possível esperar que dois discos sejam mostrados na saída com o mesmo identificador e uma listagem /dev/mapper do mesmo tamanho com o mesmo identificador. O dispositivo /dev/mapper é aquele que os caminhos múltiplos configuram.

    fdisk -l | grep Disk
    
    • Saída de exemplo de uma configuração correta.
    root@server:~# fdisk -l | grep Disk
    Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d
    Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    Disk /dev/mapper/3600a09803830304f3124457a45757066: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    

    O ID universal é incluído no nome do dispositivo criado pelos caminhos múltiplos. Recomenda-se que o WWID seja usado pelo seu aplicativo.

    • Saída de exemplo de uma configuração incorreta. Não existe nenhum disco /dev/mapper.
    root@server:~# fdisk -l | grep Disk
    Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d
    Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    
  • Para confirmar que nenhum disco local está incluído na lista de dispositivos multipath, exiba a configuração atual com nível de verbosidade 3. A saída do comando a seguir exibe os dispositivos e também mostra quais foram incluídos na lista de bloqueios.

    multipath -l -v 3 | grep sd <date and time>
    
  • Se um volume for provisionado e anexado enquanto o segundo caminho estiver inativo, o host poderá ver um único caminho quando a varredura de descoberta for executada pela primeira vez. Se você encontrar esse fenômeno raro, verifique a página de status IBM Cloud® para ver se um evento que afeta a capacidade do seu host de acessar o armazenamento está em andamento. Se nenhum evento for relatado, execute a varredura de descoberta novamente para garantir que todos os caminhos sejam descobertos corretamente. Se um evento estiver em andamento, o armazenamento poderá ser anexado com um único caminho. No entanto, é essencial que os caminhos sejam varridos novamente após a conclusão do evento. Se os dois caminhos não forem descobertos após a nova varredura, crie um caso de suporte para que ele possa ser investigado adequadamente.

Desmontando volumes do Block Storage for Classic

  1. Desmonte o sistema de arquivos.
    umount /dev/mapper/XXXp1 /PerfDisk
    
  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 o manual iscsiadm.