Share via


Blob Storage csatlakoztatása a Hálózati fájlrendszer (NFS) 3.0 protokoll használatával

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

Ez a cikk útmutatást nyújt arra vonatkozóan, hogyan csatlakoztathat tárolót az Azure Blob Storage-ba Linux-alapú Azure-beli virtuális gépről (VM-ről) vagy a helyszínen futó Linux-rendszerről a Hálózati fájlrendszer (NFS) 3.0 protokoll használatával. A Blob Storage NFS 3.0 protokolltámogatásával kapcsolatos további információkért tekintse meg az Azure Blob Storage hálózati fájlrendszer (NFS) 3.0 protokolltámogatását.

1. lépés: Azure-beli virtuális hálózat létrehozása

A tárfióknak egy virtuális hálózaton belül kell lennie. A virtuális hálózat lehetővé teszi az ügyfelek számára, hogy biztonságosan csatlakozzanak a tárfiókhoz. Az Azure Virtual Networkről és a virtuális hálózat létrehozásáról a virtuális hálózat dokumentációjában talál további információt.

Feljegyzés

Az ugyanabban a virtuális hálózatban lévő ügyfelek tárolókat csatlakoztathatnak a fiókjához. Egy tárolót egy helyszíni hálózaton futó ügyfélről is csatlakoztathat, de először csatlakoztatnia kell a helyszíni hálózatot a virtuális hálózathoz. Lásd: Támogatott hálózati kapcsolatok.

2. lépés: Hálózati biztonság konfigurálása

Jelenleg a tárfiókban lévő adatok védelmének egyetlen módja egy virtuális hálózat és más hálózati biztonsági beállítások használata. Lásd a Blob Storage hálózati biztonsági ajánlásait.

Az adatok védelmére szolgáló egyéb eszközök, például a fiókkulcs-engedélyezés, a Microsoft Entra biztonsági és hozzáférés-vezérlési listák (ACL-ek) nem használhatók NFS 3.0-kérések engedélyezésére. Ha egy elnevezett felhasználó vagy csoport bejegyzését hozzáadja egy blob vagy könyvtár ACL-éhez, az a fájl elérhetetlenné válik az ügyfélen a nem gyökérfelhasználók számára. Ezt a bejegyzést el kell távolítania, hogy visszaállítsa a hozzáférést az ügyfél nem gyökérfelhasználóihoz.

Fontos

Az NFS 3.0 protokoll a 111- és a 2048-at használja. Ha helyszíni hálózatról csatlakozik, győződjön meg arról, hogy az ügyfél engedélyezi a kimenő kommunikációt ezeken a portokon keresztül. Ha adott virtuális hálózatokhoz adott hozzáférést, győződjön meg arról, hogy az adott virtuális hálózatokhoz társított hálózati biztonsági csoportok nem tartalmaznak olyan biztonsági szabályokat, amelyek blokkolják az ezeken a portokon keresztüli bejövő kommunikációt.

3. lépés: Tárfiók létrehozása és konfigurálása

Ha tárolót szeretne csatlakoztatni az NFS 3.0 használatával, létre kell hoznia egy tárfiókot. A meglévő fiókok nem engedélyezhetők.

Az NFS 3.0 protokoll a standard általános célú v2-tárfiókok és a prémium szintű blokkblobtároló-fiókok esetében támogatott. Az ilyen típusú tárfiókokról további információt a Tárfiókok áttekintése című témakörben talál.

A fiók konfigurálásához válassza ki az alábbi értékeket:

Beállítás Prémium teljesítmény Standard teljesítmény
Hely Minden elérhető régió Minden elérhető régió
Teljesítmény Prémium Standard
Fiók altípusa BlockBlobStorage Általános célú v2
Replikáció Helyileg redundáns tárolás (LRS), zónaredundáns tárolás (ZRS) Helyileg redundáns tárolás (LRS), zónaredundáns tárolás (ZRS)
Kapcsolati mód Nyilvános végpont (kijelölt hálózatok) vagy privát végpont Nyilvános végpont (kijelölt hálózatok) vagy privát végpont
Hierarchikus névtér Engedélyezve Engedélyezve
NFS V3 Engedélyezve Engedélyezve

Az összes többi beállítás alapértelmezett értékeit elfogadhatja.

4. lépés: Tároló létrehozása

Hozzon létre egy tárolót a tárfiókban az alábbi eszközök vagy SDK-k bármelyikével:

Eszközök SDK-k
Azure Portalra .NET
AzCopy Java
PowerShell Python
Azure CLI JavaScript
REST

Feljegyzés

Alapértelmezés szerint az új tároló gyökér fallabda lehetősége a No Root Squash. De ezt módosíthatja Root Squash-ra vagy All Squash-ra. Ezekről a squash lehetőségekről az operációs rendszer dokumentációjában talál további információt.

Az alábbi képen az Azure Portalon megjelenő squash-beállítások láthatók.

Képernyőkép a squash lehetőségekről az Azure Portalon.

5. lépés: Az AZNFS-csatlakoztatási segédcsomag telepítése

Az AZNFS mount helper csomag segít a Linux NFS-ügyfeleknek abban, hogy megbízhatóan hozzáférjenek az Azure Blob NFS-megosztásokhoz még akkor is, ha a végpont IP-címe megváltozik. Ez a csomag futtat egy háttérfeladatot, aznfswatchdog amely figyeli a csatlakoztatott megosztások végponti IP-címének változásait. Ha módosítást észlel, ez a háttérfeladat frissíti a célhálózati címfordítás (DNAT) szabályait. További információ: AZNFS Mount Helper.

  1. Állapítsa meg, hogy az AZNFS-csatlakoztatási segédcsomag telepítve van-e az ügyfélen.

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

    Ha a csomag telepítve van, megjelenik az üzenet AZNFS mounthelper is installed! .

  2. Ha a csomag még nincs telepítve, a telepítéshez használja az alábbi parancsot.

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

    Feljegyzés

    Az AZNFS a következő Linux-disztribúciókban támogatott:

    • Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS)
    • Centos7, Centos8
    • RedHat7, RedHat8, RedHat9
    • Rocky8, Rocky9
    • SU Standard kiadás (SLES 15)

6. lépés: A tároló csatlakoztatása

Hozzon létre egy könyvtárat a Linux rendszeren, majd csatlakoztassa a tárolót a tárfiókhoz.

  1. Linux rendszeren hozzon létre egy könyvtárat:

    mkdir -p /nfsdata
    
  2. Csatlakoztassa a tárolót az alábbi módszerek egyikével. Mindkét módszerben cserélje le a <storage-account-name> helyőrzőt a tárfiók nevére, és cserélje le <container-name> a tároló nevére.

    • Ha azt szeretné, hogy a megosztás automatikusan újrainduljon:

      1. Hozzon létre egy bejegyzést az /etc/fstab fájlban az alábbi sor hozzáadásával:

        <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. Futtassa a következő parancsot a /etc/fstab bejegyzések azonnali feldolgozásához, és próbálja meg csatlakoztatni az előző elérési utat:

        mount /nfsdata
        
    • Olyan ideiglenes csatlakoztatás esetén, amely nem marad fenn az újraindítások során, futtassa a következő parancsot:

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

      Tipp.

      A csatlakoztatási beállítás használatával -t aznfs győződjön meg arról, hogy az NFS-ügyfél mindig megfelelően csatlakozik a tárolási végponthoz, még akkor is, ha a végpont IP-címe a csatlakoztatás után megváltozik. A csatlakoztatási beállítással -t nfs csatlakoztatott NFS-megosztások megszakadhatnak a tárvégponttól, ha a végpont IP-címe megváltozik.

      A csatlakoztatási paranccsal további választható paraméterek is elérhetők. Ezek a paraméterek elsősorban az ügyféloldali viselkedést befolyásolják. sys az egyetlen érték, amelyet sec a beállítás jelenleg támogat.

      Fontos

      A nconnect csatlakoztatási lehetőség csak az Azure nconnect-támogatással rendelkező ügyfeleken működik. Ha nem támogatott ügyfélen használja a nconnect beállítást, az csökkenti az átviteli sebességet, és a parancsok időtúllépését vagy helytelen működését okozzák. Ha többet szeretne megtudni arról, hogy az ügyfél rendelkezik-e Azure nconnect-támogatással, olvassa el a TCP-kapcsolatok számának növelését ismertető témakört.

Gyakori hibák elhárítása

Hiba Ok/megoldás
Access denied by server while mounting Győződjön meg arról, hogy az ügyfél támogatott alhálózatot futtat. Lásd: Támogatott hálózati helyek.
No such file or directory Mindenképpen írja be a csatlakoztatási parancsot és paramétereit a másolás és beillesztés helyett közvetlenül a terminálba. Ha a parancs bármely részét egy másik alkalmazásból másolja és illeszti be a terminálba, a beillesztett információ rejtett karakterei is okozhatják ezt a hibát. Ez a hiba akkor is előfordulhat, ha a fiók nincs engedélyezve az NFS 3.0-hoz.
Permission denied Az újonnan létrehozott NFS 3.0-tároló alapértelmezett módja a 0750. A nem gyökérfelhasználók nem rendelkeznek hozzáféréssel a kötethez. Ha nem gyökérfelhasználóktól való hozzáférésre van szükség, a gyökérfelhasználóknak 0755-ös módra kell váltaniuk. Mintaparancs: sudo chmod 0755 /nfsdata
EINVAL ("Invalid argument") Ez a hiba akkor jelenhet meg, ha egy ügyfél megpróbál:
  • Írás blobvégpontból létrehozott blobba.
  • Töröljön egy pillanatképet tartalmazó blobot, vagy egy olyan tárolóban, amely aktív WORM-szabályzattal rendelkezik (egyszer ír, több olvasási) házirendet.
  • EROFS ("Read-only file system") Ez a hiba akkor jelenhet meg, ha egy ügyfél megpróbál:
  • Írjon egy blobba, vagy törölje az aktív bérletet tartalmazó blobot.
  • Írjon egy blobba, vagy töröljön egy blobot egy olyan tárolóban, amely aktív WORM-szabályzattal rendelkezik.
  • NFS3ERR_IO/EIO ("Input/output error") Ez a hiba akkor jelenhet meg, ha egy ügyfél megpróbál olvasni, írni vagy attribútumokat beállítani az archív hozzáférési szinten tárolt blobokon.
    OperationNotSupportedOnSymLink hiba Ez a hiba egy írási művelet során a Blob Storage vagy az Azure Data Lake Storage Gen2 API használatával adható vissza. Az NFS 3.0 használatával létrehozott szimbolikus hivatkozások írása vagy törlése nem engedélyezett. Győződjön meg arról, hogy az NFS 3.0-végpontot használja a szimbolikus hivatkozások használatához.
    mount: /nfsdata: bad option; Telepítse az NFS segédprogramot a következő használatával sudo apt install nfs-common: .
    Connection Timed Out Győződjön meg arról, hogy az ügyfél engedélyezi a kimenő kommunikációt a 111-ben és a 2048-at. Az NFS 3.0 protokoll ezeket a portokat használja. Győződjön meg arról, hogy a tárfiókot a Blob szolgáltatásvégpont használatával csatlakoztatja, nem pedig a Data Lake Storage-végpontot.

    Az AZNFS-csatlakoztatási segéd korlátozásai és hibaelhárítása

    Lásd az AZNFS csatlakoztatási segédet.

    Lásd még