Udostępnij za pośrednictwem


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

Instalowanie kontenera obiektów blob

Uzyskiwanie dostępu do danych

Jak zainstalować BlobFuse2

Dostępne są dwie opcje instalowania programu BlobFuse2:

Opcja 1. Instalowanie programu BlobFuse2 z repozytoriów oprogramowania firmy Microsoft dla systemu Linux

Aby wyświetlić obsługiwane wydania, zobacz Wersje BlobFuse2.

Aby uzyskać informacje o obsłudze libfuse, zobacz BlobFuse2 README.

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

Instalowanie programu BlobFuse2

Konfigurowanie repozytorium pakietów firmy Microsoft

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

Na przykład w dystrybucji Red Hat Enterprise Linux 8:

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

Podobnie zmień adres URL tak, aby .../rhel/7/... wskazywał dystrybucję Red Hat Enterprise Linux 7.

Instalowanie programu BlobFuse2

sudo yum install blobfuse2

Opcja 2. Kompilowanie plików binarnych z poziomu kodu źródłowego

Aby skompilować pliki binarne BlobFuse2 z kodu źródłowego:

  1. Zainstaluj zależności:

    1. Zainstaluj usługę Git:

      sudo apt-get install git
      
    2. Zainstaluj zależności BlobFuse2.

      W systemie Ubuntu:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. Sklonuj repozytorium:

    sudo git clone https://github.com/Azure/azure-storage-fuse/
    sudo cd ./azure-storage-fuse
    sudo git checkout main
    
  3. Build BlobFuse2:

    go get
    go build -tags=fuse3
    

Wskazówka

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 zamontowania

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:

Aby skonfigurować program BlobFuse2 do instalowania:

  1. Konfigurowanie buforowania.
  2. Utwórz pusty katalog, aby zainstalować kontener obiektów blob.
  3. Autoryzuj dostęp do swojego konta magazynowego.

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 BlobFuse2 buforuje bloki dużych plików w pamięci zarówno do odczytu, jak i zapisu. Ustawienia konfiguracji związane z cache dla przesyłania strumieniowego znajdują się w ustawieniach stream: 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

Konfigurowanie buforowania dla mniejszych plików

Mniejsze pliki są buforowane do ścieżki tymczasowej określonej pod file_cache: w pliku konfiguracji:

file_cache:
    path: <path to local disk cache>

Uwaga

BlobFuse2 przechowuje zawartość wszystkich otwartych plików 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 zamontuj dysk efemeryczny na /mnt dla usługi cloud-init lub /mnt/resource dla maszyn wirtualnych z 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

Utwórz pusty katalog, aby zamontować kontener blob.

Aby utworzyć pusty katalog do zainstalowania kontenera obiektów blob:

mkdir ~/mycontainer

Autoryzuj dostęp do swojego konta magazynowego

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 magazynowego
  • 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

BlobFuse2 nie obsługuje nakładających się ścieżek montowania. Jeśli uruchamiasz wiele instancji BlobFuse2, upewnij się, że każda instancja ma unikatowy i nienakładający się punkt montowania.

BlobFuse2 nie obsługuje współistnienia z systemem plików NFS w tej samej ścieżce montowania. 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 montuje kontener określony w ./config.yaml na lokalizacji ~/mycontainer:

sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml

Uwaga

Aby uzyskać pełną listę opcji montowania, zobacz polecenia montowania BlobFuse2.

Powinieneś teraz mieć dostęp do blokowych obiektów blob przez system plików Linux i powiązane interfejsy 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

Zazwyczaj można korzystać z zainstalowanej pamięci masowej BlobFuse2 tak jak 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, opendirreaddirrmdiropenreadcreatewritecloseunlinktruncatestat, 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:

Typ konta magazynowego Blob Storage (obsługa domyślna) Data Lake Storage 1 NFS 3.0 1 SFTP 1
Standardowa ogólnego przeznaczenia, wersja 2 Tak Tak Tak Tak
Blokowe obiekty blob w warstwie Premium Tak Tak Tak Tak

1 Usługa Azure Data Lake Storage oraz protokoły NFS (Network File System) 3.0 i SFTP (SSH File Transfer Protocol) wymagają konta magazynu z włączoną hierarchiczną przestrzenią nazw.

Zobacz też

Następne kroki