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:
Så här installerar du BlobFuse2
Du har två alternativ för att installera BlobFuse2:
- Installera BlobFuse2 från Microsofts programlagringsplatser för Linux – det här är den metod som rekommenderas för installation. BlobFuse2 är tillgängligt på lagringsplatserna för flera vanliga Linux-distributioner.
- Skapa BlobFuse2-binärfilerna från källkoden – Du kan skapa BlobFuse2-binärfilerna från källkoden om den inte är tillgänglig i lagringsplatserna för din distribution.
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
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
Alternativ 2: Skapa binärfilerna från källkoden
Så här skapar du BlobFuse2-binärfilerna från källkoden:
Installera beroendena:
Installera Git:
sudo apt-get install git
Installera BlobFuse2-beroenden.
I Ubuntu:
sudo apt-get install libfuse3-dev fuse3 -y
Klona lagringsplatsen:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
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:
- Konfigurera inställningar för BlobFuse2
- BlobFuse2-konfigurationsfil
- BlobFuse2-miljövariabler
- BlobFuse2-monteringskommandon
Så här konfigurerar du BlobFuse2 för montering:
- Konfigurera cachelagring.
- Skapa en tom katalog för att montera blobcontainern.
- 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
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
, open
read
, , create
, , write
, close
, unlink
, truncate
, , stat
och 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 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
Standard generell användning v2 | ||||
Premium-blockblobar |
1 Azure Data Lake Storage, NFS 3.0-protokollet (Network File System) och SSH File Transfer Protocol (SFTP) stöder alla krav på ett lagringskonto med ett hierarkiskt namnområde aktiverat.