Dela via


Montera en Azure Blob Storage-container i Linux med BlobFuse2

Den här artikeln visar hur du installerar och konfigurerar BlobFuse2, monterar en Azure-blobcontainer och får åtkomst till data i containern. De grundläggande stegen är:

Installera BlobFuse2

Konfigurera BlobFuse2

Montera en blobcontainer

Komma åt data

Så här installerar du BlobFuse2

Du har två alternativ för att installera BlobFuse2:

Alternativ 1: Installera BlobFuse2 från Microsofts programlagringsplatser för Linux

Information om distributioner som stöds finns i BlobFuse2-versioner.

Information om stöd för libfuse finns i BlobFuse2 README.

Kör följande kommando för att kontrollera din version av Linux:

cat /etc/*-release

Om det inte finns några binärfiler tillgängliga för distributionen kan du alternativ 2: Skapa binärfilerna från källkoden.

Så här installerar du BlobFuse2 från lagringsplatserna:

Konfigurera Microsoft-paketlagringsplatsen

Installera BlobFuse2

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 BlobFuse2

sudo yum install blobfuse2

Alternativ 2: Skapa binärfilerna från källkoden

Så här skapar du BlobFuse2-binärfilerna från källkoden:

  1. Installera beroendena:

    1. Installera Git:

      sudo apt-get install git
      
    2. Installera BlobFuse2-beroenden.

      I Ubuntu:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. Klona lagringsplatsen:

    sudo git clone https://github.com/Azure/azure-storage-fuse/
    sudo cd ./azure-storage-fuse
    sudo git checkout main
    
  3. Skapa BlobFuse2:

    go get
    go build -tags=fuse3
    

Dricks

Om du behöver installera Go läser du Ladda ned och installera Go.

Så här konfigurerar du BlobFuse2

Du kan konfigurera BlobFuse2 med hjälp av olika inställningar. Några av de vanliga inställningarna är:

  • Loggningsplats och alternativ
  • Tillfällig filsökväg för cachelagring
  • Information om azure-lagringskontot och blobcontainern som ska monteras

Inställningarna kan konfigureras i en YAML-konfigurationsfil, med hjälp av miljövariabler eller som parametrar som skickas till BlobFuse2-kommandona. Den bästa metoden är att använda konfigurationsfilen.

Mer information om var och en av konfigurationsparametrarna för BlobFuse2 och hur du anger dem finns i följande artiklar:

Så här konfigurerar du BlobFuse2 för montering:

  1. Konfigurera cachelagring.
  2. Skapa en tom katalog för att montera blobcontainern.
  3. Auktorisera åtkomst till ditt lagringskonto.

Konfigurera cachelagring

BlobFuse2 ger inbyggda prestanda med hjälp av lokala filcachelagringstekniker. Konfigurationen och beteendet för cachelagring varierar beroende på om du strömmar stora filer eller använder mindre filer.

Konfigurera cachelagring för strömmande stora filer

BlobFuse2 stöder strömning för läs- och skrivåtgärder som ett alternativ till diskcachelagring för filer. I strömningsläge cachelagrar BlobFuse2 block med stora filer i minnet både för läsning och skrivning. Konfigurationsinställningarna för cachelagring för direktuppspelning finns under stream: inställningarna i konfigurationsfilen:

stream:
    block-size-mb:
        For read only mode, the size of each block to be cached in memory while streaming (in MB)
        For read/write mode, the size of newly created blocks
    max-buffers: The total number of buffers to store blocks in
    buffer-size-mb: The size for each buffer

Information om hur du kommer igång snabbt med vissa inställningar för ett grundläggande strömningsscenario finns i konfigurationsfilen för direktuppspelning.

Konfigurera cachelagring för mindre filer

Mindre filer cachelagras till en tillfällig sökväg som anges under file_cache: i konfigurationsfilen:

file_cache:
    path: <path to local disk cache>

Kommentar

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

Du har tre vanliga alternativ för att konfigurera den tillfälliga sökvägen för filcachelagring:

Använda en lokal högpresterande disk

Om du använder en befintlig lokal disk för filcachelagring väljer du en disk som ger bästa möjliga prestanda, till exempel en solid state-disk (SSD).

Använda en RAM-disk

I följande exempel skapas en RAM-disk på 16 GB och en katalog för BlobFuse2. Välj en storlek som uppfyller dina krav. BlobFuse2 använder RAM-disken för att öppna filer som är upp till 16 GB stora.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfuse2tmp
sudo chown <youruser> /mnt/ramdisk/blobfuse2tmp
Använda en SSD

I Azure kan du använda SSD-tillfälliga diskar som är tillgängliga på dina virtuella datorer för att tillhandahålla en buffert med låg latens för BlobFuse2. Beroende på vilken etableringsagent du använder monterar du den tillfälliga disken på /mnt för cloud-init eller /mnt/resource för virtuella Datorer med Microsoft Azure Linux Agent (waagent).

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

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

Skapa en tom katalog för att montera blobcontainern

Så här skapar du en tom katalog för att montera blobcontainern:

mkdir ~/mycontainer

Auktorisera åtkomst till ditt lagringskonto

Du måste bevilja åtkomst till lagringskontot för den användare som monterar containern. De vanligaste sätten att bevilja åtkomst är något av följande alternativ:

  • Åtkomstnyckel för lagringskonto
  • Signatur för delad åtkomst
  • Hanterad identitet
  • Tjänstens huvudnamn

Du kan ange auktoriseringsinformation i en konfigurationsfil eller i miljövariabler. Mer information finns i Konfigurera inställningar för BlobFuse2.

Montera en blobcontainer

Viktigt!

BlobFuse2 stöder inte överlappande monteringssökvägar. Om du kör flera instanser av BlobFuse2 kontrollerar du att varje instans har en unik och icke-överlappande monteringspunkt.

BlobFuse2 stöder inte samexistens med NFS på samma monteringssökväg. Resultatet av att köra BlobFuse2 på samma monteringssökväg som NFS är odefinierat och kan leda till att data skadas.

Kör följande kommando för att montera en Azure-blockblobcontainer med hjälp av BlobFuse2. Kommandot monterar containern som anges på ./config.yaml platsen ~/mycontainer:

sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml

Kommentar

En fullständig lista över monteringsalternativ finns i BlobFuse2-monteringskommandon.

Nu bör du ha åtkomst till dina blockblobar via Linux-filsystemet och relaterade API:er. Testa distributionen genom att prova att skapa en ny katalog och fil:

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

Komma åt data

I allmänhet kan du arbeta med BlobFuse2-monterad lagring som du skulle arbeta med det inbyggda Linux-filsystemet. Det använder det virtuella katalogschemat med ett snedstreck (/) som avgränsare i filsökvägen och stöder grundläggande filsystemåtgärder som mkdir, opendir, readdir, rmdir, openread, , create, , write, close, unlink, truncate, , statoch rename.

Du bör dock vara medveten om några viktiga skillnader i funktioner:

Funktionsstöd

Den här tabellen visar hur den här funktionen stöds i ditt konto och effekten på supporten när du aktiverar vissa funktioner:

Storage account type Blob Storage (standardstöd) Data Lake Storage Gen2 1 NFS 3.0 1 SFTP 1
Standard generell användning v2 Ja Ja Ja Ja
Premium-blockblobar Ja Ja Ja Ja

1 Azure Data Lake Storage Gen2, NFS(Network File System) 3.0 protocol och SSH File Transfer Protocol (SFTP) stöder alla kräver ett lagringskonto med ett hierarkiskt namnområde aktiverat.

Se även

Nästa steg