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


Klónozás letiltása a ReFS-en

A blokkmásolás arra utasítja a fájlrendszert, hogy egy alkalmazás kérésére másolja a fájl bájtjainak egy tartományát, ahol a célfájl lehet azonos vagy különböző a forrásfájltól. A hagyományos másolási műveletek sajnos költségesek, mivel költséges olvasást és írást váltanak ki a mögöttes fizikai adatokba.

A ReFS-ben a klónozás letiltása azonban alacsony költségű metaadat-műveletként végzi a másolást ahelyett, hogy a fájladatokból olvas és ír. Mivel a ReFS lehetővé teszi, hogy több fájl is ugyanazt a logikai fürtöt (egy kötet fizikai helyeit) ossza meg, a másolási műveleteknek csak a fájl egy régióját kell újraképeznie egy külön fizikai helyre, és egy költséges, fizikai műveletet gyors, logikussá kell alakítaniuk. Ez lehetővé teszi, hogy a másolatok gyorsabban befejeződjenek, és kevesebb I/O-t generáljanak a mögöttes tárolóban. Ez a fejlesztés a virtualizálási számítási feladatokat is kihasználja, mivel .vhdx ellenőrzőpont-egyesítési műveletek jelentősen felgyorsulnak blokk klónozási műveletek használatakor. Emellett mivel több fájl is megosztható ugyanazokkal a logikai fürtökkel, az azonos adatok fizikailag nem tárolhatók többször, ami növeli a tárolási kapacitást.

Hogyan működik?

A ReFS-beli klónozás letiltása metaadat-műveletté alakítja a fájladat-műveletet. Az optimalizálás érdekében a ReFS hivatkozásszámokat vezet be a másolt régiók metaadataiba. Ez a hivatkozásszám rögzíti az azonos fizikai régiókra hivatkozó különböző fájlrégiók számát. Ez lehetővé teszi, hogy több fájl is ugyanazokat a fizikai adatokat ossza meg:

Hivatkozásszám frissítésének megjelenítése, ha több fájl hivatkozik ugyanarra a régióra

Az egyes logikai fürtök hivatkozási számának megtartásával a ReFS nem szakítja meg a fájlok elkülönítését: a megosztott régiókba történő írások kiosztásos írási mechanizmust váltanak ki, ahol a ReFS új régiót foglal le a bejövő íráshoz. Ez a mechanizmus megőrzi a megosztott logikai fürtök integritását.

Example

Tegyük fel, hogy két fájl van, az X és az Y, ahol minden fájl három régióból áll, és mindegyik régió külön logikai fürtökre van leképezve.

Két fájl, mindegyik három különböző régióval, amelyek mind olyan régiókhoz vannak megfeleltetve, melyeknek a hivatkozásszáma 1

Tegyük fel, hogy egy alkalmazás blokkol egy klónozási műveletet az X fájlból az Y fájlba, hogy az A és a B régiót az E régió eltolásánál másolja. A következő fájlrendszerállapot eredményezné a következőt:

hivatkozási szám a letiltott klónrégió 2-ét jeleníti meg

Ez a fájlrendszerállapot a blokk klónozott régiójának sikeres duplikációját mutatja. Mivel a ReFS ezt a másolási műveletet csak a VCN LCN-megfeleltetésekre való frissítésével hajtja végre, nem olvasták be a fizikai adatokat, és az Y fájlban lévő fizikai adatokat sem írták felül. Az X és az Y fájl mostantól logikai fürtöket oszt meg, amit a táblázatban szereplő hivatkozási számok tükröznek. Mivel fizikailag nem másolt adatokat, a ReFS csökkenti a kötet kapacitáshasználatát.

Tegyük fel, hogy az alkalmazás megpróbálja felülírni az A régiót az X fájlban. A ReFS duplikálja a megosztott régiót, megfelelően frissíti a referenciaszámokat, és végrehajtja a bejövő írást az újonnan duplikált régióba. Ez biztosítja, hogy a fájlok közötti elkülönítés megmaradjon.

Az elkülönítés megőrzése a G új régióba való írással és a hivatkozásszámlálók frissítésével

Az írás módosítása után a B régiót továbbra is mindkét fájl megosztja. Ha az A régió nagyobb volt, mint egy fürt mérete, akkor csak a módosított fürt lett volna duplikálva, és a többiek megosztottak maradtak volna.

Funkciókorlátozások és megjegyzések

  • A forrás- és célrégiónak klaszterhatáron kell kezdődnie és végződnie.
  • A klónozott régiónak 4 GB-nál rövidebbnek kell lennie.
  • Az ugyanahhoz a fizikai régióhoz leképező fájlrégiók maximális száma 8175.
  • A célrégió nem terjedhet ki a fájl végéig. If the application wishes to extend the destination with cloned data, it must first call SetEndOfFile.
  • Ha a forrás- és célrégiók ugyanabban a fájlban találhatók, nem lehetnek átfedésben. (Előfordulhat, hogy az alkalmazás úgy tudja folytatni a műveletet, hogy felosztja a blokk klónozási műveletet több olyan blokk klónra, amelyek már nem fedik egymást).
  • A forrás- és célfájloknak ugyanazon a ReFS-köteten kell lenniük.
  • The source and destination files must have the same Integrity Streams setting.
  • Ha a forrásfájl ritka, a célfájlnak is ritkának kell lennie.
  • A blokk klónozási művelet megszakítja a megosztott opportunista zárolásokat (más néven 2. szintű opportunista zárolásokat).
  • A ReFS-kötetet Windows Server 2016-tal kellett formázni, és ha a feladatátvételi fürtszolgáltatás használatban van, a clusterrendszer működési szintjének Windows Server 2016-os vagy újabb verziójúnak kellett lennie a formázás idején.
  • A Windows 11 24H2 és a Windows Server 2025 buildjeitől kezdve a blokk klónozása natív módon történik a támogatott Windows-másolási műveletekben.

See also