Připojení kontejneru Azure Blob Storage v Linuxu pomocí BlobFuse2

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.

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:

Instalace 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é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

Instalace BlobFuse2

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

sudo yum install 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:

  1. Nainstalujte závislosti:

    1. Instalace Gitu:

      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
    

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 BlobFuse2 pro připojení:

  1. Nakonfigurujte ukládání do mezipaměti.
  2. Vytvořte prázdný adresář pro připojení kontejneru objektů blob.
  3. 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

Pokud chcete rychle začít s některými nastaveními základního scénáře streamování, podívejte se na ukázkový konfigurační soubor streamování.

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 mkdirjsou , , readdiropendir, rmdir, , open, writecreatereadunlinktruncateclosestata .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 Gen2 1 NFS 3.0 1 SFTP 1
Standard pro obecné účely verze 2 Ano Ano Ano Yes
Objekty blob bloku Úrovně Premium Ano Ano Ano Yes

1 Azure Data Lake Storage Gen2, 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