Připojení služby Blob Storage pomocí protokolu NFS (Network File System) 3.0
Tento článek obsahuje pokyny k připojení kontejneru ve službě Azure Blob Storage z virtuálního počítače Azure založeného na Linuxu nebo systému Linux, který běží místně pomocí protokolu NFS (Network File System) 3.0. Další informace o podpoře protokolů NFS 3.0 ve službě Blob Storage najdete v tématu Podpora protokolu NFS (Network File System) 3.0 pro Azure Blob Storage.
Krok 1: Vytvoření virtuální sítě Azure
Váš účet úložiště musí být obsažený ve virtuální síti. Virtuální síť umožňuje klientům bezpečně se připojit k vašemu účtu úložiště. Další informace o službě Azure Virtual Network a o tom, jak vytvořit virtuální síť, najdete v dokumentaci k virtuální síti.
Poznámka:
Klienti ve stejné virtuální síti mohou připojit kontejnery ve vašem účtu. Můžete také připojit kontejner z klienta, který běží v místní síti, ale budete muset nejprve připojit místní síť k virtuální síti. Viz Podporovaná síťová připojení.
Krok 2: Konfigurace zabezpečení sítě
Jediný způsob, jak zabezpečit data v účtu úložiště, je v současné době pomocí virtuální sítě a dalších nastavení zabezpečení sítě. Viz doporučení zabezpečení sítě pro úložiště objektů blob.
Všechny další nástroje používané k zabezpečení dat, včetně autorizace klíče účtu, zabezpečení Microsoft Entra a seznamů řízení přístupu (ACL), se nedají použít k autorizaci požadavku NFS 3.0. Pokud ve skutečnosti přidáte položku pro pojmenovaného uživatele nebo skupinu do seznamu ACL objektu blob nebo adresáře, stane se tento soubor nepřístupným klientem pro uživatele, kteří nejsou root. Tuto položku byste museli odebrat, abyste obnovili přístup k jiným uživatelům než root v klientovi.
Důležité
Protokol NFS 3.0 používá porty 111 a 2048. Pokud se připojujete z místní sítě, ujistěte se, že váš klient umožňuje odchozí komunikaci přes tyto porty. Pokud jste udělili přístup ke konkrétním virtuálním sítím, ujistěte se, že žádné skupiny zabezpečení sítě přidružené k těmto virtuálním sítím neobsahují pravidla zabezpečení, která blokují příchozí komunikaci prostřednictvím těchto portů.
Krok 3: Vytvoření a konfigurace účtu úložiště
Pokud chcete připojit kontejner pomocí systému souborů NFS 3.0, musíte vytvořit účet úložiště. Nemůžete povolit existující účty.
Protokol NFS 3.0 je podporován pro standardní účty úložiště pro obecné účely verze 2 a pro účty úložiště objektů blob bloku úrovně Premium. Další informace o těchto typech účtů úložiště najdete v přehledu účtu úložiště.
Pokud chcete účet nakonfigurovat, zvolte tyto hodnoty:
Nastavení | Výkon premium | Standardní výkon |
---|---|---|
Umístění | Všechny dostupné oblasti | Všechny dostupné oblasti |
Výkon | Premium | Standard |
Druh účtu | Úložiště objektů blob bloku | Úložiště pro obecné účely verze 2 |
Replikace | Místně redundantní úložiště (LRS), zónově redundantní úložiště (ZRS) | Místně redundantní úložiště (LRS), zónově redundantní úložiště (ZRS) |
Metoda připojení | Veřejný koncový bod (vybrané sítě) nebo privátní koncový bod | Veřejný koncový bod (vybrané sítě) nebo privátní koncový bod |
Hierarchický obor názvů | Povolený | Povolený |
NFS V3 | Povolený | Povolený |
Můžete přijmout výchozí hodnoty pro všechna ostatní nastavení.
Krok 4: Vytvoření kontejneru
Ve svém účtu úložiště vytvořte kontejner pomocí některého z těchto nástrojů nebo sad SDK:
Nástroje | Sady SDK |
---|---|
Azure Portal | .NET |
AzCopy | Java |
PowerShell | Python |
Azure CLI | JavaScript |
REST |
Poznámka:
Ve výchozím nastavení je možnost root squash nového kontejneru No Root Squash. Ale můžete to změnit na Root Squash nebo All Squash. Informace o těchto možnostech squashu najdete v dokumentaci k operačnímu systému.
Následující obrázek znázorňuje možnosti squashu, jak se zobrazují na webu Azure Portal.
Krok 5: Instalace balíčku pomocníka pro připojení AZNFS
Balíček Pomocné rutiny připojení AZNFS pomáhá klientům se systémem Linux NFS spolehlivě přistupovat ke sdíleným složkám NFS objektů blob Azure i v případě, že se změní IP adresa koncového bodu. Tento balíček spouští úlohu na pozadí, aznfswatchdog
která monitoruje změny IP adresy koncového bodu pro připojené sdílené složky. Pokud se zjistí změna, tato úloha na pozadí aktualizuje pravidla dnaT (Destination Network Address Translation). Další informace najdete v nápovědě pro připojení AZNFS.
Zjistěte, jestli je na vašem klientovi nainstalovaný balíček pomocníka pro připojení AZNFS.
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"
Pokud je balíček nainstalovaný, zobrazí se zpráva
AZNFS mounthelper is installed!
.Pokud balíček ještě není nainstalovaný, nainstalujte ho pomocí následujícího příkazu.
wget -O - -q https://github.com/Azure/AZNFS-mount/releases/latest/download/aznfs_install.sh | bash
Poznámka:
AZNFS se podporuje v následujících distribucích Linuxu:
- Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS)
- RedHat7, RedHat8, RedHat9
- Rocky8, Rocky9
- SUSE (SLES 15)
Krok 6: Připojení kontejneru
Vytvořte adresář v systému Linux a pak kontejner připojte v účtu úložiště.
V systému Linux vytvořte adresář:
mkdir -p /nfsdata
Připojte kontejner pomocí jedné z následujících metod. V obou metodách nahraďte
<storage-account-name>
zástupný symbol názvem vašeho účtu úložiště a nahraďte<container-name>
názvem kontejneru.Automatické připojení sdílené složky při restartování:
Vytvořte položku v souboru /etc/fstab přidáním následujícího řádku:
<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
Spuštěním následujícího příkazu okamžitě zpracujete položky /etc/fstab a pokusíte se připojit předchozí cestu:
mount /nfsdata
V případě dočasného připojení, které se nepřechovává napříč restartováními, spusťte následující příkaz:
mount -t aznfs -o sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdata
Tip
Pomocí
-t aznfs
možnosti připojení zajistíte, aby klient NFS vždy zůstal správně připojený ke koncovému bodu úložiště, i když se IP adresa koncového bodu po připojení změní. Sdílené složky NFS připojené pomocí-t nfs
možnosti připojení se můžou odpojit od koncového bodu úložiště, pokud se ZMĚNÍ IP adresa tohoto koncového bodu.Další volitelné parametry jsou k dispozici pomocí příkazu mount. Tyto parametry mají primárně vliv na chování na straně klienta.
sys
je jediná hodnota, která je aktuálně podporována možnostísec
.Důležité
Možnost
nconnect
připojení funguje jenom u klientů, kteří mají podporu azure nconnect.nconnect
Použití možnosti u nepodporovaného klienta sníží propustnost a způsobí, že příkazy vyprší časový limit nebo nesprávně fungují. Další informace o tom, jak zajistit, aby váš klient podporoval Azure nconnect, najdete v tématu Zvýšení počtu připojení TCP.
Řešení běžných chyb
Chyba | Příčina/řešení |
---|---|
Access denied by server while mounting |
Ujistěte se, že je váš klient spuštěný v rámci podporované podsítě. Viz Podporovaná síťová umístění. |
No such file or directory |
Nezapomeňte místo kopírování a vkládání zadat příkaz mount a jeho parametry přímo do terminálu. Pokud tento příkaz zkopírujete z jiné aplikace a vložíte do terminálu, skryté znaky ve vložených informacích můžou způsobit zobrazení této chyby. Tato chyba se může zobrazit také v případě, že účet není povolený pro systém souborů NFS 3.0. |
Permission denied |
Výchozí režim nově vytvořeného kontejneru NFS 3.0 je 0750. Uživatelé, kteří nejsou root, nemají přístup ke svazku. Pokud se vyžaduje přístup od jiných než kořenových uživatelů, musí uživatel root změnit režim na 0755. Ukázkový příkaz: sudo chmod 0755 /nfsdata |
EINVAL ("Invalid argument" ) |
Tato chyba se může zobrazit, když se klient pokusí: |
EROFS ("Read-only file system" ) |
Tato chyba se může zobrazit, když se klient pokusí: |
NFS3ERR_IO/EIO ("Input/output error" ) |
Tato chyba se může zobrazit, když se klient pokusí číst, zapisovat nebo nastavit atributy objektů blob, které jsou uložené v archivní úrovni přístupu. |
Chyba OperationNotSupportedOnSymLink |
Tuto chybu je možné vrátit během operace zápisu prostřednictvím služby Blob Storage nebo rozhraní API služby Azure Data Lake Storage. Použití těchto rozhraní API k zápisu nebo odstranění symbolických odkazů vytvořených pomocí systému souborů NFS 3.0 není povoleno. Nezapomeňte použít koncový bod NFS 3.0 pro práci s symbolickými odkazy. |
mount: /nfsdata: bad option; |
Nainstalujte pomocný program systému souborů NFS pomocí sudo apt install nfs-common nástroje . |
Connection Timed Out |
Ujistěte se, že klient umožňuje odchozí komunikaci přes porty 111 a 2048. Protokol NFS 3.0 používá tyto porty. Ujistěte se, že účet úložiště připojíte pomocí koncového bodu služby Blob, a ne koncového bodu Data Lake Storage. |
Omezení a řešení potíží pro pomocníka pro připojení AZNFS
Viz Pomocná rutina připojení AZNFS.