Montera Blob Storage med hjälp av NFS 3.0-protokollet (Network File System)
Den här artikeln innehåller vägledning om hur du monterar en container i Azure Blob Storage från en Linux-baserad virtuell Azure-dator (VM) eller ett Linux-system som körs lokalt med hjälp av NFS-protokollet (Network File System) 3.0. Mer information om stöd för NFS 3.0-protokoll i Blob Storage finns i Nätverksfilsystem (NFS) 3.0-protokollstöd för Azure Blob Storage.
Steg 1: Skapa ett virtuellt Azure-nätverk
Ditt lagringskonto måste finnas i ett virtuellt nätverk. Med ett virtuellt nätverk kan klienter ansluta säkert till ditt lagringskonto. Mer information om Azure Virtual Network och hur du skapar ett virtuellt nätverk finns i dokumentationen om virtuella nätverk.
Kommentar
Klienter i samma virtuella nätverk kan montera containrar i ditt konto. Du kan också montera en container från en klient som körs i ett lokalt nätverk, men du måste först ansluta ditt lokala nätverk till ditt virtuella nätverk. Se Nätverksanslutningar som stöds.
Steg 2: Konfigurera nätverkssäkerhet
För närvarande är det enda sättet att skydda data i ditt lagringskonto att använda ett virtuellt nätverk och andra inställningar för nätverkssäkerhet. Se Nätverkssäkerhetsrekommendationer för Blob Storage.
Andra verktyg som används för att skydda data, inklusive auktorisering av kontonycklar, Microsoft Entra-säkerhet och åtkomstkontrollistor (ACL) kan inte användas för att auktorisera en NFS 3.0-begäran. Om du lägger till en post för en namngiven användare eller grupp i ACL för en blob eller katalog blir filen otillgänglig på klienten för icke-rotanvändare. Du måste ta bort posten för att återställa åtkomsten till icke-rotanvändare på klienten.
Viktigt!
NFS 3.0-protokollet använder portarna 111 och 2048. Om du ansluter från ett lokalt nätverk kontrollerar du att klienten tillåter utgående kommunikation via dessa portar. Om du har beviljat åtkomst till specifika virtuella nätverk kontrollerar du att alla nätverkssäkerhetsgrupper som är associerade med dessa virtuella nätverk inte innehåller säkerhetsregler som blockerar inkommande kommunikation via dessa portar.
Steg 3: Skapa och konfigurera ett lagringskonto
Om du vill montera en container med hjälp av NFS 3.0 måste du skapa ett lagringskonto. Du kan inte aktivera befintliga konton.
NFS 3.0-protokollet stöds för standardlagringskonton för generell användning v2 och för premium-blockbloblagringskonton. Mer information om dessa typer av lagringskonton finns i Översikt över lagringskonto.
Om du vill konfigurera kontot väljer du följande värden:
Inställning | Premium-prestanda | Standardprestanda |
---|---|---|
Plats | Alla tillgängliga regioner | Alla tillgängliga regioner |
Prestanda | Premium | Standard |
Typ av konto | BlockBlobStorage | Generell användning V2 |
Replikering | Lokalt redundant lagring (LRS), zonredundant lagring (ZRS) | Lokalt redundant lagring (LRS), zonredundant lagring (ZRS) |
Anslutningsmetod | Offentlig slutpunkt (valda nätverk) eller privat slutpunkt | Offentlig slutpunkt (valda nätverk) eller privat slutpunkt |
Hierarkisk namnrymd | Aktiverat | Aktiverat |
NFS V3 | Aktiverat | Aktiverat |
Du kan acceptera standardvärdena för alla andra inställningar.
Steg 4: Skapa en container
Skapa en container i ditt lagringskonto med hjälp av något av dessa verktyg eller SDK:er:
Verktyg | SDK:er |
---|---|
Azure-portalen | .NET |
AzCopy | Java |
PowerShell | Python |
Azure CLI | JavaScript |
REST |
Kommentar
Som standard är root squash-alternativet för en ny container Ingen rot squash. Men du kan ändra det till Root Squash eller All Squash. Information om dessa squashalternativ finns i dokumentationen om operativsystemet.
Följande bild visar squashalternativen som visas i Azure-portalen.
Steg 5: Installera AZNFS-monteringshjälppaketet
AZNFS Mount Helper-paketet hjälper Linux NFS-klienter att på ett tillförlitligt sätt komma åt Azure Blob NFS-resurser även när IP-adressen för slutpunkten ändras. Det här paketet kör ett bakgrundsjobb med namnet aznfswatchdog
som övervakar ändringar i slutpunktens IP-adress för de monterade resurserna. Om en ändring identifieras uppdaterar det här bakgrundsjobbet DNAT-reglerna (Destination Network Address Translation). Mer information finns i AZNFS-monteringshjälp.
Kontrollera om AZNFS-monteringshjälppaketet är installerat på klienten.
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"
Om paketet har installerats visas meddelandet
AZNFS mounthelper is installed!
.Om paketet inte har installerats ännu använder du följande kommando för att installera det.
wget -O - -q https://github.com/Azure/AZNFS-mount/releases/latest/download/aznfs_install.sh | bash
Kommentar
AZNFS stöds för följande Linux-distributioner:
- Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS)
- RedHat7, RedHat8, RedHat9
- Rocky8, Klippig9
- SUSE (SLES 15)
Steg 6: Montera containern
Skapa en katalog i Linux-systemet och montera sedan containern i lagringskontot.
Skapa en katalog i Linux-systemet:
mkdir -p /nfsdata
Montera containern med någon av följande metoder. I båda metoderna ersätter du
<storage-account-name>
platshållaren med namnet på ditt lagringskonto och ersätter<container-name>
med namnet på containern.Så här monterar du resursen automatiskt vid omstart:
Skapa en post i filen /etc/fstab genom att lägga till följande rad:
<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
Kör följande kommando för att omedelbart bearbeta posterna /etc/fstab och försöka montera föregående sökväg:
mount /nfsdata
Kör följande kommando för en tillfällig montering som inte bevaras mellan omstarter:
mount -t aznfs -o sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdata
Dricks
Genom att använda monteringsalternativet
-t aznfs
ser du till att NFS-klienten alltid förblir korrekt ansluten till lagringsslutpunkten även om slutpunktens IP-adress ändras efter monteringen. NFS-resurser som monteras med monteringsalternativet-t nfs
kan kopplas från lagringsslutpunkten om IP-adressen för slutpunkten ändras.Andra valfria parametrar är tillgängliga med monteringskommandot. Dessa parametrar påverkar främst beteendet på klientsidan.
sys
är det enda värde som för närvarande stöds av alternativetsec
.Viktigt!
Monteringsalternativet
nconnect
fungerar bara på klienter som har Azure nconnect-stöd.nconnect
Om du använder alternativet på en klient som inte stöds minskar dataflödet och leder till att kommandona överskrider tidsgränsen eller fungerar felaktigt. Mer information om hur du ser till att klienten har Azure nconnect-stöd finns i Öka antalet TCP-anslutningar.
Lösa vanliga fel
Fel | Orsak/lösning |
---|---|
Access denied by server while mounting |
Se till att klienten körs i ett undernät som stöds. Se Nätverksplatser som stöds. |
No such file or directory |
Skriv i stället för att kopiera och klistra in monteringskommandot och dess parametrar direkt i terminalen. Om du kopierar och klistrar in någon del av kommandot i terminalen från ett annat program kan det finnas dolda tecken i den inklistrade informationen som orsakar felet. Det här felet kan också visas om kontot inte är aktiverat för NFS 3.0. |
Permission denied |
Standardläget för en nyskapad NFS 3.0-container är 0750. Icke-rotanvändare har inte åtkomst till volymen. Om åtkomst från icke-rotanvändare krävs måste rotanvändare ändra läget till 0755. Exempelkommando: sudo chmod 0755 /nfsdata |
EINVAL ("Invalid argument" ) |
Det här felet kan visas när en klient försöker: |
EROFS ("Read-only file system" ) |
Det här felet kan visas när en klient försöker: |
NFS3ERR_IO/EIO ("Input/output error" ) |
Det här felet kan visas när en klient försöker läsa, skriva eller ange attribut på blobar som lagras på arkivåtkomstnivån. |
Felet OperationNotSupportedOnSymLink |
Det här felet kan returneras under en skrivåtgärd via ett Blob Storage- eller Azure Data Lake Storage Gen2-API. Det är inte tillåtet att använda dessa API:er för att skriva eller ta bort symboliska länkar som skapas med hjälp av NFS 3.0. Se till att använda NFS 3.0-slutpunkten för att arbeta med symboliska länkar. |
mount: /nfsdata: bad option; |
Installera NFS-hjälpprogrammet med hjälp sudo apt install nfs-common av . |
Connection Timed Out |
Kontrollera att klienten tillåter utgående kommunikation via portarna 111 och 2048. NFS 3.0-protokollet använder dessa portar. Se till att montera lagringskontot med blobtjänstslutpunkten och inte Data Lake Storage-slutpunkten. |