Postup připojení služby Azure Blob Storage jako systému souborů pomocí BlobFuse v1
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, 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, 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
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 myaccount
storageaccesskey
informace 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.