Conectar-se ao armazenamento iSCSI com o Azure Stack Hub

Você pode usar o modelo neste artigo para conectar uma VM (máquina virtual) do Azure Stack Hub a um destino iSCSI local configurar a VM para usar o armazenamento hospedado fora do nosso Azure Stack Hub e em outros lugares em seu datacenter. Este artigo analisa o uso de um computador Windows como o destino iSCSI.

Você pode encontrar o modelo no fork lucidqdreams do repositório GitHub padrões de borda inteligente do Azure . O modelo está na pasta storage-iSCSI . O modelo foi projetado para configurar a infraestrutura necessária no lado do Azure Stack Hub para se conectar a um destino iSCSI. Isso inclui uma máquina virtual que atuará como o Iniciador iSCSI junto com sua VNet, NSG, PIP e armazenamento que o acompanham. Depois que o modelo for implantado, dois scripts do PowerShell precisarão ser executados para concluir a configuração. Um script será executado na VM local (destino) e um será executado na VM do Azure Stack Hub (Iniciador). Depois que elas forem concluídas, você terá o armazenamento local adicionado à VM do Azure Stack Hub.

Visão geral

O diagrama mostra uma VM hospedada no Azure Stack Hub com um disco iSCSI montado de um computador Windows local (físico ou virtual) permitindo que o armazenamento externo ao Azure Stack Hub seja montado dentro da VM hospedada do Azure Stack Hub por meio do protocolo iSCSI.

O diagrama mostra uma VM hospedada no Azure Stack Hub acessando um disco iSCSI externo montado.

Requisitos

  • Uma máquina local (física ou virtual) executando Windows Server 2016 Datacenter ou Windows Server 2019 Datacenter.
  • Itens necessários do Marketplace do Azure Stack Hub:
    • Windows Server 2016 Datacenter ou Datacenter do Windows Server 2019 (build mais recente recomendado).
    • Extensão DSC do PowerShell.
    • Extensão de script personalizado
    • Uma máquina virtual ou física existente. O ideal é que esse computador tenha dois adaptadores de rede. Esse também pode ser outro destino iSCSI, como uma SAN, por exemplo.

Itens a serem considerados

  • Um Grupo de Segurança de Rede é aplicado à sub-rede de modelo. Examine isso e faça subsídios adicionais conforme necessário.
  • Uma regra de Negação de RDP é aplicada ao NSG do Tunnel e precisará ser definida para permitir se você pretende acessar as VMs por meio do endereço IP público.
  • Essa solução não leva em conta a resolução DNS.
  • Você deve alterar seu Chapusername e Chappassword. O Chappassword deve ter de 12 a 16 caracteres de comprimento.
  • Esse modelo está usando um endereço IP estático para a VM, pois a conexão iSCSI usa o endereço local na configuração.
  • Este modelo está usando a Licença BYOL do Windows.
  • Você também pode conectar sistemas baseados em Linux aos destinos iSCSI. Você pode encontrar instruções no artigo Iniciador iSCSI na documentação do ubuntu.

Opções

  • Você pode usar sua própria conta de Armazenamento de Blobs e token SAS usando os parâmetros _artifactsLocation e _artifactsLocationSasToken a capacidade de usar seu próprio blob de armazenamento com o token SAS.
  • Este modelo fornece valores padrão para nomenclatura de VNet e endereçamento IP.
  • Essa configuração tem apenas uma nic iSCSI proveniente do cliente iSCSI. Testamos várias configurações para utilizar sub-redes e NICs separadas, no entanto, tivemos problemas com vários gateways e tentamos criar uma sub-rede de armazenamento separada para isolar o tráfego e realmente ser realmente redundantes.
  • Tenha cuidado para manter esses valores dentro de sub-rede legal e intervalos de endereços, pois a implantação pode falhar.
  • A principal finalidade dos pacotes de DSC do PowerShell é marcar para reinicializações pendentes. Essa DSC pode ser personalizada ainda mais, se necessário. Para obter mais informações , consulte omputerManagementDsc.

Modelo de grupo de recursos (cliente iSCSI)

O diagrama mostra os recursos implantados do modelo para criar o cliente iSCSI que você pode usar para se conectar ao destino iSCSI. Esse modelo implantará a VM e outros recursos, além disso, ele executará o prepare-iSCSIClient.ps1 e reiniciará a VM.

O diagrama mostra os recursos implantados do modelo para criar o cliente iSCSI para se conectar ao destino iSCSI. Ele mostra um servidor de arquivos com uma sub-rede interna e NIC (cartão de rede), PIP interno (Protocolo de Internet Privado) e NSG (Grupo de Segurança de Rede).

O processo de implantação

O modelo do grupo de recursos gera a saída, que deve ser a entrada para a próxima etapa. Ele se concentra principalmente no nome do servidor e no endereço IP público do Azure Stack Hub em que o tráfego iSCSI se origina. Para este exemplo:

  1. Implante o modelo de infraestrutura.
  2. Implante uma VM do Azure Stack Hub em uma VM hospedada em outro lugar em seu datacenter.
  3. Execute Create-iSCSITarget.ps1 usando o endereço IP e as saídas de nome do servidor do modelo como parâmetros de entrada para o script no destino iSCSI, que pode ser uma máquina virtual ou um servidor físico.
  4. Use o endereço IP externo ou endereços do servidor de destino iSCSI como entradas para executar o Connect-toiSCSITarget.ps1 script.

O diagrama mostra as três primeiras das quatro etapas listadas acima e inclui entradas e saídas. As etapas são: Implantar Infraestrutura, Criar destino iSCSI e Conectar-se ao iSCSI.

Entradas para azuredeploy.json

Parâmetros default descrição
WindowsImageSKU 2019-Datacenter Selecione a imagem base da VM do Windows
VMSize Standard_D2_v2 Insira o tamanho da VM
VMName FileServer Nome da VM
adminUsername storageadmin O nome do Administrador da nova VM
adminPassword A senha da conta administrador das novas VMs. O valor padrão é a ID da assinatura
VNetName Armazenamento O nome da VNet. Isso será usado para rotular os recursos
VNetAddressSpace 10.10.0.0/23 Espaço de Endereço para VNet
VNetInternalSubnetName Interna Nome da sub-rede interna da VNet
VNetInternalSubnetRange 10.10.1.0/24 Intervalo de endereços para a sub-rede interna da VNet
InternalVNetIP 10.10.1.4 Endereço estático para o IP interno do Servidor de Arquivos.
_artifactsLocation
_artifactsLocationSasToken

Etapas de implantação

  1. Implantar a infraestrutura do cliente iSCSI usando azuredeploy.json
  2. Execute Create-iSCSITarget.ps1 no destino iSCSI do servidor local. Depois que o modelo for concluído, você precisará executar o Create-iSCSITarget.ps1 no destino iSCSI do servidor local com as saídas da primeira etapa
  3. Execute Connect-toiSCSITarget.ps1 no cliente iSCSI. un the Connect-toiSCSITarget.ps1 on the on iSCSI client with the details of the iSCSI target

Adicionando armazenamento iSCSI a VMs existentes

Você também pode executar os scripts em uma Máquina Virtual existente para se conectar do cliente iSCSI a um destino iSCSI. Esse fluxo será se você estiver criando o destino iSCSI por conta própria. Este diagrama mostra o fluxo de execução dos scripts do PowerShell. Esses scripts podem ser encontrados no diretório Script:

O diagrama mostra os três scripts discutidos abaixo. Em ordem de execução, eles são: Prepare-iSCSIClient.ps1, (executa no cliente), Criar iSCSITarget.ps1 (executa nos destinos) e Connect-toiSCSITarget.ps1 (execta no cliente).

Prepare-iSCSIClient.ps1

O Prepare-iSCSIClient.ps1 script instala os pré-requisitos no cliente iSCSI, isso inclui;

  • instalação de serviços multipath-IO
  • configurando a inicialização do serviço iniciador iSCSI para automático
  • habilitando o suporte para MPIO de vários caminhos para iSCSI
  • Habilitar a declaração automática de todos os volumes iSCSI
  • Definir o tempo limite do disco como 60 segundos

É importante reinicializar o sistema após a instalação desses pré-requisitos. A política de balanceamento de carga do MPIO requer uma reinicialização para que possa ser definida.

Create-iSCSITarget.ps1

O Create-iSCSITarget.ps1 script deve ser executado no servidor de armazenamento. Você pode criar vários discos e destinos restritos por iniciadores. Você pode executar esse script várias vezes para criar muitos discos virtuais que podem ser anexados a destinos diferentes. Você pode conectar vários discos a um destino.

Entrada default descrição
Remoteserver FileServer O nome do servidor que se conecta ao destino iSCSI
RemoteServerIPs 1.1.1.1 O endereço IP do qual o tráfego iSCSI virá
DiskFolder C:\iSCSIVirtualDisks A pasta e a unidade em que os discos virtuais serão armazenados
DiskName DiskName O nome do arquivo VHDX do disco
DiskSize 5 GB O tamanho do disco VHDX
TargetName RemoteTarget01 O nome de destino usado para definir a configuração de destino para o cliente iSCSI.
ChapUsername Nome de Usuário O nome de usuário da autenticação Chap
ChapPassword userP@ssw0rd! O nome da senha para autenticação chap. Deve ter de 12 a 16 caracteres

Connect-toiSCSITarget.ps1

O Connect-toiSCSITarget.ps1 é o script final, que é executado no cliente iSCSI e monta o disco apresentado pelo destino iSCSI para o cliente iSCSI.

Entrada default descrição
TargetiSCSIAddresses "2.2.2.2","2.2.2.3" Os endereços IP do destino iSCSI
LocalIPAddresses "10.10.1.4" Esse é o endereço IP interno do qual o tráfego iSCSI virá
LoadBalancePolicy C:\iSCSIVirtualDisks O endereço IP do qual o tráfego iSCSI virá
ChapUsername Nome de Usuário O nome de usuário da autenticação Chap
ChapPassword userP@ssw0rd! O nome da senha para autenticação chap. Deve ter de 12 a 16 caracteres

Próximas etapas

Diferenças e considerações para a rede do Azure Stack Hub