Montare Archiviazione file di Azure in VM Linux usando SMB con l'interfaccia della riga di comando di Azure 1.0

Questo articolo illustra come montare Archiviazione file di Azure in una VM Linux usando il protocollo Server Message Block (SMB). Archiviazione file offre condivisioni file nel cloud tramite il protocollo SMB standard. I requisiti sono:

Versioni dell'interfaccia della riga di comando da usare

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:

Comandi rapidi

Per eseguire rapidamente l'attività, seguire i passaggi in questa sezione. Per informazioni più dettagliate e di contesto, iniziare con la sezione "Procedura dettagliata".

Prerequisiti

  • Un gruppo di risorse
  • Una rete virtuale di Azure
  • Un gruppo di sicurezza di rete con SSH in ingresso
  • Una subnet
  • Un account di archiviazione di Azure
  • Chiavi dell'account di archiviazione di Azure
  • Una condivisione di archiviazione file di Azure
  • Una VM Linux

Sostituire gli esempi con le impostazioni desiderate.

Creare una directory per il montaggio locale

mkdir -p /mnt/mymountpoint

Montare la condivisione SMB di archiviazione file sul punto di montaggio

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 riavvio

Aggiungere la riga seguente a /etc/fstab:

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

Procedura dettagliata

L'archiviazione file offre condivisioni file nel cloud che usano il protocollo SMB standard. Con la versione più recente di archiviazione file è anche possibile montare una condivisione di file da un sistema operativo che supporta 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.

Lo spostamento di file da una VM a un montaggio SMB ospitato nell'archiviazione file è un ottimo modo per eseguire il debug dei log, dato che la stessa condivisione SMB può essere montata in locale in workstation Mac, Linux o Windows. 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. Per raccogliere l'output di log applicazioni o Linux è preferibile usare uno strumento dedicato con livello di registrazione unificato come Fluentd piuttosto che SMB.

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.

  1. Creare un account di archiviazione di Azure usando il codice seguente:

    azure storage account create myStorageAccount \
    --sku-name lrs \
    --kind storage \
    -l westus \
    -g myResourceGroup
    
  2. Visualizzare le chiavi dell'account di archiviazione.

    Quando si crea un account di archiviazione, le chiavi dell'account vengono create a coppie perché possano essere ruotate senza interrompere il servizio. Quando si passa alla seconda chiave della coppia, viene creata una nuova coppia di chiavi. Le nuove chiavi dell'account di archiviazione vengono sempre create a coppie in modo da avere sempre a disposizione almeno una chiave di archiviazione non usata alla quale passare. Per visualizzare le chiavi dell'account di archiviazione usare il codice seguente:

    azure storage account keys list myStorageAccount \
    --resource-group myResourceGroup
    
  3. Creare la condivisione di Archiviazione file.

    La condivisione di Archiviazione file contiene la condivisione SMB. La quota è sempre espressa in gigabyte (GB). Per creare la condivisione di Archiviazione file usare il codice seguente:

    azure storage share create mystorageshare \
    --quota 10 \
    --account-name myStorageAccount \
    --account-key nPOgPR<--snip-->4Q==
    
  4. Creare la directory del punto di montaggio.

    Nel file system di Linux è necessario creare una directory locale nella quale montare la condivisione SMB. Qualsiasi elemento scritto o letto dalla directory di montaggio locale viene inoltrato alla condivisione SMB ospitata in Archiviazione file. Per creare la directory usare il codice seguente:

    sudo mkdir -p /mnt/mymountdirectory
    
  5. Montare la condivisione SMB usando il codice seguente:

    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
    
  6. Rendere persistente il montaggio SMB dopo il riavvio.

    Quando si riavvia la VM Linux, durante la fase di arresto viene smontata la condivisione SMB montata. Per rimontare la condivisione SMB all'avvio, è necessario aggiungere una riga al file /etc/fstab di Linux. Linux usa il file fstab per elencare i file system da montare durante la fase di avvio. Aggiungendo la condivisione SMB si garantisce che la condivisione di archiviazione file costituisca un file system montato in modo permanente per la VM Linux. L'aggiunta della condivisione SMB di archiviazione file in una nuova VM è possibile quando si usa cloud-init.

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

Passaggi successivi