Připojení kontejneru Azure Blob Storage v Linuxu pomocí BlobFuse2
V tomto článku se dozvíte, jak nainstalovat a nakonfigurovat BlobFuse2, připojit kontejner objektů blob Azure a přistupovat k datům v kontejneru. Základní kroky jsou:
Postup instalace BlobFuse2
Máte dvě možnosti instalace BlobFuse2:
- Nainstalujte BlobFuse2 z úložišť softwaru Microsoftu pro Linux – je to upřednostňovaná metoda instalace. BlobFuse2 je k dispozici v úložištích pro několik běžných distribucí Linuxu.
- Sestavte binární soubory BlobFuse2 ze zdrojového kódu – binární soubory BlobFuse2 můžete sestavit ze zdrojového kódu, pokud nejsou dostupné v úložištích pro vaši distribuci.
Možnost 1: Instalace BlobFuse2 z úložišť softwaru Microsoftu pro Linux
Pokud chcete zobrazit podporované distribuce, prohlédnou si verze BlobFuse2.
Informace o podpoře libfuse najdete v souboru README BlobFuse2.
Pokud chcete zkontrolovat verzi Linuxu, spusťte následující příkaz:
cat /etc/*-release
Pokud nejsou pro vaši distribuci k dispozici žádné binární soubory, můžete možnost 2: Sestavit binární soubory ze zdrojového kódu.
Instalace BlobFuse2 z úložišť:
Konfigurace úložiště balíčků Microsoftu
Nakonfigurujte úložiště balíčků pro Linux pro produkty Microsoftu.
Například v distribuci Redhat Enterprise Linux 8:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
Podobně změňte adresu URL tak, aby odkazovat na .../rhel/7/...
distribuci Redhat Enterprise Linux 7.
Instalace BlobFuse2
Možnost 2: Sestavení binárních souborů ze zdrojového kódu
Sestavení binárních souborů BlobFuse2 ze zdrojového kódu:
Nainstalujte závislosti:
Instalace Gitu:
sudo apt-get install git
Nainstalujte závislosti BlobFuse2.
Na Ubuntu:
sudo apt-get install libfuse3-dev fuse3 -y
Naklonujte úložiště:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
Sestavení BlobFuse2:
go get go build -tags=fuse3
Tip
Pokud potřebujete nainstalovat Go, přečtěte si téma Stažení a instalace Go.
Konfigurace BlobFuse2
BlobFuse2 můžete nakonfigurovat pomocí různých nastavení. Mezi typická nastavení patří:
- Umístění a možnosti protokolování
- Dočasná cesta k souboru pro ukládání do mezipaměti
- Informace o účtu úložiště Azure a kontejneru objektů blob, které se mají připojit
Nastavení je možné nakonfigurovat v konfiguračním souboru YAML, pomocí proměnných prostředí nebo jako parametry předané příkazům BlobFuse2. Upřednostňovanou metodou je použití konfiguračního souboru.
Podrobnosti o jednotlivých parametrech konfigurace pro BlobFuse2 a jejich určení najdete v těchto článcích:
- Konfigurace nastavení pro BlobFuse2
- Konfigurační soubor BlobFuse2
- Proměnné prostředí BlobFuse2
- Příkazy připojení BlobFuse2
Konfigurace BlobFuse2 pro připojení:
- Nakonfigurujte ukládání do mezipaměti.
- Vytvořte prázdný adresář pro připojení kontejneru objektů blob.
- Autorizuje přístup k vašemu účtu úložiště.
Konfigurace ukládání do mezipaměti
BlobFuse2 poskytuje nativní výkon pomocí místních technik ukládání souborů do mezipaměti. Konfigurace a chování ukládání do mezipaměti se liší v závislosti na tom, jestli streamujete velké soubory nebo přistupujete k menším souborům.
Konfigurace ukládání do mezipaměti pro streamování velkých souborů
BlobFuse2 podporuje streamování operací čtení a zápisu jako alternativu k ukládání souborů do mezipaměti na disku. V režimu streamování blobFuse2 ukládá bloky velkých souborů do paměti jak pro čtení, tak zápis. Nastavení konfigurace související s ukládáním do mezipaměti pro streamování se nachází v nastavení ve vašem konfiguračním stream:
souboru:
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
Konfigurace ukládání do mezipaměti pro menší soubory
Menší soubory se ukládají do mezipaměti do dočasné cesty zadané file_cache:
v konfiguračním souboru:
file_cache:
path: <path to local disk cache>
Poznámka:
BlobFuse2 ukládá veškerý otevřený obsah souboru do dočasné cesty. Ujistěte se, že máte dostatek místa pro všechny otevřené soubory.
Máte tři běžné možnosti konfigurace dočasné cesty pro ukládání souborů do mezipaměti:
Použití místního vysoce výkonného disku
Pokud pro ukládání souborů do mezipaměti používáte existující místní disk, zvolte disk, který poskytuje nejlepší možný výkon, například disk SSD (Solid-State Disk).
Použití disku RAM
Následující příklad vytvoří disk RAM 16 GB a adresář pro BlobFuse2. Zvolte velikost, která vyhovuje vašim požadavkům. BlobFuse2 používá disk RAM k otevření souborů o velikosti až 16 GB.
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
Použití SSD
V Azure můžete použít dočasné disky SSD, které jsou dostupné na virtuálních počítačích, a poskytnout tak vyrovnávací paměť s nízkou latencí pro BlobFuse2. V závislosti na používaném agentovi zřizování připojte dočasný disk na /mnt pro cloud-init nebo /mnt/prostředek pro virtuální počítače Microsoft Azure Linux Agent (waagent).
Ujistěte se, že má váš uživatel přístup k dočasné cestě:
sudo mkdir /mnt/resource/blobfuse2tmp -p
sudo chown <youruser> /mnt/resource/blobfuse2tmp
Vytvoření prázdného adresáře pro připojení kontejneru objektů blob
Vytvoření prázdného adresáře pro připojení kontejneru objektů blob:
mkdir ~/mycontainer
Autorizace přístupu k účtu úložiště
Musíte udělit přístup k účtu úložiště pro uživatele, který kontejner připojí. Nejběžnější způsoby udělení přístupu jsou pomocí jedné z následujících možností:
- Přístupový klíč účtu úložiště
- Sdílený přístupový podpis
- Spravovaná identita
- Instanční objekt
Informace o autorizaci můžete zadat v konfiguračním souboru nebo v proměnných prostředí. Další informace najdete v tématu Konfigurace nastavení pro BlobFuse2.
Připojení kontejneru objektů blob
Důležité
BlobFuse2 nepodporuje překrývající se cesty připojení. Pokud spustíte více instancí BlobFuse2, ujistěte se, že každá instance má jedinečný a nepřekrývající se přípojný bod.
BlobFuse2 nepodporuje koexististenci se systémem souborů NFS na stejné cestě připojení. Výsledky spuštění BlobFuse2 na stejné cestě připojení jako NFS jsou nedefinované a můžou vést k poškození dat.
Pokud chcete připojit kontejner objektů blob bloku Azure pomocí BlobFuse2, spusťte následující příkaz. Příkaz připojí kontejner zadaný do ./config.yaml
umístění ~/mycontainer
:
sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml
Poznámka:
Úplný seznam možností připojení najdete v tématu Příkazy připojení BlobFuse2.
Teď byste měli mít přístup k objektům blob bloku prostřednictvím systému souborů Linux a souvisejících rozhraní API. Pokud chcete nasazení otestovat, zkuste vytvořit nový adresář a soubor:
cd ~/mycontainer
mkdir test
echo "hello world" > test/blob.txt
Získání přístupu k datům
Obecně platí, že můžete pracovat s úložištěm připojeným k BlobFuse2, jako byste pracovali s nativním linuxovým systémem souborů. Používá schéma virtuálního adresáře s lomítkem (/
) jako oddělovač v cestě k souboru a podporuje základní operace systému souborů, jako mkdir
jsou , , readdir
opendir
, rmdir
, , open
, write
create
read
unlink
truncate
close
stat
a .rename
Měli byste ale vědět o některých klíčových rozdílech ve funkcích:
Podpora funkcí
Tato tabulka ukazuje, jak se tato funkce podporuje ve vašem účtu, a vliv na podporu, když povolíte určité funkce:
Storage account type | Blob Storage (výchozí podpora) | Data Lake Storage 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
Standard pro obecné účely verze 2 | ||||
Objekty blob bloku Úrovně Premium |
1 Azure Data Lake Storage, protokol NFS (Network File System) 3.0 a podpora protokolu SSH File Transfer Protocol (SFTP) vyžadují účet úložiště s povoleným hierarchickým oborem názvů.