Montare l'archiviazione file di Azure su VM Linux usando SMBMount Azure File storage on Linux VMs using SMB

Questo articolo descrive come usare il servizio di archiviazione file di Azure su una VM Linux usando un montaggio SMB con l'interfaccia della riga di comando di Azure 2.0.This article shows you how to utilize the Azure File storage service on a Linux VM using an SMB mount with the Azure CLI 2.0. L'archiviazione file di Azure offre condivisioni file nel cloud usando il protocollo SMB standard.Azure File storage offers file shares in the cloud using the standard SMB protocol. È possibile anche eseguire questi passaggi tramite l'interfaccia della riga di comando di Azure 1.0.You can also perform these steps with the Azure CLI 1.0. I requisiti sono:The requirements are:

Comandi rapidiQuick Commands

  • Un gruppo di risorseA resource group
  • Una rete virtuale di AzureAn Azure virtual network
  • Un gruppo di sicurezza di rete con SSH in ingressoA network security group with an SSH inbound
  • Una subnetA subnet
  • Un account di archiviazione di AzureAn Azure storage account
  • Chiavi dell'account di archiviazione di AzureAzure storage account keys
  • Una condivisione di archiviazione file di AzureAn Azure File storage share
  • Una VM LinuxA Linux VM

Sostituire gli esempi con le impostazioni desiderate.Replace any examples with your own settings.

Creare una directory per il montaggio localeCreate a directory for the local mount

mkdir -p /mnt/mymountpoint

Montare la condivisione SMB di archiviazione file sul punto di montaggioMount the File storage SMB share to the mount point

sudo mount -t cifs //myaccountname.file.core.windows.net/mysharename /mymountpoint -o vers=3.0,username=myaccountname,password=StorageAccountKeyEndingIn==,dir_mode=0777,file_mode=0777

Rendere persistente il montaggio dopo un riavvioPersist the mount after a reboot

Per farlo, aggiungere la riga seguente a /etc/fstab:To do so, add the following line to the /etc/fstab:

//myaccountname.file.core.windows.net/mysharename /mymountpoint cifs vers=3.0,username=myaccountname,password=StorageAccountKeyEndingIn==,dir_mode=0777,file_mode=0777

Procedura dettagliataDetailed walkthrough

L'archiviazione file offre condivisioni file nel cloud che usano il protocollo SMB standard.File storage offers file shares in the cloud that use the standard SMB protocol. Con la versione più recente di archiviazione file è anche possibile montare una condivisione di file da un sistema operativo che supporta SMB 3.0.With the latest release of File storage, you can also mount a file share from any OS that supports SMB 3.0. Quando si usa un montaggio SMB in Linux è possibile eseguire facilmente copie di backup in un percorso di archiviazione affidabile e permanente supportato da un Contratto di servizio.When you use an SMB mount on Linux, you get easy backups to a robust, permanent archiving storage location that is supported by an SLA.

Lo spostamento di file da una VM a un montaggio SMB ospitato nell'archiviazione file è un ottimo modo per eseguire il debug dei log,Moving files from a VM to an SMB mount that's hosted on File storage is a great way to debug logs. dato che la stessa condivisione SMB può essere montata in locale in workstation Mac, Linux o Windows.That's because the same SMB share can be mounted locally to your Mac, Linux, or Windows workstation. SMB non è la soluzione migliore per eseguire lo streaming di log applicazioni o Linux in tempo reale perché il protocollo SMB non è stato creato per la gestione di attività di registrazione così impegnative.SMB isn't the best solution for streaming Linux or application logs in real time, because the SMB protocol is not built to handle such heavy logging duties. Per raccogliere l'output di log applicazioni o Linux è preferibile usare uno strumento dedicato con livello di registrazione unificato come Fluentd piuttosto che SMB.A dedicated, unified logging layer tool such as Fluentd would be a better choice than SMB for collecting Linux and application logging output.

Per questa procedura dettagliata vengono definiti i prerequisiti necessari prima per creare la condivisione di archiviazione file di Azure e quindi per montarla tramite SMB in una VM Linux.For this detailed walkthrough, we create the prerequisites needed to first create the File storage share, and then mount it via SMB on a Linux VM.

  1. Creare un gruppo di risorse con az group create per contenere la condivisione file.Create a resource group with az group create to hold the file share.

    Per creare un gruppo di risorse denominato myResourceGroup nell'area "Stati Uniti occidentali" usando il comando seguente:To create a resource group named myResourceGroup in the "West US" location, use the following example:

    az group create --name myResourceGroup --location westus
    
  2. Creare un account di archiviazione di Azure con az storage account create per archiviare i file effettivi.Create an Azure storage account with az storage account create to store the actual files.

    Per creare un account di archiviazione denominato mystorageaccount usando SKU di archiviazione Standard_LRS, usare l'esempio seguente:To create a storage account named mystorageaccount by using the Standard_LRS storage SKU, use the following example:

    az storage account create --resource-group myResourceGroup \
        --name mystorageaccount \
        --location westus \
        --sku Standard_LRS
    
  3. Visualizzare le chiavi dell'account di archiviazione.Show the storage account keys.

    Quando si crea un account di archiviazione, le chiavi dell'account vengono create a coppie perché possano essere ruotate senza interrompere il servizio.When you create a storage account, the account keys are created in pairs so that they can be rotated without any service interruption. Quando si passa alla seconda chiave della coppia, viene creata una nuova coppia di chiavi.When you switch to the second key in the pair, you create a new key pair. Le nuove chiavi dell'account di archiviazione vengono sempre create a coppie in modo da avere sempre a disposizione almeno una chiave dell'account di archiviazione non usata alla quale passare.New storage account keys are always created in pairs, ensuring that you always have at least one unused storage account key ready to switch to.

    Usare az storage account keys list per visualizzare le chiavi dell'account di archiviazione.View the storage account keys with the az storage account keys list. L'esempio seguente elenca le chiavi dell'account di archiviazione denominato mystorageaccount:The storage account keys for the named mystorageaccount are listed in the following example:

    az storage account keys list --resource-group myResourceGroup \
        --account-name mystorageaccount
    

    Per estrarre una singola chiave usare il flag --query.To extract a single key, use the --query flag. L'esempio seguente estrae la prima chiave ([0]):The following example extracts the first key ([0]):

    az storage account keys list --resource-group myResourceGroup \
        --account-name mystorageaccount \
        --query '[0].{Key:value}' --output tsv
    
  4. Creare la condivisione di archiviazione file.Create the File storage share.

    La condivisione di archiviazione file contiene la condivisione SMB con az storage share create.The File storage share contains the SMB share with az storage share create. La quota è sempre espressa in gigabyte (GB).The quota is always expressed in gigabytes (GB). Passare a una delle chiavi dal comando precedente az storage account keys list.Pass in one of the keys from the preceding az storage account keys list command. Creare una condivisione denominata mystorageshare con una quota di 10 GB con l'esempio seguente:Create a share named mystorageshare with a 10-GB quota by using the following example:

    az storage share create --name mystorageshare \
        --quota 10 \
        --account-name mystorageaccount \
        --account-key nPOgPR<--snip-->4Q==
    
  5. Creare una directory del punto di montaggio.Create a mount-point directory.

    Nel file system di Linux creare una directory locale nella quale montare la condivisione SMB.Create a local directory in the Linux file system to mount the SMB share to. Qualsiasi elemento scritto o letto dalla directory di montaggio locale viene inoltrato alla condivisione SMB ospitata nell'archiviazione file.Anything written or read from the local mount directory is forwarded to the SMB share that's hosted on File storage. Per creare una directory locale in /mnt/mymountdirectory, usare l'esempio seguente:To create a local directory at /mnt/mymountdirectory, use the following example:

    sudo mkdir -p /mnt/mymountdirectory
    
  6. Montare la condivisione SMB nella directory locale.Mount the SMB share to the local directory.

    Fornire il proprio nome utente dell'account di archiviazione e la chiave dell'account di archiviazione per le credenziali di montaggio nel modo seguente:Provide your own storage account username and storage account key for the mount credentials as follows:

    sudo mount -t cifs //myStorageAccount.file.core.windows.net/mystorageshare /mnt/mymountdirectory -o vers=3.0,username=mystorageaccount,password=mystorageaccountkey,dir_mode=0777,file_mode=0777
    
  7. Mantenere il montaggio di SMB dopo il riavvio del sistema.Persist the SMB mount through reboots.

    Quando si riavvia la VM Linux, durante la fase di arresto viene smontata la condivisione SMB montata.When you reboot the Linux VM, the mounted SMB share is unmounted during shutdown. Per consentire il rimontaggio della condivisione SMB all'avvio, aggiungere una riga a /etc/fstab di Linux.To remount the SMB share on boot, add a line to the Linux /etc/fstab. Linux usa il file fstab per elencare i file system da montare durante la fase di avvio.Linux uses the fstab file to list the file systems that it needs to mount during the boot process. Aggiungendo la condivisione SMB si garantisce che la condivisione di archiviazione file costituisca un file system montato in modo permanente per la VM Linux.Adding the SMB share ensures that the File storage share is a permanently mounted file system for the Linux VM. L'aggiunta della condivisione SMB di archiviazione file in una nuova VM è possibile quando si usa cloud-init.Adding the File storage SMB share to a new VM is possible when you use cloud-init.

    //myaccountname.file.core.windows.net/mysharename /mymountpoint cifs vers=3.0,username=myaccountname,password=StorageAccountKeyEndingIn==,dir_mode=0777,file_mode=0777
    

Passaggi successiviNext steps