Megosztás a következőn keresztül:


NFS-hez csatlakoztatott blobtároló használata az Azure HPC Cache használatával

Az NFS-hez csatlakoztatott blobtárolókat az Azure HPC Cache használatával használhatja. További információ az NFS 3.0 protokoll támogatásáról az Azure Blob Storage-ban a Blob Storage dokumentációs webhelyén.

Az Azure HPC Cache az ADLS-NFS tároló céltípusában NFS-kompatibilis blobtárolót használ. Ezek a tárolási célok hasonlóak a normál NFS-tárolókhoz, de átfedésben vannak a normál Azure Blob-célokkal is.

Ez a cikk az ADLS-NFS storage-célok használatakor megértendő stratégiákat és korlátozásokat ismerteti.

Olvassa el az NFS-blob dokumentációját is, különösen azokat a szakaszokat, amelyek kompatibilis és nem kompatibilis forgatókönyveket írnak le, és hibaelhárítási tippeket ad:

A konzisztenciakövetelmények ismertetése

A HPC Cache erős konzisztenciát igényel az ADLS-NFS tárolási célokhoz. Alapértelmezés szerint az NFS-kompatibilis blobtárolók nem frissítik szigorúan a fájl metaadatait, ami megakadályozza, hogy a HPC Cache pontosan összehasonlítsa a fájlverziókat.

A különbség megkerüléséhez az Azure HPC Cache automatikusan letiltja az NFS-attribútumok gyorsítótárazását a tárolóhelyként használt NFS-kompatibilis blobtárolókon.

Ez a beállítás a tároló teljes élettartama alatt megmarad, még akkor is, ha eltávolítja azt a gyorsítótárból.

Adatok előzetes betöltése NFS-protokollal

NFS-kompatibilis blobtárolókban a fájlokat csak ugyanaz a protokoll szerkesztheti, amelyet a létrehozáskor használt. Vagyis ha az Azure REST API-val tölt fel egy tárolót, akkor az NFS nem tudja frissíteni ezeket a fájlokat. Mivel az Azure HPC Cache csak NFS-t használ, nem szerkesztheti az Azure REST API-val létrehozott fájlokat. (További információ a Blob Storage API-kkal kapcsolatos ismert problémákról)

A gyorsítótár nem jelent problémát, ha a tároló üres, vagy ha a fájlok NFS használatával lettek létrehozva.

Ha a tárolóban lévő fájlok NFS helyett az Azure Blob REST API-val lettek létrehozva, az Azure HPC Cache az eredeti fájlokon a következő műveletekre korlátozódik:

  • A fájl listázása egy könyvtárban.
  • Olvassa el a fájlt (és tartsa a gyorsítótárban a későbbi olvasásokhoz).
  • Törölje a fájlt.
  • Ürítse ki a fájlt (csonkítsa 0-ra).
  • Mentse a fájl másolatát. A másolat NFS által létrehozott fájlként van megjelölve, és az NFS használatával szerkeszthető.

Az Azure HPC Cache nem tudja szerkeszteni a REST használatával létrehozott fájl tartalmát. Ez azt jelenti, hogy a gyorsítótár nem tudja menteni a módosított fájlokat az ügyfélről a tárolási célhelyre.

Fontos megérteni ezt a korlátozást, mert adatintegritási problémákat okozhat, ha olvasási/írási gyorsítótárazási használati modelleket használ olyan fájlokon, amelyek nem NFS-sel lettek létrehozva.

Tipp.

További információ a gyorsítótárhasználati modellek olvasási és írási gyorsítótárazásáról.

Írási gyorsítótárazási forgatókönyvek

Ezek a gyorsítótár-használati modellek az írási gyorsítótárazást tartalmazzák:

  • 15%-nál nagyobb írási arány
  • 15%-nál nagyobb írás, a háttérkiszolgáló ellenőrzése a módosítások 30 másodpercenkénti ellenőrzéséhez
  • 15%-nál nagyobb írási érték, a háttérkiszolgáló ellenőrzése a módosítások 60 másodpercenkénti ellenőrzéséhez
  • 15%-nál nagyobb írás, 30 másodpercenként írjon vissza a kiszolgálóra

Írási gyorsítótárazási használati modelleket csak az NFS-szel létrehozott fájlokon szabad használni.

Ha írási gyorsítótárazást próbál használni a REST által létrehozott fájlokon, a fájlmódosítások elveszhetnek. Ennek az az oka, hogy a gyorsítótár nem próbálja meg azonnal menteni a fájlokat a tárolóba.

A REST által létrehozott fájlokba történő írások gyorsítótárazása az alábbiak szerint veszélyezteti az adatokat:

  1. A gyorsítótár elfogadja az ügyfelek szerkesztéseit, és minden módosításról sikeres üzenetet ad vissza.

  2. A gyorsítótár megőrzi a módosított fájlt a tárolójában, és várja a további módosításokat.

  3. Egy idő elteltével a gyorsítótár megpróbálja menteni a módosított fájlt a háttértárolóba. Ekkor hibaüzenet jelenik meg, mert egy REST által létrehozott fájlba próbál írni az NFS használatával.

    Túl késő azt mondani az ügyfélszámítógépnek, hogy a módosításokat nem fogadták el, és a gyorsítótárnak nincs módja az eredeti fájl frissítésére. Így az ügyfelek módosításai elvesznek.

Gyorsítótárazási forgatókönyvek olvasása

Az olvasási gyorsítótárazási forgatókönyvek az NFS-sel vagy az Azure Blob REST API-val létrehozott fájlokhoz megfelelőek.

Ezek a használati modellek csak olvasási gyorsítótárazást használnak:

  • Nehéz, ritkán írt írások olvasása
  • Az ügyfelek a gyorsítótár megkerülésével írnak az NFS-tárolóba
  • Nagy olvasás, a háttérkiszolgáló ellenőrzése 3 óránként

Ezeket a használati modelleket REST API vagy NFS által létrehozott fájlokkal használhatja. Az ügyfélről a háttértárolóba küldött NFS-írások továbbra is sikertelenek lesznek, de azonnal sikertelenek lesznek, és hibaüzenetet küldenek az ügyfélnek.

Az olvasási gyorsítótárazási munkafolyamatok továbbra is tartalmazhatnak fájlmódosításokat, feltéve, hogy ezek nem gyorsítótárazva vannak. Előfordulhat például, hogy az ügyfelek a tárolóból férnek hozzá a fájlokhoz, de a módosításokat új fájlként írják vissza, vagy más helyre menthetik a módosított fájlokat.

A Network Lock Manager (NLM) korlátainak felismerése

Az NFS-kompatibilis blobtárolók nem támogatják a Network Lock Managert (NLM), amely egy gyakran használt NFS-protokoll a fájlok ütközések elleni védelméhez.

Ha az NFS-munkafolyamatot eredetileg hardveres tárolórendszerekhez írták, az ügyfélalkalmazások NLM-kéréseket is tartalmazhatnak. Ha szeretné megkerülni ezt a korlátozást, amikor a folyamatot NFS-kompatibilis blobtárolóba helyezi át, győződjön meg arról, hogy az ügyfelek letiltják az NLM-et a gyorsítótár csatlakoztatásakor.

Az NLM letiltásához használja az ügyfelek mount parancsában található lehetőséget-o nolock. Ez a beállítás megakadályozza, hogy az ügyfelek NLM-zárolásokat kérjenek, és válaszként hibaüzeneteket kapjanak. A nolock beállítás eltérően implementálva van a különböző operációs rendszerekben; a részletekért tekintse meg az ügyfél operációs rendszer dokumentációját (man 5 nfs).

Írás egyszerűsítése NFS-kompatibilis tárolókba a HPC Cache használatával

Az Azure HPC Cache segíthet a teljesítmény javításában egy olyan számítási feladatban, amely magában foglalja az ADLS-NFS tárolási cél módosításainak írását.

Megjegyzés:

Az ADLS-NFS tároló feltöltéséhez NFS-t kell használnia, ha módosítani szeretné a fájljait az Azure HPC Cache-ben.

Az NFS-kompatibilis blobok teljesítményével kapcsolatos szempontokat ismertető cikkben ismertetett korlátozások egyike, hogy az ADLS-NFS storage nem túl hatékony a meglévő fájlok felülírására. Ha az Azure HPC Cache-t NFS-re csatlakoztatott blobtárolóval használja, a gyorsítótár időszakos átírásokat kezel, amikor az ügyfelek módosítanak egy aktív fájlt. A fájlok háttértárolóba való írásának késése rejtve van az ügyfelek elől.

Ne feledje, hogy az NFS protokollal végzett adatok betöltése előtti adatokra vonatkozó fent ismertetett korlátozások.

Következő lépések