Sdílet prostřednictvím


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:

Nainstalovat BlobFuse2

Konfigurace BlobFuse2

Připojení kontejneru objektů blob

Přístup k datům

Postup instalace BlobFuse2

Máte dvě možnosti instalace BlobFuse2:

Možnost 1: Instalace BlobFuse2 z úložišť softwaru Microsoftu pro Linux

Pokud chcete zobrazit podporované distribuce, prohlédnout si můžete vydání 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

Nainstalovat BlobFuse2

Konfigurace úložiště balíčků Microsoftu

Nakonfigurujte úložiště balíčků pro Linux pro produkty Microsoftu.

Například v distribuci Red Hat Enterprise Linux 8:

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

Podobně změňte adresu URL tak, aby .../rhel/7/... odkazoval na distribuci Red Hat Enterprise Linux 7.

Instalace BlobFuse2

sudo yum install blobfuse2

Změňte název balíčku na blobfuse2-<version> pro instalaci konkrétní verze.

Možnost 2: Sestavení binárních souborů ze zdrojového kódu

Sestavení binárních souborů BlobFuse2 ze zdrojového kódu:

  1. Nainstalujte závislosti:

    1. Nainstalujte Git

      sudo apt-get install git
      
    2. Nainstalujte závislosti BlobFuse2.

      Na Ubuntu:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. Naklonujte úložiště:

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

    go get
    go build -tags=fuse3
    

Návod

Pokud potřebujete nainstalovat Go, přečtěte si téma Stažení a instalace Go.

Jak nakonfigurovat 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é budou připojeny

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:

Pro konfiguraci BlobFuse2 pro montáž:

  1. Nakonfigurujte ukládání do mezipaměti.
  2. Vytvořte prázdný adresář pro umístění blob kontejneru.
  3. Autorizujte 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žíváném agentovi zřizování připojte dočasný disk na /mnt pro cloud-init nebo /mnt/resource 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řte prázdný adresář 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 koexistenci s NFS na stejné montážní cestě. 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ý v ./config.yaml na 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 jsou mkdir, opendir, readdir, rmdir, open, read, create, write, close, unlink, truncate, 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:

Typ úložiště účtu Blob Storage (výchozí podpora) Data Lake Storage 1 NFS 3.0 1 SFTP 1
Standard pro obecné účely verze 2 Ano Ano Ano Ano
Objekty blob bloku Úrovně Premium Ano Ano Ano Ano

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ů.

Viz také

Další kroky