Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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.
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!.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 | bashUwaga / 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.
W systemie Linux utwórz katalog:
mkdir -p /nfsdataZainstaluj 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:
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 0Uruchom 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> /nfsdataWskazówka
Korzystając z
-t aznfsopcji 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 nfsopcji 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.
sysjest jedyną wartościąsec, która jest obecnie obsługiwana przez tę opcję.Ważne
nconnectOpcja instalacji działa tylko na klientach z obsługą programu Azure nconnect. Użycie opcjinconnectna 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: |
EROFS ("Read-only file system") |
Ten błąd może pojawić się, gdy klient spróbuje: |
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.