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).
-
Digite o comando mpathconf com a opção
--enable
.# mpathconf --enable --user_friendly_names n
-
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. -
Salve o arquivo de configuração e saia do editor, se necessário.
-
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®.
-
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.
-
Efetue login na matriz iSCSI.
iscsiadm -m node --login
Verificando a configuração
-
Valide se a sessão iSCSI foi estabelecida.
iscsiadm -m session -o show
-
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.
-
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 manualmultipath.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
O nome do disco retornado é semelhante a
/dev/mapper/XXX
. -
Crie uma partição no disco.
fdisk /dev/mapper/XXX
O XXX representa o nome do disco que é retornado na Etapa 1.
-
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
-
-
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
-
-
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
. - Anexe a linha a seguir ao término de
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.
-
Inicie o shell interativo
parted
.parted
-
Crie uma partição no disco.
-
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
-
Execute
print
para confirmar que você está no disco correto.print
-
Crie uma tabela de partição GPT.
mklabel gpt
-
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çomkpart
. É 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. -
Encerre
parted
comquit
.quit
-
-
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.
-
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
- Crie um nome de partição
-
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
. - 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. 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
- 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 manualiscsiadm -m node -o delete -T <TARGET IQN> -p <PORTAL IP:PORT>
iscsiadm
.