Conectar-se a volumes Elastic SAN - Linux
Este artigo explica como se conectar a um volume SAN (Elastic Storage Area Network, rede de armazenamento de dados) elástica 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, você adicionará o ponto de extremidade do serviço de armazenamento à sub-rede de uma rede virtual do Azure e, em seguida, configurará seu grupo de volumes para permitir conexões de sua sub-rede. Por fim, você configurará o ambiente do cliente para se conectar a um volume SAN elástico e estabelecer uma conexão.
Você deve usar um gerenciador de cluster ao conectar um volume SAN elástico individual a vários clientes. Para obter detalhes, consulte Usar aplicativos clusterizados no Azure Elastic SAN.
Pré-requisitos
- Use a CLI do Azure mais recente ou instale o módulo mais recente do Azure PowerShell
- Implantar uma SAN elástica
- Configurar um ponto de extremidade de rede virtual
- Configurar regras de rede virtual
Ligar a volumes
Configurar o ambiente do cliente
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.
Como exemplo, com o Ubuntu você usaria sudo apt install open-iscsi
, com o SUSE Linux Enterprise Server (SLES) você usaria sudo zypper install open-iscsi
e com o Red Hat Enterprise Linux (RHEL) você usaria sudo yum install iscsi-initiator-utils
.
Instalar Multipath I/O
Para obter IOPS e taxa de transferência mais altas para um volume e atingir seus limites máximos, você precisa criar várias sessões do iniciador iSCSI para o volume de destino com base nos recursos multi-threaded e nos requisitos de desempenho do seu aplicativo. Você precisa de E/S Multipath para agregar esses vários caminhos em um único dispositivo e melhorar o desempenho distribuindo de forma ideal a E/S em todos os caminhos disponíveis com base em uma política de balanceamento de carga.
Instale o pacote Multipath I/O para sua distribuição Linux. A instalação irá variar de acordo com a sua distribuição, e você deve consultar a documentação deles. Como exemplo, no Ubuntu o comando seria sudo apt install multipath-tools
, para SLES o comando seria sudo zypper install multipath-tools
e para RHEL o comando seria sudo yum install device-mapper-multipath
.
Depois de instalar o pacote, verifique se /etc/multipath.conf existe. Se /etc/multipath.conf não existir, crie um arquivo vazio e use as configurações no exemplo a seguir para uma configuração geral. Como exemplo, mpathconf --enable
criará /etc/multipath.conf no RHEL.
Você precisará fazer algumas modificações no /etc/multipath.conf. Você precisará adicionar a seção de dispositivos no exemplo a seguir, e a seção de padrões no exemplo a seguir define alguns padrões que são geralmente aplicáveis. Se você precisar fazer outras configurações específicas, como excluir volumes da topologia de vários caminhos, consulte 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
e no RHEL e SLES o comando é sudo systemctl restart multipathd
.
Anexar volumes ao cliente
Você pode usar o script a seguir para criar suas conexões. Para executá-lo, você precisará dos 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 salve-o como um arquivo .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
Você pode 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 para atingir seus limites máximos de IOPS e/ou taxa de transferência.