Jak zainstalować usługę Azure Blob Storage jako system plików za pomocą programu BlobFuse w wersji 1

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Ważne

BlobFuse2 to najnowsza wersja programu BlobFuse i ma wiele znaczących ulepszeń dotyczących wersji omówionej w tym artykule BlobFuse v1. Aby dowiedzieć się więcej o ulepszeniach wprowadzonych w programie BlobFuse2, zobacz listę ulepszeń blobFuse2.

BlobFuse to wirtualny sterownik systemu plików dla usługi Azure Blob Storage. Program BlobFuse umożliwia dostęp do istniejących blokowych danych obiektów blob na koncie magazynu za pośrednictwem systemu plików systemu Linux. Obiekt BlobFuse używa schematu katalogu wirtualnego z ukośnikiem "/" jako ogranicznikiem.

W tym przewodniku pokazano, jak używać programu BlobFuse w wersji 1 i instalować kontener usługi Blob Storage w systemie Linux i uzyskiwać dostęp do danych. Aby dowiedzieć się więcej o programie BlobFuse w wersji 1, zobacz readme i wiki.

Ostrzeżenie

Funkcja BlobFuse nie gwarantuje zgodności ze standardem POSIX w 100%, ponieważ po prostu tłumaczy żądania na interfejsy API REST obiektów blob. Na przykład operacje zmiany nazwy są niepodzielne w systemie POSIX, ale nie w programie BlobFuse. Aby uzyskać pełną listę różnic między natywnym systemem plików i obiektem BlobFuse, odwiedź repozytorium kodu źródłowego BlobFuse.

Instalowanie programu BlobFuse w wersji 1 w systemie Linux

Pliki binarne BlobFuse są dostępne w repozytoriach oprogramowania firmy Microsoft dla systemów Linux dla systemów Ubuntu, Debian, SUSE, CentOS, Oracle Linux i RHEL. Aby zainstalować program BlobFuse w tych dystrybucjach, skonfiguruj jedno z repozytoriów z listy. Pliki binarne można również skompilować z poziomu kodu źródłowego, wykonując kroki instalacji usługi Azure Storage, jeśli nie ma plików binarnych dostępnych dla twojej dystrybucji.

Plik BlobFuse jest publikowany w repozytorium systemu Linux dla wersji Ubuntu: 16.04, 18.04 i 20.04, wersje RHEL: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, wersje CentOS: 7.0, 8.0, Debian wersje: 9.0, 10.0, SUSE w wersji: 15, Oracle Linux 8.1. Uruchom to polecenie, aby upewnić się, że wdrożono jedną z tych wersji:

cat /etc/*-release

Konfigurowanie repozytorium pakietów firmy Microsoft

Skonfiguruj repozytorium pakietów systemu Linux dla produktów firmy Microsoft.

Na przykład w dystrybucji redhat Enterprise Linux 8:

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

Podobnie zmień adres URL, aby .../rhel/7/... wskazywał dystrybucję systemu Redhat Enterprise Linux 7.

Instalowanie programu BlobFuse w wersji 1

sudo yum install blobfuse

Przygotowanie do instalowania

Funkcja BlobFuse zapewnia wydajność podobną do natywnej, wymagając tymczasowej ścieżki w systemie plików do buforowania i buforowania wszystkich otwartych plików. W przypadku tej ścieżki tymczasowej wybierz najbardziej wydajny dysk lub użyj dysku ramdisk w celu uzyskania najlepszej wydajności.

Uwaga

Obiekt BlobFuse przechowuje całą zawartość otwartego pliku w ścieżce tymczasowej. Upewnij się, że masz wystarczającą ilość miejsca, aby pomieścić wszystkie otwarte pliki.

(Opcjonalnie) Używanie dysku ramdisk dla ścieżki tymczasowej

Poniższy przykład tworzy ramdisk o pojemności 16 GB i katalog dla obiektu BlobFuse. Wybierz rozmiar na podstawie Twoich potrzeb. Ten dysk ramdisk umożliwia programowi BlobFuse otwieranie plików o rozmiarze do 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

Używanie dysku SSD jako ścieżki tymczasowej

Na platformie Azure możesz użyć efemerycznych dysków (SSD) dostępnych na maszynach wirtualnych, aby zapewnić bufor o małych opóźnieniach dla programu BlobFuse. W zależności od używanego agenta aprowizacji dysk efemeryczny zostanie zainstalowany na "/mnt" dla pakietu cloud-init lub "/mnt/resource" dla maszyn wirtualnych waagent.

Upewnij się, że użytkownik ma dostęp do ścieżki tymczasowej:

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

Autoryzowanie dostępu do konta magazynu

Dostęp do konta magazynu można autoryzować przy użyciu klucza dostępu do konta, sygnatury dostępu współdzielonego, tożsamości zarządzanej lub jednostki usługi. Informacje o autoryzacji można podać w wierszu polecenia, w pliku konfiguracji lub w zmiennych środowiskowych. Aby uzyskać szczegółowe informacje, zobacz Prawidłowe konfiguracje uwierzytelniania w pliku readme blobFuse.

Załóżmy na przykład, że autoryzujesz przy użyciu kluczy dostępu do konta i zapisujesz je w pliku konfiguracji. Plik konfiguracji powinien mieć następujący format:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

Jest accountName to nazwa konta magazynu, a nie pełny adres URL. Musisz zaktualizować myaccountwartości , storageaccesskeyi mycontainer przy użyciu informacji o magazynie.

Utwórz ten plik przy użyciu:

sudo touch /path/to/fuse_connection.cfg

Po utworzeniu i zmodyfikowaniu tego pliku pamiętaj, aby ograniczyć dostęp, aby żaden inny użytkownik nie mógł go odczytać.

sudo chmod 600 /path/to/fuse_connection.cfg

Uwaga

Jeśli plik konfiguracji został utworzony w systemie Windows, pamiętaj, aby uruchomić polecenie dos2unix w celu oczyszczenia i przekonwertowania pliku na format systemu Unix.

Tworzenie pustego katalogu na potrzeby instalowania

sudo mkdir ~/mycontainer

Instalacji

Uwaga

Aby uzyskać pełną listę opcji instalacji, sprawdź repozytorium BlobFuse.

Aby zainstalować aplikację BlobFuse, uruchom następujące polecenie z użytkownikiem. To polecenie instaluje kontener określony w lokalizacji "/path/to/fuse_connection.cfg" w lokalizacji "/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

Uwaga

Jeśli używasz konta usługi ADLS, musisz uwzględnić element --use-adls=true.

Teraz należy mieć dostęp do blokowych obiektów blob za pośrednictwem zwykłych interfejsów API systemu plików. Użytkownik, który instaluje katalog, jest jedyną osobą, która domyślnie może uzyskać do niego dostęp. Aby zezwolić na dostęp do wszystkich użytkowników, możesz zainstalować za pomocą opcji -o allow_other.

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

Utrwalanie instalacji

Aby dowiedzieć się, jak utrwalać instalację, zobacz Utrwalanie w witrynie typu wiki BlobFuse.

Obsługa funkcji

Może to mieć wpływ na obsługę tej funkcji przez włączenie protokołu Data Lake Storage Gen2, sieciowego systemu plików (NFS) 3.0 lub protokołu SSH File Transfer Protocol (SFTP). Jeśli włączono dowolną z tych funkcji, zobacz Obsługa funkcji usługi Blob Storage na kontach usługi Azure Storage, aby ocenić obsługę tej funkcji.

Następne kroki