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


Migrálás NFS Azure-fájlmegosztásokra

Ez a cikk a Linux-fájlkiszolgálókról az NFS Azure-fájlmegosztásokra való migrálás alapvető szempontjait ismerteti, amelyek csak prémium szintű fájlmegosztásokként érhetők el (FileStorage-fiók típusa). Összehasonlítjuk az nyílt forráskód fájlmásoló eszközöket az fpsync és az rsync eszközzel, hogy megtudjuk, hogyan hajtják végre az adatokat az Azure-fájlmegosztásokra való másoláskor.

Megjegyzés:

Az Azure Files nem támogatja az NFS-hozzáférés-vezérlési listákat (ACL-eket).

A következőre érvényes:

Fájlmegosztás típusa SMB NFS
Standard szintű fájlmegosztások (GPv2), LRS/ZRS No No
Standard szintű fájlmegosztások (GPv2), GRS/GZRS No No
Prémium fájlmegosztások (FileStorage), LRS/ZRS No Yes

Előfeltételek

Szüksége lesz legalább egy Linux rendszerű virtuális gépre (VM) csatlakoztatott NFS Azure-fájlmegosztásra. A létrehozáshoz lásd : NFS Azure-fájlmegosztás létrehozása és csatlakoztatása Linux rendszerű virtuális gépen. Javasoljuk, hogy több TCP-kapcsolat használatához csatlakoztassa a megosztást nconnecttel. További információ: Az NFS Azure-fájlmegosztás teljesítményének javítása.

Migrálási eszközök

Számos nyílt forráskód eszköz áll rendelkezésre az adatok NFS-fájlmegosztásokra való átviteléhez. Azonban nem mindegyik hatékony a helyszíni beállításokhoz képest eltérő teljesítménnyel rendelkező elosztott fájlrendszerek kezelésekor. Az elosztott fájlrendszerekben minden hálózati hívás egy olyan kiszolgálóra való oda-vissza utazást foglal magában, amely esetleg nem helyi. Ezért a hálózati hívásokra fordított idő optimalizálása elengedhetetlen az optimális teljesítmény és a hálózaton keresztüli hatékony adatátvitel eléréséhez.

Az fpsync és az rsync használata

Annak ellenére, hogy egyszálas, az rsync sokoldalú, nyílt forráskód fájlmásoló eszköz. Másolhat helyileg, egy másik gazdagépről bármely távoli rendszerhéjon keresztül, vagy egy távoli rsync démonba vagy onnan. Számos lehetőséget kínál, és lehetővé teszi a másolandó fájlok rugalmas specifikációját. Az fpsync azonban többszálú alkalmazás, ezért számos előnyt kínál, beleértve az rsync-feladatok párhuzamos futtatását is.

Ebben a cikkben az fpsync használatával helyezünk át adatokat Linux-fájlkiszolgálóról NFS Azure-fájlmegosztásokra.

Az adatok másolásához az fpsync rsync (alapértelmezett), cpio vagy tar eszközöket használ. Kiszámítja a forráskönyvtár src_dir/ részhalmazait, és szinkronizálási feladatokat hoz létre a célkönyvtárba dst_dir/való szinkronizáláshoz. Szinkronizációs feladatokat hajt végre menet közben, miközben egyidejűleg bejárja a fájlrendszert, így hasznos eszköz a nagy fájlrendszerek hatékony migrálásához és a nagy adathalmazok több fájlból történő másolásához.

Megjegyzés:

Az Fpsync csak a címtár tartalmát szinkronizálja, magát a forráskönyvtárat nem. Az rsynctől eltérően az fpsync a forráskönyvtár végleges "/" tulajdonságát kényszeríti ki, ami azt jelenti, hogy a szinkronizálás után nem fog kapni egy alkönyvtárat a forráskönyvtár nevével a célkönyvtárban.

Fpart telepítése

Az fpsync használatához telepítenie kell az fpart fájlrendszer particionálóját. Telepítse az fpartot a választott Linux-disztribúcióra. Miután telepítette, az fpsync /usr/bin/alatt kell megjelennie.

Az Ubuntu-on az apt csomagkezelővel telepítse az fpartot.

sudo apt-get install fpart

Adatok másolása a forrásból a célhelyre

Győződjön meg arról, hogy a cél (cél) Azure-fájlmegosztás linuxos virtuális géphez van csatlakoztatva. See Prerequisites.

Ha teljes migrálást végez, három fázisban másolja az adatokat:

  1. Alapkonfiguráció másolása: Másolás forrásból célhelyre, ha a célhelyen nincs adat. Az alapkonfigurációs másoláshoz az fpsync és a cpio használatát javasoljuk másolási eszközként.
  2. Növekményes másolás: Csak a forrás és a cél közötti növekményes módosítások másolása. Növekményes szinkronizáláshoz az fpsync és az rsync másolási eszköz használatát javasoljuk. Ezt többször is meg kell tenni az összes módosítás rögzítéséhez.
  3. Végső átadás: A célhelyen lévő olyan fájlok törléséhez, amelyek nem léteznek a forrásnál, végleges átadásra van szükség.

Az adatok fpsync használatával történő másolásához mindig szükség van a parancs bizonyos verziójára:

fpsync -m <specify copy tool - rsync/cpio/tar> -n <parallel transfers> <absolute source path> <absolute destination path>

Alapkonfiguráció másolása

Az alapkonfiguráció másolásához használja az fpsync és a cpio parancsot.

fpsync -m cpio -n <parallel transfers> <absolute source path> <absolute destination path>

További információ: Cpio és Tar támogatás.

Növekményes másolás

Növekményes szinkronizáláshoz használja az fpsyncet az alapértelmezett másolási eszközzel (rsync). Az összes módosítás rögzítéséhez javasoljuk, hogy ezt többször is futtassa.

fpsync -n <parallel transfers> <absolute source path> <absolute destination path>

Alapértelmezés szerint az fpsync a következő rsync-beállításokat adja meg: -lptgoD -v --numeric-ids. Az fpsync parancshoz hozzáadva -o option további rsync-beállításokat is megadhat.

Utolsó bérlet

Több növekményes szinkronizálás után végleges átadást kell végeznie a célhelyen lévő olyan fájlok törléséhez, amelyek nem léteznek a forrásban. Ezt manuálisan rsync --delete is megteheti, ha további fájlokat szeretne törölni a /data/dst/ könyvtárból, vagy használhatja az fpsync-et az -E beállítással. További részletekért lásd : The Final Pass.

Az rsync és az fpsync összehasonlítása különböző adatkészletekkel

Ez a szakasz az rsync és az fpsync teljesítményét hasonlítja össze különböző adatkészletekkel.

Adatkészletek és konfiguráció

Az alábbi táblázat felsorolja azokat az adathalmazokat, amelyeket a másolási eszköz teljesítményének összehasonlításához használtunk különböző számítási feladatok esetén.

Config # Másolás típusa Fájlszám Címtárak száma Fájlméret Teljes méret
1,1 Alapkonfiguráció másolása 1 millió 1 0-32 KiB 18 GiB
1,2 Növekményes (változásváltozás) 1 millió 1 0-32 KiB 18 GiB
2 Alapkonfiguráció másolása 191,345 3,906 0-32 KiB 3 GiB
3 Alapkonfiguráció másolása 5000 1 10 MiB 50 GiB

A teszteket 8 virtuális processzorral, 32 GiB memóriával és több mint 1 TiB lemezterülettel rendelkező Azure Standard_D8s_v3 virtuális gépeken végezték el. A célhoz 1 TiB-nál nagyobb méretű NFS Azure-fájlmegosztásokat konfiguráltunk.

Kísérletek és eredmények: rsync és fpsync

A fenti konfigurációkkal végzett kísérleteink alapján megfigyeltük, hogy az fpsync akkor teljesített a legjobban, ha 64 szál rsync-et és 16 szálat használ a cpio használatával egy Azure NFS-fájlmegosztáshoz nconnect=8. A tényleges eredmények a konfigurációtól és az adatkészlettől függően változnak.

Megjegyzés:

Az Azure Files átviteli sebessége sokkal magasabb lehet, mint az alábbi diagramokon látható. Néhány kísérletet szándékosan kis adathalmazokkal végeztek az egyszerűség kedvéért.

1. konfiguráció

Egyetlen könyvtár esetében, amely összesen 18 GiB méretű 1 millió kis fájlt tartalmaz, ezt a tesztet alappéldányként és növekményes másolatként is futtattuk.

A következő eredményeket figyeltük meg, amikor a forrásból a célba másolták az alapkonfigurációt.

Chart showing the test results of configuration 1 for a baseline copy.

Az alábbi eredményeket növekményes másolással (változásváltozással) figyeltük meg.

Chart showing the test results of configuration 1 for an incremental copy.

2. konfiguráció

Az alábbi eredmények 191 345 kis méretű fájl alapkonfigurációs másolatát mutatták be 3906 könyvtárban, összesen 3 GiB méretű könyvtárban.

Chart showing the test results of configuration 2 for a baseline copy.

3. konfiguráció

Az alábbi eredményeket egy 5000 nagyméretű fájl (10 MiB) alapkonfigurációs másolatát követtük egyetlen könyvtárban, összesen 50 GiB méretben.

Chart showing the test results of configuration 3 for a baseline copy.

Az eredmények összegzése

A többszálas alkalmazások, például az fpsync használata javíthatja az átviteli sebességet és az IOPS-t az NFS Azure-fájlmegosztásokra való migráláskor az egyszálú másolási eszközökhöz, például az rsynchez képest. Tesztjeink azt mutatják, hogy:

  • Az adatok könyvtáron belüli elosztása segít párhuzamossá a migrálási folyamatnak, és ezáltal jobb teljesítményt nyújt.
  • Az adatok nagyobb fájlméretekből történő másolása jobb teljesítményt eredményez, mint az adatok kisebb fájlméretekből való másolása.

Az alábbi táblázat összefoglalja az eredményeket:

Config # Fájlszám Címtárak száma Fájlméret Teljes méret rsync időtartam rsync átviteli sebesség fpsync időtartam fpsync átviteli sebesség Átviteli sebesség nyeresége
1.1 (alapterv) 1 millió 1 0-32 KiB 18 GiB 837,06 perc 0,33 MiB/s 228,16 perc 1,20 MiB/s 267%
1.2 (növekményes) 1 millió 1 0-32 KiB 18 GiB 84,02 perc 3.25 MiB/s 7,5 perc 36.41 MiB/s 1,020%
2 (alapterv) 191,345 3,906 0-32 KiB 3 GiB 191,86 perc 0,27 MiB/s 8,47 perc 6,04 MiB/s 2,164%
3 (alapterv) 5000 1 10 MiB 50 GiB 8,12 perc 105.04 MiB/s 2,76 perc 308.90 MiB/s 194%

Külső féltől származó információra vonatkozó felelősséget kizáró nyilatkozat

A cikkben említett nyílt forráskód eszközök jól ismert külső megoldások. A Microsoft nem fejleszti, nem birtokolja vagy támogatja őket, sem közvetlenül, sem közvetve. Az ügyfél felelőssége, hogy megvizsgálja a harmadik fél dokumentációjában megadott szoftverlicencet és támogatási nyilatkozatot.

További lépések