Ligar-se aos volumes Elastic SAN - Linux

Este artigo explica como se conectar a um volume SAN elástico a partir de um cliente Linux individual. Para obter detalhes sobre como conectar-se a partir de um cliente Windows, consulte Conectar-se a volumes SAN elásticos – Windows.

Neste artigo, configura o seu grupo de volumes para permitir ligações a partir da sua sub-rede. Depois, configura o ambiente do cliente para se ligar a um volume Elastic SAN e estabelecer uma ligação.

Você deve usar um gerenciador de cluster ao conectar um volume SAN elástico individual a vários clientes. Para mais detalhes, consulte Usar aplicações clusterizadas no Azure Elastic SAN.

Pré-requisitos

Ativar iniciador iSCSI

Para criar conexões iSCSI a partir de um cliente Linux, instale o pacote do iniciador iSCSI. O comando exato pode variar dependendo da sua distribuição, e você deve consultar a documentação deles, se necessário.

Por exemplo, com o Ubuntu, use sudo apt install open-iscsi. Com o SUSE Linux Enterprise Server (SLES), use sudo zypper install open-iscsi. Com o Red Hat Enterprise Linux (RHEL), use sudo yum install iscsi-initiator-utils.

Instalar Multipath I/O

Para obter mais IOPS e throughput para um volume e atingir os seus limites máximos, crie múltiplas sessões do iniciador iSCSI até ao volume alvo com base nas capacidades multithread e requisitos de desempenho da sua aplicação. Use I/O Multipath para agregar estes múltiplos caminhos num único dispositivo e melhorar o desempenho ao distribuir de forma ótima as E/S por todos os caminhos disponíveis com base numa política de balanceamento de carga.

Instale o pacote Multipath I/O para sua distribuição Linux. O processo de instalação varia consoante a sua distribuição, por isso consulte a documentação deles. Por exemplo, no Ubuntu, use o comando sudo apt install multipath-tools. No SLES, usa sudo zypper install multipath-tools. No caso do RHEL, usa sudo yum install device-mapper-multipath.

Depois de instalar o pacote, verifica se /etc/multipath.conf existe. Se /etc/multipath.conf não existir, crie um ficheiro vazio e use as configurações no exemplo a seguir como configuração geral. Por exemplo, mpathconf --enable cria /etc/multipath.conf no RHEL.

Modificar /etc/multipath.conf. Adicione a secção dos dispositivos no exemplo seguinte. A secção de predefinições no exemplo seguinte estabelece alguns padrões que são geralmente aplicáveis. Para outras configurações específicas, como excluir volumes da topologia multipath, consulte a página do manual multipath.conf.

defaults {
    user_friendly_names yes		# To create ‘mpathn’ names for multipath devices
    path_grouping_policy multibus	# To place all the paths in one priority group
    path_selector "round-robin 0"	# To use round robin algorithm to determine path for next I/O operation
    failback immediate			# For immediate failback to highest priority path group with active paths
    no_path_retry 3			# To disable I/O queueing after retrying once when all paths are down
    polling_interval 5         # Set path check polling interval to 5 seconds
    find_multipaths yes        # To allow multipath to take control of only those devices that have multiple paths 
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

Depois de criar ou modificar o arquivo, reinicie o Multipath I/O. No Ubuntu, usa o comando sudo systemctl restart multipath-tools.service. Nos RHEL e SLES, use sudo systemctl restart multipathd.

Anexar volumes ao cliente

Use o script seguinte para criar as suas ligações. Para executá-lo, colete ou determine os seguintes parâmetros:

  • subscrição: ID da subscrição
  • g: Nome do Grupo de Recursos
  • e: Nome da SAN elástica
  • v: Nome do Grupo de Volume
  • n <vol1, vol2, ...>: Nomes dos volumes 1 e 2 e outros nomes de volume que você pode precisar, separados por vírgulas
  • s: Número de sessões para cada volume (definido como 32 por padrão)

Copie o script daqui e guarde-o como ficheiro .py, por exemplo, connect.py. Em seguida, execute-o com os parâmetros necessários. A seguir está um exemplo de como você executaria o script:

./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32

Pode verificar o número de sessões usando sudo multipath -ll.

Definir o número da sessão

Use 32 sessões para cada volume alvo para atingir os limites máximos de IOPS e throughput.

Pode alterar a contagem de sessões executando o script e seguindo estas instruções:

Observação

Use -n para definir o número de sessões. O parâmetro aceita valores de 1 a 32, e por defeito é 32.

python3 connect_for_documentation.py \ 

--subscription <your-subscription-id>\ 

-g <resource-group>\ 

-e <elastic-san-name>\ 

-v <volume-group-name>\ 

-n volume1 volume2 \ 

-s <value>

Próximos passos

Configurar a rede SAN elástica