Läs på engelska

Dela via


Montera Azure Blob Storage som ett filsystem med BlobFuse v1

Viktigt

BlobFuse2 är den senaste versionen av BlobFuse och har många betydande förbättringar jämfört med den version som beskrivs i den här artikeln BlobFuse v1. Mer information om de förbättringar som gjorts i BlobFuse2 finns i listan över BlobFuse2-förbättringar.

BlobFuse är en virtuell filsystemdrivrutin för Azure Blob Storage. Med BlobFuse kan du komma åt dina befintliga blockblobdata i ditt lagringskonto via Linux-filsystemet. BlobFuse använder det virtuella katalogschemat med snedstrecket "/" som avgränsare.

Den här guiden visar hur du använder BlobFuse v1 och monterar en Blob Storage-container på Linux och får åtkomst till data. Mer information om BlobFuse v1 finns i readme och wiki.

Varning

BlobFuse garanterar inte 100 % POSIX-efterlevnad eftersom det helt enkelt översätter begäranden till BLOB REST-API:er. Till exempel är byt namn på åtgärder atomiska i POSIX, men inte i BlobFuse. En fullständig lista över skillnader mellan ett inbyggt filsystem och BlobFuse finns på lagringsplatsen för BlobFuse-källkod.

Installera BlobFuse v1 på Linux

BlobFuse-binärfiler är tillgängliga på Microsofts programlagringsplatser för Linux för Ubuntu-, Debian-, SUSE-, Oracle Linux- och RHEL-distributioner. Om du vill installera BlobFuse på dessa distributioner konfigurerar du en av lagringsplatserna från listan. Du kan också skapa binärfilerna från källkoden genom att följa installationsstegen för Azure Storage om det inte finns några binärfiler tillgängliga för distributionen.

BlobFuse publiceras på Linux-lagringsplatsen för Ubuntu-versioner: 16.04, 18.04 och 20.04, RHEL-versioner: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, Debianversioner: 9.0, 10.0, SUSE version: 15, Oracle Linux 8.1. Kör det här kommandot för att se till att någon av dessa versioner har distribuerats:

cat /etc/*-release

Konfigurera Microsoft-paketlagringsplatsen

Konfigurera Linux-paketlagringsplatsen för Microsoft-produkter.

Till exempel på en Redhat Enterprise Linux 8-distribution:

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

På samma sätt ändrar du URL:en så att .../rhel/7/... den pekar på en Redhat Enterprise Linux 7-distribution.

Installera BlobFuse v1

sudo yum install blobfuse

Förbered för montering

BlobFuse ger inbyggda prestanda genom att kräva en tillfällig sökväg i filsystemet för att buffra och cachelagra alla öppna filer. För den här tillfälliga sökvägen väljer du den mest högpresterande disken eller använder en ramdisk för bästa prestanda.

Anteckning

BlobFuse lagrar allt öppet filinnehåll i den tillfälliga sökvägen. Se till att ha tillräckligt med utrymme för alla öppna filer.

(Valfritt) Använda en ramdisk för den tillfälliga sökvägen

I följande exempel skapas en ramdisk på 16 GB och en katalog för BlobFuse. Välj storlek baserat på dina behov. Med den här ramdisken kan BlobFuse öppna filer med en storlek på upp till 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

Använda en SSD som en tillfällig sökväg

I Azure kan du använda de tillfälliga diskar (SSD) som är tillgängliga på dina virtuella datorer för att tillhandahålla en buffert med låg latens för BlobFuse. Beroende på vilken etableringsagent som används monteras den tillfälliga disken på "/mnt" för cloud-init eller "/mnt/resource" för virtuella waagent-datorer.

Kontrollera att användaren har åtkomst till den tillfälliga sökvägen:

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

Auktorisera åtkomst till ditt lagringskonto

Du kan auktorisera åtkomst till ditt lagringskonto med hjälp av kontoåtkomstnyckeln, en signatur för delad åtkomst, en hanterad identitet eller ett huvudnamn för tjänsten. Auktoriseringsinformation kan anges på kommandoraden, i en konfigurationsfil eller i miljövariabler. Mer information finns i Giltiga autentiseringsinställningar i BlobFuse-läsningen.

Anta till exempel att du auktoriserar med kontoåtkomstnycklarna och lagrar dem i en konfigurationsfil. Konfigurationsfilen bör ha följande format:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

accountName är namnet på ditt lagringskonto och inte den fullständiga URL:en. Du måste uppdatera myaccount, storageaccesskeyoch mycontainer med din lagringsinformation.

Skapa den här filen med hjälp av:

sudo touch /path/to/fuse_connection.cfg

När du har skapat och redigerat den här filen måste du begränsa åtkomsten så att inga andra användare kan läsa den.

sudo chmod 600 /path/to/fuse_connection.cfg

Anteckning

Om du har skapat konfigurationsfilen i Windows ska du köra dos2unix för att sanera och konvertera filen till Unix-format.

Skapa en tom katalog för montering

sudo mkdir ~/mycontainer

Montera

Anteckning

En fullständig lista över monteringsalternativ finns i BlobFuse-lagringsplatsen.

Kör följande kommando med användaren för att montera BlobFuse. Det här kommandot monterar containern som anges i '/path/to/fuse_connection.cfg' på platsen '/mycontainer'.

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

Anteckning

Om du använder ett ADLS-konto måste du inkludera --use-adls=true.

Nu bör du ha åtkomst till dina blockblobar via de vanliga filsystem-API:erna. Den användare som monterar katalogen är den enda person som kan komma åt den, som standard, vilket skyddar åtkomsten. Om du vill tillåta åtkomst till alla användare kan du montera via alternativet -o allow_other.

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

Spara monteringen

Information om hur du bevarar monteringen finns i Spara i BlobFuse-wikin.

Funktionsstöd

Stöd för den här funktionen kan påverkas genom att aktivera Data Lake Storage Gen2, NFS 3.0-protokoll (Network File System) eller SSH File Transfer Protocol (SFTP). Om du har aktiverat någon av dessa funktioner kan du läsa Stöd för Blob Storage-funktioner i Azure Storage-konton för att utvärdera stödet för den här funktionen.

Nästa steg