Postup připojení služby Azure Blob Storage jako systému souborů pomocí BlobFuse v1

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.

Důležité

BlobFuse2 je nejnovější verze BlobFuse a má mnoho důležitých vylepšení oproti verzi probírané v tomto článku, BlobFuse v1. Další informace o vylepšeních v blobFuse2 najdete v seznamu vylepšení BlobFuse2.

BlobFuse je ovladač virtuálního systému souborů pro Azure Blob Storage. BlobFuse umožňuje přístup k existujícím datům objektů blob bloku ve vašem účtu úložiště prostřednictvím systému souborů Linux. BlobFuse používá schéma virtuálního adresáře s lomítkem /jako oddělovačem.

V této příručce se dozvíte, jak používat BlobFuse v1 a připojit kontejner Blob Storage v Linuxu a přistupovat k datům. Další informace o BlobFuse v1 najdete v souboru readme a wikiwebu.

Upozorňující

BlobFuse nezaručuje 100% dodržování předpisů POSIX, protože jednoduše překládá požadavky na rozhraní REST API objektů blob. Operace přejmenování jsou například atomické v POSIX, ale ne v BlobFuse. Úplný seznam rozdílů mezi nativním systémem souborů a blobFuse najdete v úložišti zdrojového kódu BlobFuse.

Instalace BlobFuse v1 v Linuxu

Binární soubory BlobFuse jsou k dispozici v softwarových úložištích Microsoftu pro Linux pro Ubuntu, Debian, SUSE, CentOS, Oracle Linux a RHEL distribuce. Pokud chcete do těchto distribucí nainstalovat BlobFuse, nakonfigurujte jedno z úložišť ze seznamu. Binární soubory můžete sestavit také ze zdrojového kódu podle postupu instalace služby Azure Storage, pokud pro vaši distribuci nejsou dostupné žádné binární soubory.

BlobFuse se publikuje v úložišti Linuxu pro ubuntu verze: 16.04, Verze 18.04 a 20.04, RHEL: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, CentOS verze: 7.0, 8.0, Debian verze: 9.0, 10.0, SUSE verze: 15, Oracle Linux 8.1. Spuštěním tohoto příkazu se ujistěte, že máte nasazenou jednu z těchto verzí:

cat /etc/*-release

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 BlobFuse v1

sudo yum install blobfuse

Příprava na montáž

BlobFuse poskytuje nativní výkon tím, že vyžaduje dočasnou cestu v systému souborů k ukládání do vyrovnávací paměti a ukládání všech otevřených souborů do mezipaměti. Pro tuto dočasnou cestu zvolte nejvýkonnější disk nebo pro zajištění nejlepšího výkonu použijte disk ramdisk.

Poznámka:

BlobFuse ukládá veškerý obsah otevřeného souboru do dočasné cesty. Ujistěte se, že máte dostatek místa pro všechny otevřené soubory.

(Volitelné) Použití disku ramdisku pro dočasnou cestu

Následující příklad vytvoří disk ramdisk 16 GB a adresář pro BlobFuse. Zvolte velikost podle svých potřeb. Tento disk ram umožňuje službě BlobFuse otevírat soubory o velikosti až 16 GB.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfusetmp
sudo chown <youruser> /mnt/ramdisk/blobfusetmp

Použití SSD jako dočasné cesty

V Azure můžete pomocí dočasných disků (SSD) dostupných na virtuálních počítačích poskytnout vyrovnávací paměť s nízkou latencí pro BlobFuse. V závislosti na použitém agentovi zřizování se dočasný disk připojí na /mnt pro cloud-init nebo /mnt/resource pro virtuální počítače waagent.

Ujistěte se, že má uživatel přístup k dočasné cestě:

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

Autorizace přístupu k účtu úložiště

Přístup k účtu úložiště můžete autorizovat pomocí přístupového klíče účtu, sdíleného přístupového podpisu, spravované identity nebo instančního objektu. Informace o autorizaci je možné zadat na příkazovém řádku, v konfiguračním souboru nebo v proměnných prostředí. Podrobnosti najdete v tématu Platné nastavení ověřování v souboru readme BlobFuse.

Předpokládejme například, že autorizujete pomocí přístupových klíčů účtu a ukládáte je do konfiguračního souboru. Konfigurační soubor by měl mít následující formát:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

Jedná se accountName o název vašeho účtu úložiště, nikoli úplnou adresu URL. Potřebujete aktualizovat myaccountstorageaccesskeyinformace o úložišti a mycontainer s informacemi o úložišti.

Vytvořte tento soubor pomocí:

sudo touch /path/to/fuse_connection.cfg

Po vytvoření a úpravě tohoto souboru nezapomeňte omezit přístup, aby ho ostatní uživatelé mohli číst.

sudo chmod 600 /path/to/fuse_connection.cfg

Poznámka:

Pokud jste vytvořili konfigurační soubor ve Windows, ujistěte se, že chcete dos2unix soubor sanitizovat a převést do formátu Unix.

Vytvoření prázdného adresáře pro připojení

sudo mkdir ~/mycontainer

Připojení

Poznámka:

Úplný seznam možností připojení najdete v úložišti BlobFuse.

Pokud chcete připojit BlobFuse, spusťte s uživatelem následující příkaz. Tento příkaz připojí kontejner zadaný v cestě /path/to/fuse_connection.cfg do umístění /mycontainer.

sudo blobfuse ~/mycontainer --tmp-path=/mnt/resource/blobfusetmp  --config-file=/path/to/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120

Poznámka:

Pokud používáte účet ADLS, musíte zahrnout --use-adls=true.

Teď byste měli mít přístup k objektům blob bloku prostřednictvím běžných rozhraní API systému souborů. Uživatel, který adresář připojí, je jediným uživatelem, který k němu ve výchozím nastavení má přístup. Tím se přístup zabezpečí. Pokud chcete povolit přístup všem uživatelům, můžete připojit pomocí možnosti -o allow_other.

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

Zachování připojení

Informace o zachování připojení najdete v tématu Zachování na wikiwebu BlobFuse.

Podpora funkcí

Podpora této funkce může mít vliv na povolení protokolu Data Lake Storage Gen2, systému souborů NFS (Network File System) 3.0 nebo protokolu SSH File Transfer Protocol (SFTP). Pokud jste některou z těchto funkcí povolili, podívejte se na podporu funkcí služby Blob Storage v účtech Azure Storage a vyhodnoťte podporu této funkce.

Další kroky