Udostępnij za pomocą


Instalowanie usługi Blob Storage przy użyciu protokołu sieciowego systemu plików (NFS) 3.0

Ten artykuł zawiera wskazówki dotyczące sposobu instalowania kontenera w usłudze Azure Blob Storage z maszyny wirtualnej platformy Azure opartej na systemie Linux lub systemu Linux, który działa lokalnie przy użyciu protokołu sieciowego systemu plików (NFS) 3.0. Aby dowiedzieć się więcej o obsłudze protokołu NFS 3.0 w usłudze Blob Storage, zobacz Obsługa protokołu sieciowego systemu plików (NFS) 3.0 dla usługi Azure Blob Storage.

Krok 1. Tworzenie sieci wirtualnej platformy Azure

Konto magazynowe musi być umieszczone w sieci wirtualnej. Sieć wirtualna umożliwia klientom bezpieczne łączenie się z kontem przechowywania. Aby dowiedzieć się więcej o usłudze Azure Virtual Network i sposobie tworzenia sieci wirtualnej, zobacz dokumentację usługi Virtual Network.

Uwaga / Notatka

Klienci w tej samej sieci wirtualnej mogą podłączać kontenery w twoim koncie. Kontener można również zainstalować z poziomu klienta, który działa w sieci lokalnej, ale musisz najpierw połączyć sieć lokalną z siecią wirtualną. Zobacz Obsługiwane połączenia sieciowe.

Krok 2. Konfigurowanie zabezpieczeń sieci

Obecnie jedynym sposobem zabezpieczenia danych na koncie magazynowym jest użycie sieci wirtualnej i innych ustawień zabezpieczeń sieciowych. Zobacz Zalecenia dotyczące zabezpieczeń sieci dla usługi Blob Storage.

Żadne inne narzędzia używane do zabezpieczania danych, w tym autoryzacja klucza konta, zabezpieczenia firmy Microsoft i listy kontroli dostępu (ACL) nie mogą służyć do autoryzowania żądania NFS 3.0. W rzeczywistości, jeśli dodasz wpis dla nazwanego użytkownika lub grupy do listy ACL obiektu blob lub katalogu, ten plik stanie się niedostępny na kliencie dla użytkowników niebędących użytkownikami głównymi. Aby przywrócić dostęp do użytkowników niebędących użytkownikami głównymi na kliencie, musisz usunąć ten wpis.

Ważne

Protokół NFS 3.0 używa portów 111 i 2048. Jeśli łączysz się z sieci lokalnej, upewnij się, że klient zezwala na komunikację wychodzącą za pośrednictwem tych portów. Jeśli udzielono dostępu do określonych sieci wirtualnych, upewnij się, że wszystkie sieciowe grupy zabezpieczeń skojarzone z tymi sieciami wirtualnymi nie zawierają reguł zabezpieczeń blokujących komunikację przychodzącą za pośrednictwem tych portów.

Krok 3. Tworzenie i konfigurowanie konta magazynu

Aby zamontować kontener przy użyciu systemu plików NFS 3.0, należy utworzyć konto pamięci masowej. Nie można włączyć istniejących kont.

Protokół NFS 3.0 jest obsługiwany dla standardowych kont magazynu ogólnego przeznaczenia w wersji 2 i kont magazynu blokowych obiektów blob w warstwie Premium. Aby uzyskać więcej informacji na temat tych typów kont magazynu, zobacz Omówienie konta magazynu.

Aby skonfigurować konto, wybierz następujące wartości:

Ustawienia Wydajność w warstwie Premium Standardowa wydajność
Lokalizacja Wszystkie dostępne regiony Wszystkie dostępne regiony
Wydajność Premium Standard
Rodzaj konta BlockBlobStorage Ogólnego przeznaczenia wersja 2
Replikacja Magazyn lokalnie nadmiarowy (LRS), magazyn strefowo nadmiarowy (ZRS) Magazyn lokalnie nadmiarowy (LRS), magazyn strefowo nadmiarowy (ZRS)
Metoda łączności Publiczny punkt końcowy (wybrane sieci) lub prywatny punkt końcowy Publiczny punkt końcowy (wybrane sieci) lub prywatny punkt końcowy
Hierarchiczna przestrzeń nazw Włączone Włączone
NFS V3 Włączone Włączone

Możesz zaakceptować wartości domyślne dla wszystkich innych ustawień.

Krok 4. Tworzenie kontenera

Utwórz kontener na swoim koncie magazynowym, używając dowolnego z tych narzędzi lub zestawów SDK.

Narzędzia Zestawy narzędzi programistycznych
Portal Azure .SIEĆ
AzCopy Jawa
PowerShell Pyton
Interfejs wiersza polecenia platformy Azure JavaScript
ODPOCZYNEK

Uwaga / Notatka

Domyślnie opcja root squash w nowym kontenerze to No Root Squash. Można jednak zmienić to na Root Squash lub All Squash. Aby uzyskać informacje o tych opcjach squasha, zobacz dokumentację systemu operacyjnego.

Na poniższej ilustracji przedstawiono opcje squasha wyświetlane w witrynie Azure Portal.

Zrzut ekranu przedstawiający opcje squashowania w Azure Portal.

Krok 5. Instalowanie pakietu pomocnika instalacji AZNFS

Pakiet pomocnika instalacji AZNFS pomaga klientom systemu Linux NFS niezawodnie uzyskiwać dostęp do udziałów NFS usługi Azure Blob nawet wtedy, gdy adres IP punktu końcowego ulegnie zmianie. Ten pakiet uruchamia zadanie w tle o nazwie aznfswatchdog , które monitoruje zmiany w adresie IP punktu końcowego dla zainstalowanych udziałów. Jeśli zostanie wykryta zmiana, to zadanie w tle aktualizuje reguły docelowego tłumaczenia adresów sieciowych (DNAT). Aby dowiedzieć się więcej, zobacz Pomocnik montowania AZNFS.

  1. Ustal, czy pakiet pomocnika instalacji AZNFS jest zainstalowany na kliencie.

    systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"
    

    Jeśli pakiet jest zainstalowany, zostanie wyświetlony komunikat AZNFS mounthelper is installed! .

  2. Jeśli pakiet nie został jeszcze zainstalowany, użyj następującego polecenia, aby go zainstalować.

    wget -O - -q https://github.com/Azure/AZNFS-mount/releases/latest/download/aznfs_install.sh | bash
    

    Uwaga / Notatka

    Następujące dystrybucje systemu Linux obsługują system plików AZNFS.

    • Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS)
  • RedHat7, RedHat8, RedHat9
  • Rocky8, Rocky9
  • SUSE (SLES 15)

Wskazówka

Aplikacja AZNFS 3.0 jest teraz dostępna w publicznej wersji zapoznawczej. Ta wersja zapewnia większą przepływność, obsługuje większe pliki, zwiększa wydajność metadanych i eliminuje ograniczenia grupy użytkowników. Aby dowiedzieć się więcej na temat ulepszeń i przeczytać instrukcje dotyczące wypróbowania AZNFS 3.0, zobacz wiki AZNFS.

Krok 6. Instalowanie kontenera

Utwórz katalog w systemie Linux, a następnie zamontuj kontener na koncie magazynowym.

  1. W systemie Linux utwórz katalog:

    mkdir -p /nfsdata
    
  2. Zainstaluj kontener przy użyciu jednej z następujących metod. W obu metodach zastąp <storage-account-name> nazwą swojego konta magazynowego i zastąp <container-name> nazwą swojego kontenera.

    • Aby zasób sieciowy był instalowany automatycznie po ponownym uruchomieniu:

      1. Utwórz wpis w pliku /etc/fstab, dodając następujący wiersz:

        <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name>  /nfsdata    aznfs defaults,sec=sys,vers=3,nolock,proto=tcp,nofail,_netdev    0 0
        
      2. Uruchom następujące polecenie, aby natychmiast przetworzyć wpisy /etc/fstab i spróbować zainstalować poprzednią ścieżkę:

        mount /nfsdata
        
    • W przypadku tymczasowej instalacji, która nie jest utrwalana podczas ponownych uruchomień, uruchom następujące polecenie:

      mount -t aznfs -o sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name>  /nfsdata
      

      Wskazówka

      Korzystając z -t aznfs opcji instalacji, upewnij się, że klient NFS zawsze pozostaje prawidłowo połączony z punktem końcowym magazynu, nawet jeśli adres IP punktu końcowego zmieni się po instalacji. Udziały NFS instalowane przy użyciu -t nfs opcji instalacji mogą zostać odłączone od punktu końcowego magazynu, jeśli adres IP tego punktu końcowego ulegnie zmianie.

      Inne parametry opcjonalne są dostępne za pomocą polecenia instalacji. Te parametry mają wpływ głównie na zachowanie po stronie klienta. sys jest jedyną wartością sec, która jest obecnie obsługiwana przez tę opcję.

      Ważne

      nconnect Opcja instalacji działa tylko na klientach z obsługą programu Azure nconnect. Użycie opcji nconnect na nieobsługiwanym kliencie będzie zmniejszać przepustowość oraz powodować przekroczenie limitu czasu poleceń lub ich niepoprawne działanie. Aby dowiedzieć się więcej o tym, jak upewnić się, że klient ma obsługę połączeń nconnect platformy Azure, zobacz Zwiększanie liczby połączeń TCP.

Rozwiązywanie typowych błędów

Błąd Przyczyna/rozwiązanie
Access denied by server while mounting Upewnij się, że klient działa w ramach obsługiwanej podsieci. Zobacz Obsługiwane lokalizacje sieciowe.
No such file or directory Pamiętaj, aby wpisać polecenie instalacji i jego parametry bezpośrednio w terminalu, zamiast kopiować i wklejać. Jeśli skopiujesz i wkleisz dowolny fragment tego polecenia do terminalu z innej aplikacji, ukryte znaki we wklejonej informacji mogą spowodować pojawienie się tego błędu. Ten błąd może również pojawić się, jeśli konto nie jest włączone dla systemu plików NFS 3.0.
Permission denied Domyślnym trybem nowo utworzonego kontenera NFS 3.0 jest 0750. Użytkownicy niebędący użytkownikami głównymi nie mają dostępu do woluminu. Jeśli wymagany jest dostęp od użytkowników niebędących użytkownikami głównymi, użytkownicy root muszą zmienić tryb na 0755. Przykładowe polecenie: sudo chmod 0755 /nfsdata
EINVAL ("Invalid argument") Ten błąd może pojawić się, gdy klient spróbuje:
  • Zapisz w obiekcie blob utworzonym z punktu końcowego blobu.
  • Usuń obiekt blob, który ma migawkę lub znajduje się w kontenerze, który ma aktywną politykę WORM (zapis jeden raz, odczyt wielu).
  • EROFS ("Read-only file system") Ten błąd może pojawić się, gdy klient spróbuje:
  • Zapisz do obiektu blob lub usuń obiekt blob, który ma aktywną dzierżawę.
  • Zapisywanie w obiekcie blob lub usuwanie obiektu blob w kontenerze z aktywnymi zasadami WORM.
  • NFS3ERR_IO/EIO ("Input/output error") Ten błąd może wystąpić, gdy klient próbuje odczytać, zapisać lub ustawić atrybuty obiektów blob przechowywanych w warstwie dostępu archiwum.
    Błąd OperationNotSupportedOnSymLink Ten błąd można zwrócić podczas operacji zapisu za pośrednictwem usługi Blob Storage lub interfejsu API usługi Azure Data Lake Storage. Używanie tych interfejsów API do zapisywania lub usuwania linków symbolicznych utworzonych przy użyciu systemu plików NFS 3.0 jest niedozwolone. Pamiętaj, aby używać punktu końcowego NFS 3.0 do pracy z linkami symbolicznymi.
    mount: /nfsdata: bad option; Zainstaluj program pomocnika NFS przy użyciu polecenia sudo apt install nfs-common.
    Connection Timed Out Upewnij się, że klient zezwala na komunikację wychodzącą za pośrednictwem portów 111 i 2048. Protokół NFS 3.0 używa tych portów. Pamiętaj, aby zainstalować konto magazynu przy użyciu punktu końcowego usługi Blob Service, a nie punktu końcowego usługi Data Lake Storage.

    Ograniczenia i rozwiązywanie problemów z pomocnikiem instalacji AZNFS

    Zobacz Pomocnik instalacji AZNFS.

    Zobacz także