Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 účty úložiště verze 2 pro obecné účely a pro prémiové účty pro úložiště blokových blobů. 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í | Prémiový výkon | Standardní výkon |
|---|---|---|
| Umístění | Všechny dostupné oblasti | Všechny dostupné oblasti |
| Výkon | Premium | Standard |
| Druh účtu | Úložiště Block Blob | Obecné účely V2 |
| 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ů | Povoleno | Povoleno |
| NFS V3 | Povoleno | Povoleno |
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 | SDKy |
|---|---|
| Azure Portal | .SÍŤ |
| AzCopy | Java |
| Prostředí PowerShell | Krajta |
| Azure CLI | JavaScript |
| ZBYTEK |
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ých rutin připojení AZNFS pomáhá klientům NFS se systémem Linux spolehlivě přistupovat k NFS sdílení na Azure Blob, a to i v případě změny IP adresy 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 naleznete v AZNFS Mount Helper.
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 | bashPoznámka:
AZNFS se podporuje v následujících distribucích Linuxu:
- Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS)
- RedHat7, RedHat8, RedHat9
- Rocky8, Rocky9
- SUSE (SLES 15)
Návod
AZNFS 3.0 je teď ve verzi Public Preview. Tato verze poskytuje vyšší propustnost, podporuje větší soubory, vylepšuje výkon metadat a eliminuje omezení skupin uživatelů. Další informace o vylepšeních a zobrazení pokynů k vyzkoušení AZNFS 3.0 najdete na wikiwebu AZNFS.
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 /nfsdataPř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 0Spuštěním následujícího příkazu dojde k okamžitému zpracování položek /etc/fstab a pokusu o připojení uvedené cesty:
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> /nfsdataNávod
Pomocí
-t aznfsmož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 nfsmož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.
sysje jediná hodnota, která je aktuálně podporována možnostísec.Důležité
Volba
nconnectfunguje pouze pro klienty, kteří mají Azure nconnect podporu. Použití možnostinconnectu nepodporovaného klienta sníží propustnost a způsobí, že příkazy dojdou k časovému limitu nebo fungují nesprávně. 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í aktivován pro 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 NFS použitím sudo apt install nfs-common. |
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 odstraňování problémů pomocníka připojení AZNFS
Viz pomocníka pro připojení AZNFS.