Jak zainstalować kontener usługi Azure Blob Storage w systemie Linux przy użyciu narzędzia BlobFuse2
W tym artykule pokazano, jak zainstalować i skonfigurować obiekt BlobFuse2, zainstalować kontener obiektów blob platformy Azure i uzyskać dostęp do danych w kontenerze. Podstawowe kroki to:
Instalowanie programu BlobFuse2
Konfigurowanie programu BlobFuse2
Jak zainstalować obiekt BlobFuse2
Dostępne są dwie opcje instalowania programu BlobFuse2:
- Zainstaluj program BlobFuse2 z repozytoriów oprogramowania firmy Microsoft dla systemu Linux — jest to preferowana metoda instalacji. Obiekt BlobFuse2 jest dostępny w repozytoriach dla kilku typowych dystrybucji systemu Linux.
- Skompiluj pliki binarne BlobFuse2 z kodu źródłowego — możesz skompilować pliki binarne BlobFuse2 z kodu źródłowego, jeśli nie są dostępne w repozytoriach dystrybucji.
Opcja 1. Instalowanie programu BlobFuse2 z repozytoriów oprogramowania firmy Microsoft dla systemu Linux
Aby wyświetlić obsługiwane dystrybucje, zobacz Wersje blobFuse2.
Aby uzyskać informacje o obsłudze biblioteki libfuse, zobacz PLIK README blobFuse2.
Aby sprawdzić wersję systemu Linux, uruchom następujące polecenie:
cat /etc/*-release
Jeśli w twojej dystrybucji nie są dostępne żadne pliki binarne, możesz 2. Skompilować pliki binarne z kodu źródłowego.
Aby zainstalować obiekt BlobFuse2 z repozytoriów:
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 BlobFuse2
Opcja 2. Kompilowanie plików binarnych z poziomu kodu źródłowego
Aby skompilować pliki binarne BlobFuse2 z kodu źródłowego:
Zainstaluj zależności:
Zainstaluj usługę Git:
sudo apt-get install git
Zainstaluj zależności blobFuse2.
W systemie Ubuntu:
sudo apt-get install libfuse3-dev fuse3 -y
Sklonuj repozytorium:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
Build BlobFuse2:
go get go build -tags=fuse3
Napiwek
Jeśli musisz zainstalować język Go, zobacz Pobieranie i instalowanie języka Go.
Jak skonfigurować obiekt BlobFuse2
Możesz skonfigurować obiekt BlobFuse2 przy użyciu różnych ustawień. Oto niektóre typowe ustawienia:
- Lokalizacja i opcje rejestrowania
- Tymczasowa ścieżka pliku do buforowania
- Informacje o koncie usługi Azure Storage i kontenerze obiektów blob do instalacji
Ustawienia można skonfigurować w pliku konfiguracji YAML przy użyciu zmiennych środowiskowych lub jako parametry przekazywane do poleceń BlobFuse2. Preferowaną metodą jest użycie pliku konfiguracji.
Aby uzyskać szczegółowe informacje na temat poszczególnych parametrów konfiguracji dla obiektu BlobFuse2 i sposobu ich określania, zobacz następujące artykuły:
- Konfigurowanie ustawień obiektu BlobFuse2
- Plik konfiguracji BlobFuse2
- Zmienne środowiskowe BlobFuse2
- Polecenia instalacji obiektów blobFuse2
Aby skonfigurować program BlobFuse2 do instalowania:
- Konfigurowanie buforowania.
- Utwórz pusty katalog, aby zainstalować kontener obiektów blob.
- Autoryzuj dostęp do konta magazynu.
Konfigurowanie pamięci podręcznej
Program BlobFuse2 zapewnia natywne działanie przy użyciu lokalnych technik buforowania plików. Konfiguracja i zachowanie buforowania różnią się w zależności od tego, czy przesyłasz strumieniowo duże pliki, czy uzyskujesz dostęp do mniejszych plików.
Konfigurowanie buforowania na potrzeby przesyłania strumieniowego dużych plików
Program BlobFuse2 obsługuje przesyłanie strumieniowe dla operacji odczytu i zapisu jako alternatywę dla buforowania dysków dla plików. W trybie przesyłania strumieniowego obiekt BlobFuse2 buforuje bloki dużych plików w pamięci zarówno do odczytu, jak i zapisu. Ustawienia konfiguracji związane z buforowaniem dla przesyłania strumieniowego znajdują stream:
się w ustawieniach w pliku konfiguracji:
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
Aby szybko rozpocząć pracę z niektórymi ustawieniami podstawowego scenariusza przesyłania strumieniowego, zobacz przykładowy plik konfiguracji przesyłania strumieniowego.
Konfigurowanie buforowania dla mniejszych plików
Mniejsze pliki są buforowane do ścieżki tymczasowej określonej file_cache:
w pliku konfiguracji:
file_cache:
path: <path to local disk cache>
Uwaga
Obiekt BlobFuse2 przechowuje całą zawartość otwartego pliku w ścieżce tymczasowej. Upewnij się, że masz wystarczającą ilość miejsca, aby zawierać wszystkie otwarte pliki.
Dostępne są trzy typowe opcje konfigurowania ścieżki tymczasowej na potrzeby buforowania plików:
Używanie lokalnego dysku o wysokiej wydajności
Jeśli używasz istniejącego dysku lokalnego do buforowania plików, wybierz dysk, który zapewnia najlepszą wydajność, taką jak dysk półprzewodnikowy (SSD).
Korzystanie z dysku RAM
Poniższy przykład tworzy dysk RAM o pojemności 16 GB i katalog dla obiektu BlobFuse2. Wybierz rozmiar, który spełnia Twoje wymagania. BlobFuse2 używa dysku RAM do otwierania 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/blobfuse2tmp
sudo chown <youruser> /mnt/ramdisk/blobfuse2tmp
Używanie dysku SSD
Na platformie Azure możesz użyć efemerycznych dysków SSD, które są dostępne na maszynach wirtualnych, aby zapewnić bufor o małych opóźnieniach dla programu BlobFuse2. W zależności od używanego agenta aprowizacji zainstaluj dysk efemeryczny na / mnt dla pakietu cloud-init lub /mnt/resource dla maszyn wirtualnych programu Microsoft Azure Linux Agent (waagent).
Upewnij się, że użytkownik ma dostęp do ścieżki tymczasowej:
sudo mkdir /mnt/resource/blobfuse2tmp -p
sudo chown <youruser> /mnt/resource/blobfuse2tmp
Tworzenie pustego katalogu w celu zainstalowania kontenera obiektów blob
Aby utworzyć pusty katalog do zainstalowania kontenera obiektów blob:
mkdir ~/mycontainer
Autoryzowanie dostępu do konta magazynu
Musisz udzielić dostępu do konta magazynu dla użytkownika, który instaluje kontener. Najczęstszymi sposobami udzielania dostępu jest użycie jednej z następujących opcji:
- Klucz dostępu do konta magazynu
- Sygnatura dostępu współdzielonego
- Tożsamość zarządzana
- Jednostka usługi
Informacje o autoryzacji można podać w pliku konfiguracji lub w zmiennych środowiskowych. Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień dla obiektu BlobFuse2.
Jak zainstalować kontener obiektów blob
Ważne
Obiekt BlobFuse2 nie obsługuje nakładających się ścieżek instalacji. Jeśli uruchamiasz wiele wystąpień obiektu BlobFuse2, upewnij się, że każde wystąpienie ma unikatowy i nienakładujący się punkt instalacji.
Obiekt BlobFuse2 nie obsługuje współistnienia z systemem plików NFS w tej samej ścieżce instalacji. Wyniki uruchamiania programu BlobFuse2 w tej samej ścieżce instalacji co system plików NFS są niezdefiniowane i mogą spowodować uszkodzenie danych.
Aby zainstalować kontener blokowych obiektów blob platformy Azure przy użyciu narzędzia BlobFuse2, uruchom następujące polecenie. Polecenie instaluje kontener określony w ./config.yaml
lokalizacji ~/mycontainer
:
sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml
Uwaga
Aby uzyskać pełną listę opcji instalacji, zobacz BlobFuse2 polecenia instalacji.
Teraz należy mieć dostęp do blokowych obiektów blob za pośrednictwem systemu plików Linux i powiązanych interfejsów API. Aby przetestować wdrożenie, spróbuj utworzyć nowy katalog i plik:
cd ~/mycontainer
mkdir test
echo "hello world" > test/blob.txt
Jak uzyskać dostęp do danych
Ogólnie rzecz biorąc, można pracować z zainstalowanym magazynem BlobFuse2, tak jak w przypadku pracy z natywnym systemem plików systemu Linux. Używa schematu katalogu wirtualnego z ukośnikiem (/
) jako ogranicznikiem w ścieżce pliku i obsługuje podstawowe operacje systemu plików, takie jak mkdir
, readdir
read
open
create
write
rmdir
opendir
unlink
truncate
close
stat
, i .rename
Należy jednak pamiętać o pewnych kluczowych różnicach w funkcjonalności:
Obsługa funkcji
W tej tabeli pokazano, jak ta funkcja jest obsługiwana na Twoim koncie oraz wpływ na pomoc techniczną po włączeniu określonych możliwości:
Storage account type | Blob Storage (obsługa domyślna) | Data Lake Storage Gen2 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
Standardowa ogólnego przeznaczenia, wersja 2 | ||||
Blokowe obiekty blob w warstwie Premium |
1 Usługa Azure Data Lake Storage Gen2, protokół NFS 3.0 i protokół SSH File Transfer Protocol (SFTP) wymagają konta magazynu z włączoną hierarchiczną przestrzenią nazw.
Zobacz też
- Migrowanie do obiektu BlobFuse2 z programu BlobFuse w wersji 1
- Polecenia BlobFuse2
- Rozwiązywanie problemów z usługą BlobFuse2