Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce indicazioni su come montare un contenitore in Archiviazione BLOB di Azure da una macchina virtuale (VM) di Azure basata su Linux o su un sistema Linux in esecuzione in locale usando il protocollo NFS (Network File System) 3.0. Per altre informazioni sul supporto del protocollo NFS 3.0 in Archiviazione BLOB, vedere Supporto del protocollo Network File System (NFS) 3.0 per Archiviazione BLOB di Azure.
Passaggio 1: Creare una rete virtuale di Azure
L'account di archiviazione deve essere contenuto all'interno di una rete virtuale. Una rete virtuale consente ai client di connettersi in modo sicuro all'account di archiviazione. Per altre informazioni su Rete virtuale di Azure e su come creare una rete virtuale, vedere la documentazione Rete virtuale.
Note
I client nella stessa rete virtuale possono montare contenitori nell'account. È anche possibile montare un contenitore da un client in esecuzione in una rete locale, ma è necessario prima connettere la rete locale alla rete virtuale. Vedere Connessioni di rete supportate.
Passaggio 2: Configurare la sicurezza di rete
Attualmente, l'unico modo per proteggere i dati nell'account di archiviazione consiste nell'usare una rete virtuale e altre impostazioni di sicurezza di rete. Vedere Raccomandazioni sulla sicurezza di rete per l'archiviazione BLOB.
Qualsiasi altro strumento usato per proteggere i dati, tra cui l'autorizzazione della chiave dell'account, la sicurezza di Microsoft Entra e gli elenchi di controllo di accesso, non può essere usato per autorizzare una richiesta NFS 3.0. Infatti, se si aggiunge una voce per un utente o un gruppo denominato all'elenco di controllo di accesso di un BLOB o di una directory, tale file diventa inaccessibile nel client per gli utenti non radice. È necessario rimuovere tale voce per ripristinare l'accesso agli utenti non radice nel client.
Importante
Il protocollo NFS 3.0 usa le porte 111 e 2048. Se ci si connette da una rete locale, assicurarsi che il client consenta la comunicazione in uscita tramite queste porte. Se è stato concesso l'accesso a reti virtuali specifiche, assicurarsi che tutti i gruppi di sicurezza di rete associati a tali reti virtuali non contengano regole di sicurezza che bloccano la comunicazione in ingresso tramite tali porte.
Passaggio 3: Creare e configurare un account di archiviazione
Per montare un contenitore usando NFS 3.0, è necessario creare un account di archiviazione. Non è possibile abilitare gli account esistenti.
Il protocollo NFS 3.0 è supportato per gli account di archiviazione standard per utilizzo generico v2 e per gli account di archiviazione BLOB in blocchi Premium. Per altre informazioni su questi tipi di account di archiviazione, vedere Panoramica dell'account di archiviazione.
Per configurare l'account, scegliere questi valori:
| Impostazione | Prestazioni Premium | Prestazioni Standard |
|---|---|---|
| Location | Tutte le aree disponibili | Tutte le aree disponibili |
| Prestazioni | Di alta qualità | Normale |
| Tipo di account | BlockBlobStorage | Utilizzo generico v2 |
| Replica | Archiviazione con ridondanza locale (LRS), Archiviazione con ridondanza della zona (ZRS) | Archiviazione con ridondanza locale (LRS), Archiviazione con ridondanza della zona (ZRS) |
| Metodo di connettività | Endpoint pubblico (reti selezionate) o endpoint privato | Endpoint pubblico (reti selezionate) o endpoint privato |
| Spazio dei nomi gerarchico | Attivato | Attivato |
| NFS V3 | Attivato | Attivato |
È possibile accettare i valori predefiniti per tutte le altre impostazioni.
Passaggio 4: Creare un contenitore
Creare un contenitore nell'account di archiviazione usando uno di questi strumenti o SDK:
| Strumenti | SDK |
|---|---|
| Portale di Azure | .NET |
| AzCopy | Giava |
| PowerShell | Pitone |
| Interfaccia della riga di comando di Azure | JavaScript |
| REST |
Note
Per impostazione predefinita, l'opzione Squash radice di un nuovo contenitore è Nessuno Squash radice. Tuttavia, è possibile modificarlo in Squash radice o Tutti con squash. Per informazioni su queste opzioni di squash, vedere la documentazione del sistema operativo.
L'immagine seguente mostra le opzioni di squash visualizzate nella portale di Azure.
Passaggio 5: Installare il pacchetto helper di montaggio AZNFS
Il pacchetto helper di montaggio AZNFS consente ai client Linux NFS di accedere in modo affidabile alle condivisioni NFS blob di Azure anche quando cambia l'indirizzo IP dell'endpoint. Questo pacchetto esegue un processo in background denominato aznfswatchdog che monitora le modifiche all'indirizzo IP dell'endpoint per le condivisioni montate. Se viene rilevata una modifica, questo processo in background aggiorna le regole DNAT (Destination Network Address Translation). Per altre informazioni, vedere Helper montaggio AZNFS.
Determinare se il pacchetto helper di montaggio AZNFS è installato nel client.
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"Se il pacchetto è installato, viene visualizzato il messaggio
AZNFS mounthelper is installed!.Se il pacchetto non è ancora installato, usare il comando seguente per installarlo.
wget -O - -q https://github.com/Azure/AZNFS-mount/releases/latest/download/aznfs_install.sh | bashNote
AZNFS è supportato nelle distribuzioni Linux seguenti:
- Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS)
- RedHat7, RedHat8, RedHat9
- Rocky8, Rocky9
- SUSE (SLES 15)
Suggerimento
AZNFS 3.0 è ora disponibile in anteprima pubblica. Questa versione offre una velocità effettiva più elevata, supporta file di dimensioni maggiori, migliora le prestazioni dei metadati ed elimina le restrizioni del gruppo di utenti. Per informazioni sui miglioramenti e sulle istruzioni per provare AZNFS 3.0, vedere il wiki di AZNFS.
Passaggio 6: Montare il contenitore
Creare una directory nel sistema Linux e quindi montare il contenitore nell'account di archiviazione.
Nel sistema Linux creare una directory:
mkdir -p /nfsdataMontare il contenitore usando uno dei metodi seguenti. In entrambi i metodi sostituire il segnaposto
<storage-account-name>con il nome dell'account di archiviazione e sostituire<container-name>con il nome del contenitore.Per fare in modo che la condivisione venga montata automaticamente al riavvio:
Creare una voce nel file /etc/fstab aggiungendo la riga seguente:
<storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdata aznfs defaults,sec=sys,vers=3,nolock,proto=tcp,nofail,_netdev 0 0Eseguire il comando seguente per elaborare immediatamente le voci /etc/fstab e tentare di montare il percorso precedente:
mount /nfsdata
Per un montaggio temporaneo che non persiste tra i riavvii, eseguire il comando seguente:
mount -t aznfs -o sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdataSuggerimento
Usando l'opzione di montaggio
-t aznfs, assicurarsi che il client NFS rimanga sempre connesso correttamente all'endpoint di archiviazione anche se l'IP dell'endpoint cambia dopo il montaggio. Le condivisioni NFS montate tramite l'opzione di montaggio-t nfspotrebbero essere disconnesse dall'endpoint di archiviazione se l'indirizzo IP di tale endpoint cambia.Altri parametri facoltativi sono disponibili con il comando Monta. Questi parametri influiscono principalmente sul comportamento lato client.
sysè l'unico valore attualmente supportato dall'opzionesec.Importante
L'opzione di montaggio
nconnectfunziona solo nei client che dispongono del supporto Azure Connect. L'uso dell'opzionenconnectin un client non supportato riduce la velocità effettiva e causa il timeout o il funzionamento non corretto dei comandi. Per altre informazioni su come assicurarsi che il client disponga del supporto di Azure nconnect, vedere Aumentare il numero di connessioni TCP.
Risolvere gli errori comuni
| Errore | Causa/risoluzione |
|---|---|
Access denied by server while mounting |
Verificare che il client sia in esecuzione all'interno di una subnet supportata. Vedere Percorsi di rete supportati. |
No such file or directory |
Assicurarsi di digitare, piuttosto che copiare e incollare, il comando Monta e i relativi parametri direttamente nel terminale. Se si copiano e si incollano tutte le parti di questo comando nel terminale da un'altra applicazione, i caratteri nascosti nelle informazioni incollate potrebbero causare la visualizzazione di questo errore. Questo errore potrebbe essere visualizzato anche se l'account non è abilitato per NFS 3.0. |
Permission denied |
La modalità predefinita di un contenitore NFS 3.0 appena creato è 0750. Gli utenti non radice non hanno accesso al volume. Se è necessario l'accesso da utenti non radice, gli utenti radice devono modificare la modalità su 0755. Comando di esempio: sudo chmod 0755 /nfsdata |
EINVAL ("Invalid argument") |
Questo errore può essere visualizzato quando un client tenta di: |
EROFS ("Read-only file system") |
Questo errore può essere visualizzato quando un client tenta di: |
NFS3ERR_IO/EIO ("Input/output error") |
Questo errore può essere visualizzato quando un client tenta di leggere, scrivere o impostare attributi nei BLOB archiviati nel livello di accesso archivio. |
OperationNotSupportedOnSymLink errori |
Questo errore può essere restituito durante un'operazione di scrittura tramite un archivio BLOB o un'API di Azure Data Lake Storage. L'uso di queste API per scrivere o eliminare collegamenti simbolici creati tramite NFS 3.0 non è consentito. Assicurarsi di usare l'endpoint NFS 3.0 per usare i collegamenti simbolici. |
mount: /nfsdata: bad option; |
Installare il programma helper NFS usando sudo apt install nfs-common. |
Connection Timed Out |
Assicurarsi che il client consenta la comunicazione in uscita tramite le porte 111 e 2048. Il protocollo NFS 3.0 usa queste porte. Assicurarsi di montare l'account di archiviazione usando l'endpoint del servizio BLOB e non l'endpoint di Data Lake Storage. |
Limitazioni e risoluzione dei problemi per l'helper di montaggio AZNFS
Vedere Helperdi montaggio AZNFS.