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


Az Azure NetApp Files címtárméreteinek ismertetése

Amikor egy fájl létrejön egy könyvtárban, a rendszer hozzáad egy bejegyzést egy rejtett indexfájlhoz az Azure NetApp Files-köteten belül. Ez az indexfájl segít nyomon követni a címtárban lévő meglévő inódokat, és segít felgyorsítni a nagy számú fájllal rendelkező könyvtárak keresését. A fájl bejegyzéseinek hozzáadásakor a fájl mérete a fájlnév hosszától függően körülbelül 512 bájt/bejegyzés sebességgel nő (de soha nem csökken). A hosszabb fájlnevek nagyobb méretet adnak a fájlhoz. A szimbolikus hivatkozások bejegyzéseket is hozzáadnak ehhez a fájlhoz. Ezt a fogalmat könyvtárméretnek nevezzük, amely minden Linux-alapú fájlrendszer gyakori eleme. A címtárméret nem a fájlok maximális száma egyetlen Azure NetApp Files-kötetben. Ezt az érték határozza megmaxfiles.

Alapértelmezés szerint egy új könyvtár létrehozásakor 4 kib (4096 bájt) vagy nyolc 512 bájtos blokkot használ fel. A stat paranccsal megtekintheti az újonnan létrehozott címtár méretét egy Linux-ügyfélből.

# mkdir dirsize 
# stat dirsize 
File: ‘dirsize’ 
Size: 4096            Blocks: 8          IO Block: 32768  directory 

A címtárméretek egyetlen könyvtárra vonatkoznak, és nem egyesíthetők méretben. Ha például egy kötetben 10 könyvtár található, mindegyik elérheti a 320 MiB könyvtárméretkorlátot egyetlen kötetben.

Annak meghatározása, hogy egy könyvtár megközelíti-e a korlát méretét

Egy 320 MiB-könyvtár esetén a blokkok száma 655360, minden blokkméret 512 bájt. (Vagyis 320x1024x1024/512.) Ez a szám körülbelül 4-5 millió fájlt jelent egy 320 MiB-könyvtár esetében. A maximális fájlok tényleges száma azonban alacsonyabb lehet, olyan tényezőktől függően, mint a könyvtárban nem ASCII-karaktereket tartalmazó fájlok száma.

Az ügyfél parancsával megállapíthatja stat , hogy egy címtár eléri-e a címtár metaadatainak maximális méretkorlátját (320 MB). Ha eléri az Azure NetApp Files egyetlen könyvtárának maximális méretkorlátját, a hiba No space left on device bekövetkezik.

Egy 320 MB-os könyvtár esetében a blokkok száma 655 360, és minden blokkméret 512 bájt. (Vagyis 320x1024x1024/512.) Ez a szám körülbelül 4 millió fájlt jelent egy 320 MB-os könyvtár esetében. A maximális fájlok tényleges száma azonban alacsonyabb lehet, olyan tényezőktől függően, mint a könyvtárban nem ASCII-karaktereket tartalmazó fájlok száma. A maxdirsize monitorozásáról további információt a Figyelés maxdirsizecímű témakörben talál.

A címtár méretének szempontjai

A nagy fájlszámú környezetek kezelésekor vegye figyelembe a következő javaslatokat:

  • Az Azure NetApp Files-kötetek legfeljebb 320 MiB könyvtárméretet támogatnak. Ez az érték nem növelhető.
  • A kötet könyvtárméretének túllépése után az ügyfelek akkor is helykihelyezési hibát jeleznek, ha szabad terület áll rendelkezésre a kötetben.
  • Normál kötetek esetén a 320 MiB könyvtárméret nagyjából 4-5 millió fájlt jelent egyetlen könyvtárban. Ez az érték a fájlnév hosszától függ.
  • A nagy kötetek architektúrája eltérő, mint a hagyományos kötetek.
  • Az egyetlen könyvtárban lévő magas fájlszám problémákat okozhat a keresés során. Ha lehetséges, korlátozza egy könyvtár teljes méretét 2 MiB-re (körülbelül 27 000 fájlra), ha gyakori keresésekre van szükség.
    • Ha több fájlra van szükség egyetlen könyvtárban, ennek megfelelően módosítsa a keresési teljesítményre vonatkozó elvárásokat. Bár az Azure NetApp Files indexeli a címtárfájl-listaelemeket a teljesítmény szempontjából, a keresések sok időt vehet igénybe a magas fájlszámmal.
  • A fájlrendszer tervezésekor kerülje az egyszerű címtárelrendezéseket. A címtárelrendezések különböző megközelítéseiről további információt a Címtárelrendezések című témakörben talál.
  • A könyvtárméret túllépésének és az új fájlok létrehozásának sikertelenségével kapcsolatos problémák megoldásához törölje vagy helyezze át a fájlokat a megfelelő könyvtárból.

Tudnivalók a címtárelrendezésekről

Az maxdirsize érték problémákat okozhat a lapos címtárstruktúrák használatakor, ahol egyetlen mappa több millió fájlt tartalmaz egyetlen szinten. Azok a mappastruktúrák, amelyekben a fájlok, mappák és almappák egymásba vannak kapcsolva, alacsony hatással vannak a következőkre maxdirsize: Számos könyvtárstruktúra-módszertan létezik.

A lapos könyvtárstruktúra egyetlen könyvtár, amely több fájlt tartalmaz ugyanazon könyvtár alatt.

Egy lapos könyvtárszerkezet diagramja.

A széles címtárstruktúra számos legfelső szintű könyvtárat tartalmaz, és a fájlok az összes könyvtárban elterülnek.

Egy széles könyvtárszerkezet diagramja.

A mélykönyvtár-struktúra kevesebb legfelső szintű könyvtárat tartalmaz, sok alkönyvtárral. Bár ez a struktúra kevesebb fájlt biztosít mappánként, a fájl elérési útjának hossza problémát okozhat, ha a címtárelrendezések túl mélyek, és a fájlelérési utak túl hosszúak lesznek. A fájl elérési útjának hosszáról további információt az Azure NetApp Files fájlútvonal-hosszának ismertetése című témakörben talál.

Egy mélykönyvtár-szerkezet diagramja.

A lapos címtárstruktúrák hatása az Azure NetApp Filesban

A lapos címtárstruktúrák (egyetlen vagy néhány könyvtárban lévő sok fájl) negatív hatással vannak számos fájlrendszerre, Azure NetApp-fájlkötetre vagy másra. A lehetséges problémák a következők:

  • Memóriaterhelés
  • Processzorhasználat
  • Hálózati teljesítmény/késés (különösen a fájlok, műveletek, GETATTR READDIR műveletek tömeges lekérdezése során)

Az Azure NetApp Files nagy méretű köteteinek kialakítása miatt a hatás maxdirsize egyedi. Az Azure NetApp Files nagy kötetére maxdirsize egyedi hatással van a kialakítása. A hagyományos kötetekkel ellentétben a nagy kötetek távoli, kemény hivatkozásokat használnak az Azure NetApp Filesban, hogy segítsenek átirányítani a forgalmat a különböző tárolóeszközökre, hogy nagyobb skálázást és teljesítményt nyújtsanak. Ha egybesimított könyvtárakat használ, nagyobb a helyi fájlokra mutató belső, távoli, kemény hivatkozások aránya. Ezek a távoli, kemény kapcsolatok a teljes maxdirsize értékhez tartoznak, így egy nagy kötet gyorsabban közelítheti meg a korlátot maxdirsize , mint egy normál kötet.

Ha például egyetlen könyvtár több millió fájllal rendelkezik, és nagyjából 85%-os távoli, kemény hivatkozásokat hoz létre a fájlrendszer számára, akkor várhatóan maxdirsize a szokásos kötetek mennyiségének közel kétszerese fog kimerülni.

Az Azure NetApp Files címtárméreteivel kapcsolatos legjobb eredmények:

  • Kerülje a lapos címtárstruktúrákat az Azure NetApp Filesban. A széles vagy mély könyvtárszerkezetek a legjobban működnek, feltéve, hogy a fájl vagy mappa elérési útja nem haladja meg a NAS protokollszabványokat.
  • Ha a lapos címtárszerkezetek elkerülhetetlenek, figyelje a maxdirsize könyvtárakat.

Monitor maxdirsize

Egyetlen könyvtár esetén a stat paranccsal keresse meg a könyvtár méretét.

# stat /mnt/dir_11/c5 

Bár a stat parancs egy adott könyvtár könyvtárméretének ellenőrzésére használható, előfordulhat, hogy nem olyan hatékony, ha önállóan futtatja egy könyvtáron. A legnagyobbtól a legkisebbig rendezett legnagyobb könyvtárméretek listájának megtekintéséhez az alábbi parancs biztosítja, hogy miközben kihagyja a pillanatkép-könyvtárakat a lekérdezésből.

# find /mnt -name .snapshot -prune -o -type d -ls -links 2 -prune | sort -rn -k 7 | head | awk '{print $2 " " $11}' | sort -rn 

Feljegyzés

A stat parancs által jelentett könyvtárméret bájtban van. A keresési parancsban jelentett méret a KiB-ben van.

Példa

# stat /mnt/dir_11/c5 

  File: ‘/mnt/dir_11/c5’ 

  Size: 322396160       Blocks: 632168     IO Block: 32768  directory 
 
# find /mnt -name .snapshot -prune -o -type d -ls -links 2 -prune | sort -rn -k 7 | head | awk '{print $2 " " $11}' | sort -rn 
316084 /mnt/dir_11/c5 

3792 /mnt/dir_19 

3792 /mnt/dir_16 

Az előzőben a könyvtár mérete /mnt/dir_11/c5 316 084 KiB (308,6 MiB), amely megközelíti a 320 MiB korlátot. Ez körülbelül 4,1 millió fájlnak felel meg.

# ls /mnt/dir_11/c5 | wc -l
4171624

Ebben az esetben fontolja meg a korrekciós műveleteket, például a fájlok áthelyezését vagy törlését.

További információ