Montar o volume " iSCSI " no disco " Red Hat Enterprise Linux 9"
Saiba como montar um volume Block Storage for Classic no RHEL 9 com E/S multipath para acesso redundante e de alto desempenho ao armazenamento.
Siga o tutorial para montar um volume IBM Cloud® Block Storage for Classic em um servidor virtual com o sistema operacional Red Hat Enterprise Linux® 9. 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 você estiver usando outro sistema operacional Linux®, consulte a documentação da sua distribuição específica e certifique-se de que o multipath seja compatível com o Asymmetric Logical Unit Access (ALUA) para priorização de caminhos.
Antes de Iniciar
-
Certifique-se de que o host que irá acessar o volume Block Storage for Classic esteja autorizado. Para obter mais informações, consulte Autorizando o host no consoleAutorizandoo host a partir do CLIAutorizando o host com o Terraform.
-
É necessária uma conexão VPN ativa para acessar a rede privada do site IBM Cloud e interagir com vários serviços.
-
Estabeleça uma conexão SSH com o seu servidor. O endereço IP, o nome de usuário e a senha podem ser encontrados no console. No site menu
, clique em Infraestrutura
> Infraestrutura clássica > Devices. Em seguida, localize seu servidor na lista e clique em seu nome para exibir seus detalhes.
Se vários hosts montarem o mesmo volume Block Storage for Classic sem serem gerenciados de forma cooperativa, seus dados correm o risco de serem corrompidos. A corrupção do volume pode ocorrer se forem feitas alterações no volume por vários hosts ao mesmo tempo. Você precisa de um sistema de arquivos de disco compartilhado e com reconhecimento de cluster para evitar a perda de dados, como o 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 seu sistema operacional.
Atualize o sistema operacional e instale os utilitários iSCSI e multipath
Certifique-se de que seu sistema esteja atualizado e inclua os pacotes iscsi-initiator-utils e device-mapper-multipath. Use os comandos a seguir para instalar os pacotes.
-
Atualize o sistema operacional.
sudo dnf update -
Instalar o utilitário multipath
sudo dnf -y install device-mapper-multipathQuando o pacote estiver instalado, digite o comando
mpathconf --enable --user_friendly_names npara ativá-lo. -
Instalar o utilitário ISCSI
sudo dnf -y install iscsi-initiator-utilsQuando o pacote estiver instalado, inicie-o com o comando
systemctl start iscsid.
Atualizar os arquivos de configuração do iSCSI
-
Atualize o arquivo
/etc/iscsi/initiatorname.iscsicom o IQN do consoleIBM Cloud®.- O exemplo a seguir mostra como verificar o nome do iniciador atual.
[root@vsi4classic ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:7acdadcdc20- Abra o arquivo em um editor de texto:
vi /etc/iscsi/initiatorname.iscsi- Digite o IQN no seguinte formato
InitiatorName=<value-from-the-Portal>, como você pode ver no exemplo a seguir. Substitua o valor IQN pelo seu próprio valor.
InitiatorName=iqn.2025-11.com.ibm:sl02su1414935-v154455886- Salve o arquivo (
:w) e saia (:x).
-
Descomente e atualize as seguintes entradas em
/etc/iscsi/iscsid.confusando o nome de usuário e a senha do console IBM Cloud®. Use letras maiúsculas para nomes CHAP (Challenge-Handshake Authentication Protocol).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>Não altere as demais configurações do CHAP. O armazenamento do protocolo IBM Cloud® (IPv4) utiliza apenas autenticação unidirecional. Não ative o CHAP Mútuo.
-
Reinicie o serviço iscsid.
systemctl restart iscsid -
Valide se a configuração está correta executando a descoberta na matriz iSCSI.
Block Storage for Classic requer a descoberta dinâmica de destinos que utilize o método
SendTargets. Não utilize a configuração estática de nós, pois ela não é escalável e pode causar problemas de conectividade quando são feitas alterações no armazenamento (como autorizar ou desautorizar hosts para LUNs). A descoberta dinâmica garante que seu host detecte automaticamente qualquer alteração nos portais de destino.iscsiadm -m discovery -t sendtargets -p TARGET IPSe as informações do endereço IP e os detalhes de acesso forem exibidos, a detecção foi bem-sucedida.
[root@vsi4classic ~]# iscsiadm -m discovery -t sendtargets -p 161.26.99.113 161.26.99.113:3260,1034 iqn.1992-08.com.netapp:stfdal1006 161.26.99.110:3260,1030 iqn.1992-08.com.netapp:stfdal1006
Configurar os caminhos múltiplos
Você configura o DM Multipath com o utilitário mpathconf , que cria o arquivo de configuração do multipath /etc/multipath.conf``. Para obter mais informações sobre o utilitário mpathconf, consulte a
página de manual mpathconf(8).
-
Se ainda não tiver feito isso, digite o comando mpathconf com a opção
--enable.mpathconf --enable --user_friendly_names n -
Edite o arquivo
/etc/multipath.confcomnano,vi, ou outro editor de sua preferência.sudo vi /etc/multipath.conf -
Adicione a seguinte configuração mínima.
defaults { user_friendly_names no find_multipaths on 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 forma que os nomes dos dispositivos multipath tenham o formato /dev/mapper/mpath n, em que
mpath né o WWID (World Wide Identifier) do dispositivo. -
Salve o arquivo de configuração e saia do editor.
-
Emita o seguinte comando.
systemctl start multipathd.serviceSe for necessário editar o arquivo de configuração do multipath após ter iniciado o daemon do multipath, é preciso executar o comando
systemctl reload multipathd.servicepara que as alterações entrem em vigor.
Descobrir o dispositivo de armazenamento e o login
O utilitário iscsiadm é uma ferramenta de linha de comando utilizada para a detecção e o login em destinos do tipo “ iSCSI ”, além do acesso e gerenciamento do banco de dados do 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®.
-
Execute a descoberta com relação à matriz iSCSI.
iscsiadm -m discovery -t sendtargets -p TARGET IPSe as informações do endereço IP e os detalhes de acesso forem exibidos, a detecção foi bem-sucedida.
-
Efetue login na matriz iSCSI.
iscsiadm -m node --login[root@vsi4classic ~]# iscsiadm -m node --login Login to [iface: default, target: iqn.1992-08.com.netapp:stfdal1006, portal: 161.26.99.110,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:stfdal1006, portal: 161.26.99.113,3260] successful.
Verificando a configuração
-
Valide se a sessão iSCSI foi estabelecida.
iscsiadm -m session -o show -
Valide se existem caminhos múltiplos.
multipath -lEsse 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 do iSCSI. É possível conectar um volume usando um único caminho, mas é importante que as conexões sejam estabelecidas em ambos os caminhos para evitar interrupções no serviço.
[root@vsi4classic ~]# multipath -l 3600a0980383056716724514550666270 dm-0 NETAPP,LUN C-Mode size=20G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=0 status=active | `- 2:0:0:0 sda 8:0 active undef running `-+- policy='round-robin 0' prio=0 status=enabled `- 3:0:0:0 sdb 8:16 active undef runningSe 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. O MPIO oferece um nível adicional de conectividade durante esses eventos e mantém uma sessão estabelecida com o volume, com operações ativas de leitura e gravação.
-
Liste as tabelas de partição do dispositivo conectado.
fdisk -l | grep /dev/mapperPor 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.[root@vsi4classic ~]# fdisk -l | grep /dev/mapper Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectorsNo exemplo, a string
3600a0980383056716724514550666270é o WWID. 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 do comandomultipath.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
-
Obtenha o nome do disco.
fdisk -l | grep /dev/mapper[root@vsi4classic ~]# fdisk -l | grep /dev/mapper Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors [root@vsi4classic ~]# fdisk -l /dev/mapper/3600a0980383056716724514550666270 Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes -
Crie uma partição no disco. O exemplo a seguir mostra a criação da partição com valores padrão.
[root@vsi4classic ~]# fdisk /dev/mapper/3600a0980383056716724514550666270 Welcome to fdisk (util-linux 2.37.4). 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 0x2aa2e16c. 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): 1 First sector (2048-41943039, default 2048): 2048 Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): 41943039 Created a new partition 1 of type 'Linux' and of size 20 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Invalid argument The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8). -
Crie um sistema de arquivos na nova partição.
-
A nova partição é listada com o disco, semelhante a
XXXp1, seguida pelo tamanho, Tipo (83) e Linux®. Anote o nome da partição, pois você precisará dele na próxima etapa. (O XXXp1 representa o nome de partição).[root@vsi4classic ~]# fdisk -l /dev/mapper/3600a0980383056716724514550666270 Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes Disklabel type: dos Disk identifier: 0x2aa2e16c Device Boot Start End Sectors Size Id Type /dev/mapper/3600a0980383056716724514550666270p1 2048 41943039 41940992 20G 83 Linu -
Crie o sistema de arquivos:
mkfs.ext3 /dev/mapper/XXXp1[root@vsi4classic ~]# mkfs.ext3 /dev/mapper/3600a0980383056716724514550666270p1 mke2fs 1.46.5 (30-Dec-2021) Discarding device blocks: done Creating filesystem with 5242624 4k blocks and 1310720 inodes Filesystem UUID: 09e7f833-32b7-4c7f-ab68-8c6083cb8a63 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
-
-
Crie um ponto de montagem para o sistema de arquivos e monte-o.
-
Crie um nome de partição
PerfDiskou 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[root@vsi4classic ~]# mkdir /PerfDisk [root@vsi4classic ~]# mount /dev/mapper/3600a0980383056716724514550666270p1 /PerfDisk [root@vsi4classic ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 469M 0 469M 0% /dev/shm tmpfs 188M 11M 177M 6% /run /dev/xvda2 24G 2.0G 21G 9% / /dev/xvda1 974M 320M 588M 36% /boot tmpfs 94M 0 94M 0% /run/user/0 /dev/mapper/3600a0980383056716724514550666270p1 20G 156K 19G 1% /PerfDisk
-
-
Para ativar a montagem automática na inicialização, adicione o novo sistema de arquivos ao arquivo
/etc/fstabdo 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 1Para obter mais informações, consulte Uma introdução ao arquivo Linux
/etc/fstab. - Anexe a linha a seguir ao término de
Criando um sistema de arquivos com parted
No Red Hat Enterprise Linux® 9, o parted vem pré-instalado. No entanto, se for necessário, você pode instalá-lo executando o seguinte comando.
dnf install parted
Para criar um sistema de arquivos com parted, siga estas etapas.
-
Inicie o shell interativo do
parted.parted -
Crie uma partição no disco.
-
A menos que seja especificado o contrário, o utilitário
partedutiliza sua unidade principal, que, na maioria dos casos, é a unidade/dev/sda. Alterne para o disco que você deseja particionar usando o comando select. Substitua XXX pelo seu novo nome do dispositivo.select /dev/mapper/XXX -
Execute o comando
para confirmar se você está no disco correto.print -
Criar uma tabela de partição.
mklabel gpt -
Partedpode 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 utiliza o comandomkpart``. É possível fornecer outros parâmetros a ele, como primary ou logical, dependendo do tipo de partição que você deseja criar.mkpartAs 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 TBse desejar. -
Encerre
partedcomquit.quit
-
-
Crie um sistema de arquivos na nova partição.
mkfs.ext3 /dev/mapper/XXXp1É importante selecionar o disco e a partição corretos ao executar este comando. Verifique o resultado por imprimir a tabela de partição. Na coluna do sistema de arquivos, você pode ver o
ext3. -
Crie um ponto de montagem para o sistema de arquivos e monte-o.
- Crie um nome de partição
PerfDiskou 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 - Crie um nome de partição
-
Para ativar a montagem automática na inicialização, adicione o novo sistema de arquivos ao arquivo
/etc/fstabdo 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 1Para obter mais informações, consulte Uma introdução ao arquivo Linux
/etc/fstab. - Anexe a linha a seguir ao término de
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. O MPIO oferece um nível adicional de conectividade durante esses eventos e mantém uma sessão estabelecida com o volume, com operações ativas de leitura e gravação.
-
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 -lroot@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 runningA sequência de caracteres
3600a09803830304f3124457a45757067no exemplo é o WWID exclusivo do volume. Cada volume é identificado por seu WWID exclusivo, que permanece válido 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/mapperdo 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: 0x2b5072d1O 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 se não há discos locais na lista de dispositivos multipath, exiba a configuração atual com o nível de detalhamento 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 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 detectados 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 nenhum dos caminhos for identificado após a nova verificação, abra um ticket de suporte para que o problema possa ser devidamente investigado.
Desmontando volumes do Block Storage for Classic
- Desmonte o sistema de arquivos.
umount /dev/mapper/XXXp1 /PerfDisk - 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 - 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.
Para obter mais informações, consulte o manual doiscsiadm -m node -o delete -T <TARGET IQN> -p <PORTAL IP:PORT>iscsiadm.