Come montare Archiviazione BLOB di Azure come file system con BlobFuse v1

Importante

BlobFuse2 è la versione più recente di BlobFuse e presenta molti miglioramenti significativi rispetto alla versione BlobFuse v1, descritta in questo articolo. Per informazioni sui miglioramenti apportati in BlobFuse2, vedere l'elenco dei miglioramenti di BlobFuse2.

BlobFuse è un driver virtuale file system per Archiviazione BLOB di Azure. BlobFuse consente di accedere ai dati di BLOB in blocchi esistenti nell'account di archiviazione tramite il file system di Linux. BlobFuse utilizza lo schema della directory virtuale con la barra "/" come delimitatore.

Questa guida illustra come usare BlobFuse v1 e come montare un contenitore di Archiviazione BLOB in Linux e accedere ai dati. Per altre informazioni su BlobFuse v1, vedere leggimi e wiki.

Avviso

BlobFuse non garantisce il 100% di conformità POSIX perché si limita a convertire le richieste in API REST BLOB. Le operazioni di ridenominazione, ad esempio, sono atomiche in POSIX, ma non in BlobFuse. Per un elenco completo delle differenze tra un file system nativo e BlobFuse, vedere il repository del codice sorgente di BlobFuse.

Installare BlobFuse v1 in Linux

I file binari di BlobFuse sono disponibili nei repository software Microsoft per Linux per le distribuzioni Ubuntu, Debian, SUSE, Oracle Linux e RHEL. Per installare BlobFuse in queste distribuzioni, configurare uno dei repository presenti nell'elenco. Se non sono disponibili file binari per la distribuzione, è anche possibile generare i file binari dal codice sorgente seguendo la procedura di installazione di Archiviazione di Azure.

BlobFuse viene pubblicato nel repository Linux per le versioni di Ubuntu: 16.04, 18.04 e 20.04, versioni di RHEL: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, versioni di Debian: 9.0, 10.0, versione di SUSE: 15 e Oracle Linux 8.1. Eseguire questo comando per verificare che sia stata distribuita una di tali versioni:

cat /etc/*-release

Configurare il repository di pacchetti Microsoft

Configurare il repository di pacchetti Linux per i prodotti Microsoft.

Ad esempio, in una distribuzione Redhat Enterprise Linux 8:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

Analogamente, sostituire l'URL con .../rhel/7/... in modo che faccia riferimento a una distribuzione Redhat Enterprise Linux 7.

Installare BlobFuse v1

sudo yum install blobfuse

Preparare il montaggio

BlobFuse offre prestazioni di tipo nativo richiedendo un percorso temporaneo nel file system per memorizzare nel buffer e nella cache eventuali file aperti. Per questo percorso temporaneo, scegliere il disco con le prestazioni più elevate o usare un disco RAM per prestazioni ottimali.

Nota

BlobFuse archivia i contenuti di tutti i file aperti nel percorso temporaneo. Verificare di avere spazio sufficiente per tutti i file aperti.

(Facoltativo) Usare un disco RAM per il percorso temporaneo

L'esempio seguente crea un disco RAM da 16 GB e una directory per BlobFuse. Scegliere le dimensioni in base alle proprie esigenze. Questo disco RAM consente a BlobFuse di aprire file di dimensioni massime pari a 16 GB.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfusetmp
sudo chown <youruser> /mnt/ramdisk/blobfusetmp

Usare un'unità SSD come percorso temporaneo

In Azure è possibile usare i dischi temporanei (unità SSD) disponibili nelle VM per fornire un buffer a bassa latenza per BlobFuse. A seconda dell'agente di provisioning usato, il disco temporaneo viene montato in '/mnt' per cloud-init o '/mnt/resource' per le macchine virtuali waagent.

Verificare che l'utente abbia accesso al percorso temporaneo:

sudo mkdir /mnt/resource/blobfusetmp -p
sudo chown <youruser> /mnt/resource/blobfusetmp

Autorizzare l'accesso all'account di archiviazione

È possibile autorizzare l'accesso all'account di archiviazione usando la chiave di accesso dell'account, una firma di accesso condiviso, un'identità gestita o un'entità servizio. Le informazioni sull'autorizzazione possono essere fornite nella riga di comando, in un file di configurazione o nelle variabili d'ambiente. Per informazioni dettagliate, vedere Configurazioni di autenticazione valide nel file leggimi BlobFuse.

Ad esempio, si supponga di autorizzare con le chiavi di accesso dell'account e di archiviarle in un file di configurazione. Il file di configurazione dovrà avere il formato seguente:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

Il accountName è il nome dell'account di archiviazione e non l'URL completo. È necessario aggiornare myaccount, storageaccesskey e mycontainer con le informazioni di archiviazione.

Creare questo file usando:

sudo touch /path/to/fuse_connection.cfg

Dopo aver creato e modificato questo file, assicurarsi di limitare l'accesso in modo che nessun altro utente possa leggerlo.

sudo chmod 600 /path/to/fuse_connection.cfg

Nota

Se il file di configurazione è stato creato in Windows, assicurarsi di eseguire dos2unix per purificare e convertire il file in formato Unix.

Creare una directory vuota per il montaggio

sudo mkdir ~/mycontainer

Eseguire il montaggio

Nota

Per un elenco completo di opzioni di montaggio, vedere il repository di BlobFuse.

Per montare BlobFuse, usare il comando seguente con l'utente. Questo comando monta nella posizione "/mycontainer" il contenitore specificato in "/path/to/fuse_connection.cfg".

sudo blobfuse ~/mycontainer --tmp-path=/mnt/resource/blobfusetmp  --config-file=/path/to/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120

Nota

Se si usa un account ADLS, è necessario includere --use-adls=true.

Si avrà ora accesso ai BLOB in blocchi tramite le normali API del file system. Per impostazione predefinita, l'utente che monta la directory è l'unica persona che può accedervi e in questo modo l'accesso risulta protetto. Per consentire l'accesso a tutti gli utenti, è possibile eseguire il montaggio tramite l'opzione -o allow_other.

sudo cd ~/mycontainer
sudo mkdir test
sudo echo "hello world" > test/blob.txt

Rendere permanente il montaggio

Per informazioni su come rendere permanente il montaggio, vedere Rendere permanente nel wiki BlobFuse.

Supporto funzionalità

Il supporto di questa funzionalità potrebbe essere influenzato dall'abilitazione dei protocolli Data Lake Storage Gen2, NFS (Network File System) 3.0 o SFTP (SSH File Transfer Protocol). Se è stata abilitata una di queste funzionalità, vedere Supporto delle funzionalità di Archiviazione del BLOB negli account di Archiviazione di Azure per valutare il supporto per questa funzionalità.

Passaggi successivi