Partilhar via


Usar armazenamento de arquivos externo no Azure Lab Services

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planejamento de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Este artigo aborda algumas das opções para usar o armazenamento de arquivos externos no Azure Lab Services. O Azure Files oferece compartilhamentos de arquivos totalmente gerenciados na nuvem, acessíveis por meio de SMB 2.1 e SMB 3.0. Um compartilhamento de Arquivos do Azure pode ser conectado pública ou privadamente em uma rede virtual. Você também pode configurar o compartilhamento para usar as credenciais do Ative Directory de um usuário de laboratório para se conectar ao compartilhamento de arquivos. Se você estiver em uma máquina Linux, também poderá usar os Arquivos NetApp do Azure com volumes NFS para armazenamento de arquivos externos com os Serviços de Laboratório do Azure.

Qual solução usar

A tabela a seguir lista considerações importantes para cada solução de armazenamento externo.

Solução Importante saber
Compartilhamento de arquivos do Azure com ponto de extremidade público
  • Todos têm acesso de leitura/gravação.
  • Não é necessário emparelhamento de rede virtual.
  • Acessível a todas as VMs, não apenas às VMs de laboratório.
  • Se você estiver usando Linux, os usuários do laboratório terão acesso à chave da conta de armazenamento.
Compartilhamento de arquivos do Azure com ponto de extremidade privado
  • Todos têm acesso de leitura/gravação.
  • É necessário emparelhamento de rede virtual.
  • Acessível apenas a VMs na mesma rede (ou rede emparelhada) que a conta de armazenamento.
  • Se você estiver usando Linux, os usuários do laboratório terão acesso à chave da conta de armazenamento.
Arquivos NetApp do Azure com volumes NFS
  • O acesso de leitura ou leitura/gravação pode ser definido para volumes.
  • As permissões são definidas usando o endereço IP de uma VM de laboratório.
  • É necessário emparelhamento de rede virtual.
  • Talvez seja necessário se registrar para usar o serviço Azure NetApp Files.
  • Apenas Linux.

O custo de usar o armazenamento externo não está incluído no custo de usar os Serviços de Laboratório do Azure. Para obter mais informações sobre preços, consulte Preços dos Arquivos do Azure e Preços dos Arquivos NetApp do Azure.

Compartilhamento de arquivos do Azure

Os compartilhamentos de Arquivos do Azure são acessados usando um ponto de extremidade público ou privado. Você monta os compartilhamentos em uma máquina virtual usando a chave da conta de armazenamento como senha. Com essa abordagem, todos têm acesso de leitura e gravação ao compartilhamento de arquivos.

Por padrão, os compartilhamentos de arquivos padrão podem abranger até 5 TiB. Consulte Criar um compartilhamento de arquivos do Azure para obter informações sobre como criar compartilhamentos de arquivos que abrangem até 100 TiB.

Considerações sobre o uso de um ponto de extremidade público

  • A rede virtual da conta de armazenamento não precisa estar conectada à rede virtual do laboratório. Você pode criar o compartilhamento de arquivos a qualquer momento antes que a VM de modelo seja publicada.
  • O compartilhamento de arquivos pode ser acessado de qualquer máquina se um usuário tiver a chave da conta de armazenamento.
  • Os usuários do laboratório Linux podem ver a chave da conta de armazenamento. As credenciais para montar um compartilhamento de Arquivos do Azure são armazenadas em {file-share-name}.cred VMs Linux e podem ser lidas pelo sudo. Como os usuários do laboratório recebem acesso sudo por padrão nas VMs do Azure Lab Services, eles podem ler a chave da conta de armazenamento. Se o ponto de extremidade da conta de armazenamento for público, os usuários do laboratório poderão obter acesso ao compartilhamento de arquivos fora da VM do laboratório. Considere girar a chave da conta de armazenamento após o término da classe ou usar compartilhamentos de arquivos privados.

Considerações sobre o uso de um ponto de extremidade privado

  • Essa abordagem requer que a rede virtual de compartilhamento de arquivos seja conectada ao laboratório. Para habilitar a rede avançada para laboratórios, consulte Conectar-se à sua rede virtual nos Serviços de Laboratório do Azure usando injeção de vnet. A injeção de VNet deve ser feita durante a criação do plano de laboratório.
  • O acesso é restrito ao tráfego proveniente da rede privada e não pode ser acedido através da Internet pública. Somente VMs na rede virtual privada, VMs em uma rede emparelhada à rede virtual privada ou máquinas conectadas a uma VPN para a rede privada podem acessar o compartilhamento de arquivos.
  • Os usuários do laboratório Linux podem ver a chave da conta de armazenamento. As credenciais para montar um compartilhamento de Arquivos do Azure são armazenadas em {file-share-name}.cred VMs Linux e podem ser lidas pelo sudo. Como os usuários do laboratório recebem acesso sudo por padrão nas VMs do Azure Lab Services, eles podem ler a chave da conta de armazenamento. Considere girar a chave da conta de armazenamento após o término da aula.

Conectar uma VM de laboratório a um compartilhamento de arquivos do Azure

Siga estas etapas para criar uma VM conectada a um compartilhamento de arquivos do Azure.

  1. Crie uma conta de Armazenamento do Azure. Na página Método de conectividade , escolha ponto de extremidade público ou ponto de extremidade privado.

  2. Se você escolheu o método private, crie um ponto de extremidade privado para que os compartilhamentos de arquivos sejam acessíveis a partir da rede virtual.

  3. Crie uma partilha de ficheiros do Azure. O compartilhamento de arquivos pode ser acessado pelo nome de host público da conta de armazenamento se estiver usando um ponto de extremidade público. O compartilhamento de arquivos pode ser acessado por endereço IP privado se estiver usando um ponto de extremidade privado.

  4. Monte o compartilhamento de arquivos do Azure na VM de modelo:

  5. Publique a VM de modelo.

Importante

Verifique se o Firewall do Windows Defender não está bloqueando a conexão SMB de saída pela porta 445. Por padrão, o SMB é permitido para VMs do Azure.

Utilizar os Ficheiros do Azure com o Linux

Se você usar as instruções padrão para montar um compartilhamento de Arquivos do Azure, o compartilhamento de arquivos parecerá desaparecer nas VMs de laboratório depois que o modelo for publicado. O script modificado a seguir aborda esse problema.

Para compartilhamento de arquivos com um ponto de extremidade público:

#!/bin/bash

# Assign variables values for your storage account and file share
STORAGE_ACCOUNT_NAME=""
STORAGE_ACCOUNT_KEY=""
FILESHARE_NAME=""

# Do not use 'mnt' for mount directory.
# Using ‘mnt’ will cause issues on lab VMs.
MOUNT_DIRECTORY="prm-mnt" 

sudo mkdir /$MOUNT_DIRECTORY/$FILESHARE_NAME
if [ ! -d "/etc/smbcredentials" ]; then
    sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred" ]; then
    sudo bash -c "echo ""username=$STORAGE_ACCOUNT_NAME"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
    sudo bash -c "echo ""password=$STORAGE_ACCOUNT_KEY"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
fi
sudo chmod 600 /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred

sudo bash -c "echo ""//$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME cifs nofail,vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino"" >> /etc/fstab"
sudo mount -t cifs //$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME -o vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino

Para compartilhamento de arquivos com um ponto de extremidade privado:

#!/bin/bash

# Assign variables values for your storage account and file share
STORAGE_ACCOUNT_NAME=""
STORAGE_ACCOUNT_IP=""
STORAGE_ACCOUNT_KEY=""
FILESHARE_NAME=""

# Do not use 'mnt' for mount directory.
# Using ‘mnt’ will cause issues on lab VMs.
MOUNT_DIRECTORY="prm-mnt" 

sudo mkdir /$MOUNT_DIRECTORY/$FILESHARE_NAME
if [ ! -d "/etc/smbcredentials" ]; then
    sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred" ]; then
    sudo bash -c "echo ""username=$STORAGE_ACCOUNT_NAME"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
    sudo bash -c "echo ""password=$STORAGE_ACCOUNT_KEY"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
fi
sudo chmod 600 /etc/smbcredentials/$storage_account_name.cred

sudo bash -c "echo ""//$STORAGE_ACCOUNT_IP/$FILESHARE_NAME /$MOUNT_DIRECTORY/$fileshare_name cifs nofail,vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino"" >> /etc/fstab"
sudo mount -t cifs //$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME -o vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino

Se a VM de modelo que monta o compartilhamento de Arquivos do Azure no /mnt diretório já estiver publicada, o usuário do laboratório poderá:

  • Mova a instrução para montar /mnt na parte superior do /etc/fstab arquivo.
  • Modifique a instrução para montar /mnt/{file-share-name} em um diretório diferente, como /prm-mnt/{file-share-name}.

Os usuários do laboratório devem executar mount -a para remontar diretórios.

Para obter mais informações gerais, consulte Usar arquivos do Azure com Linux.

Arquivos NetApp do Azure com volumes NFS

O Azure NetApp Files é um serviço de armazenamento de arquivos medido, de alto desempenho e de classe empresarial.

  • Definir políticas de acesso por volume
  • As políticas de permissão são baseadas em IP para cada volume
  • Se os usuários do laboratório precisarem de seu próprio volume ao qual outros usuários do laboratório não tenham acesso, as políticas de permissão deverão ser atribuídas após a publicação do laboratório
  • Os Serviços de Laboratório do Azure apenas suportam máquinas virtuais de laboratório baseadas em Linux para ligar aos Ficheiros NetApp do Azure
  • A rede virtual para o pool de capacidade do Azure NetApp Files deve estar conectada ao laboratório. Para habilitar a rede avançada para laboratórios, consulte Conectar-se à sua rede virtual nos Serviços de Laboratório do Azure usando injeção de vnet. A injeção de VNet deve ser feita durante a criação do plano de laboratório.

Para usar um compartilhamento de Arquivos NetApp do Azure nos Serviços de Laboratório do Azure:

  1. Crie um pool de capacidade de Arquivos NetApp do Azure e um ou mais volumes NFS seguindo as etapas em Configurar Arquivos NetApp do Azure e volume NFS.

    Para obter informações sobre níveis de serviço, consulte Níveis de serviço para arquivos NetApp do Azure.

  2. Conectar-se à sua rede virtual no Azure Lab Services

  3. Crie o laboratório.

  4. Na VM de modelo, instale os componentes necessários para usar compartilhamentos de arquivos NFS.

    • Ubuntu:

      sudo apt update
      sudo apt install nfs-common
      
    • CentOS:

      sudo yum install nfs-utils
      
  5. Na VM de modelo, salve o script a seguir para mount_fileshare.shmontar o compartilhamento de Arquivos NetApp do Azure.

    Atribua à capacity_pool_ipaddress variável o endereço IP de destino de montagem para o pool de capacidade. Obtenha as instruções de montagem para o volume para encontrar o valor apropriado. O script espera o nome do caminho do volume Arquivos NetApp do Azure.

    Para garantir que os usuários possam executar o script, execute chmod u+x mount_fileshare.sh.

    #!/bin/bash
    
    if [ $# -eq 0 ];  then
        echo "Must provide volume name."
        exit 1
    fi
    
    VOLUME_NAME=$1
    CAPACITY_POOL_IP_ADDR=0.0.0.0 # IP address of capacity pool
    
    # Do not use 'mnt' for mount directory.
    # Using ‘mnt’ might cause issues on lab VMs.
    MOUNT_DIRECTORY="prm-mnt" 
    
    sudo mkdir -p /$MOUNT_DIRECTORY
    sudo mkdir /$MOUNT_DIRECTORY/$FOLDER_NAME
    
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp $CAPACITY_POOL_IP_ADDR:/$VOLUME_NAME /$MOUNT_DIRECTORY/$VOLUME_NAME
    sudo bash -c "echo ""$CAPACITY_POOL_IP_ADDR:/$VOLUME_NAME /$MOUNT_DIRECTORY/$VOLUME_NAME nfs bg,rw,hard,noatime,nolock,rsize=65536,wsize=65536,vers=3,tcp,_netdev 0 0"" >> /etc/fstab"
    
  6. Se todos os usuários do laboratório estiverem compartilhando o acesso ao mesmo volume de Arquivos NetApp do Azure, você poderá executar o mount_fileshare.sh script na máquina de modelo antes de publicar. Se cada usuário do laboratório obtiver seu próprio volume, salve o script para ser executado posteriormente pelo usuário do laboratório.

  7. Publique a VM de modelo.

  8. Configure a política para o compartilhamento de arquivos.

    A política de exportação pode permitir que uma única VM ou várias VMs tenham acesso a um volume. Você pode conceder acesso somente leitura ou leitura/gravação.

  9. Os usuários do laboratório devem iniciar sua VM e executar o script para montar o compartilhamento de arquivos. Eles têm que executar o script apenas uma vez.

    O comando tem a seguinte aparência: ./mount_fileshare.sh myvolumename.

Próximos passos