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.
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 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:
- Implante o modelo de infraestrutura.
- Implante uma VM do Azure Stack Hub em uma VM hospedada em outro lugar em seu datacenter.
- 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. - Use o endereço IP externo ou endereços do servidor de destino iSCSI como entradas para executar o
Connect-toiSCSITarget.ps1
script.
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
- Implantar a infraestrutura do cliente iSCSI usando
azuredeploy.json
- 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 - 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:
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 |