Conectar-se a volumes Elastic SAN - Linux
Este artigo explica como se conectar a um volume de SAN (rede de área de armazenamento) elástica por meio de um cliente Linux. Para obter detalhes sobre como se conectar de um cliente Windows, confira Conectar-se a volumes do Elastic SAN – Windows.
Neste artigo, você vai adicionar o ponto de extremidade de serviço de armazenamento à sub-rede de uma rede virtual do Azure e vai configurar o grupo de volumes para permitir conexões da sub-rede. Por fim, você vai configurar seu ambiente de cliente para se conectar a um volume do Elastic SAN e estabelecer uma conexão.
Você deve usar um gerenciador de cluster ao conectar um volume de SAN elástico individual a vários clientes. Para obter detalhes, confira Usar aplicativos clusterizados do Azure Elastic SAN.
Pré-requisitos
- Instale a CLI do Azure mais recente ou o módulo do Azure PowerShell mais recente
- Implantar uma Elastic SAN
- Configurar um ponto de extremidade de rede virtual
- Configurar regras de rede virtual
Conectar-se a volumes
Configurar seu ambiente de cliente
Habilitar o iniciador iSCSI
Para criar conexões iSCSI de um cliente Linux, instale o pacote do iniciador iSCSI. Como o comando exato pode variar conforme a distribuição, consulte a respectiva documentação, se necessário.
Como exemplo, use sudo apt install open-iscsi
com o Ubuntu, use sudo zypper install open-iscsi
com o SUSE Linux Enterprise Server (SLES) e sudo yum install iscsi-initiator-utils
com o Red Hat Enterprise Linux (RHEL).
Instalar o Multipath I/O
Para obter uma IOPS e uma taxa de transferência mais altas para um volume e atingir os limites máximos, você precisa criar várias sessões por meio do iniciador iSCSI para o volume de destino com base nos requisitos de desempenho e funcionalidades com multithread do aplicativo. Você precisa ter o Multipath I/O para agregar esses vários caminhos em um só dispositivo e para aprimorar o desempenho distribuindo de maneira ideal a E/S em todos os caminhos disponíveis de acordo com uma política de balanceamento de carga.
Instale o pacote do Multipath I/O para sua distribuição Linux. Como a instalação varia de acordo com a distribuição, recomenda-se conferir a documentação. No Ubuntu, por exemplo, o comando seria sudo apt install multipath-tools
, para o SLES seria sudo zypper install multipath-tools
e para o RHEL, seria sudo yum install device-mapper-multipath
.
Depois de instalar o pacote, confirme a existência de /etc/multipath.conf. Se /etc/multipath.conf não existir, crie um arquivo vazio e use as configurações do exemplo a seguir para realizar uma configuração geral. Por exemplo, mpathconf --enable
criará /etc/multipath.conf no RHEL.
Será necessário fazer algumas modificações em /etc/multipath.conf. Adicione a seção de dispositivos do exemplo a seguir. Observe que a seção de padrões nele define alguns padrões que geralmente são aplicáveis. Caso precise fazer outras configurações específicas, como excluir volumes da topologia Multipath, confira a página de manual de 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 1 # To disable I/O queueing after retrying once when all paths are down
}
devices {
device {
vendor "MSFT"
product "Virtual HD"
}
}
Depois de criar ou modificar o arquivo, reinicie o Multipath I/O. No Ubuntu, o comando é sudo systemctl restart multipath-tools.service
. No RHEL e SLES, é sudo systemctl restart multipathd
.
Anexar volumes ao cliente
Use o script a seguir para criar suas conexões. Para executá-lo, você precisará dos seguintes parâmetros:
- assinatura: ID da assinatura
- g: nome do grupo de recursos
- e: nome do Elastic SAN
- v: nome do grupo de volumes
- n <vol1, vol2,…>: nomes dos volumes 1 e 2 e outros nomes de volume dos quais você pode precisar, separados por vírgula
- s: número de sessões para cada volume (definido como 32 por padrão)
Copie o script daqui e salve-o como um arquivo.py, por exemplo, connect.py. Em seguida, execute-o com os parâmetros obrigatórios. Veja um exemplo de como você executará o script:
./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32
É possível verificar o número de sessões usando sudo multipath -ll
Número de sessões
Você precisa usar 32 sessões para cada volume de destino, a fim de atingir os limites máximos da IOPS e/ou da taxa de transferência.