Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
✔️ Dotyczy: klasyczne udziały plików NFS utworzone za pomocą dostawcy zasobów Microsoft.Storage
✖️ Nie dotyczy: udziałów plików NFS utworzonych przy użyciu dostawcy zasobów Microsoft.FileShares ani klasycznych udziałów plików SMB utworzonych przy użyciu dostawcy zasobów Microsoft.Storage
W tym artykule opisano podstawowe aspekty migracji z serwerów plików systemu Linux do udziałów plików platformy Azure NFS, które są dostępne tylko jako udziały plików SSD (Premium). Porównuje także narzędzia do kopiowania plików open source – fpsync i rsync, aby zrozumieć, jak działają podczas kopiowania danych do udostępnień plików Azure.
Uwaga
Usługa Azure Files nie obsługuje list kontroli dostępu systemu plików NFS (ACL).
Wymagania wstępne
Potrzebujesz co najmniej jednego udostępnionego pliku NFS Azure zamontowanego na wirtualnej maszynie Linux (VM). Aby utworzyć, zobacz Tworzenie klasycznego współdzielenia plików platformy Azure. Zamontuj udostępnienie, używając nconnect, aby użyć wielu połączeń TCP dla lepszej wydajności. Aby uzyskać więcej informacji, zobacz Poprawa wydajności zasobu współdzielonego plików Azure w systemie plików NFS.
Narzędzia migracji
Dostępnych jest wiele narzędzi do transferu danych do udziałów plików NFS. Jednak nie wszystkie z nich są wydajne w przypadku pracy z rozproszonym systemem plików z różnymi zagadnieniami dotyczącymi wydajności w porównaniu z konfiguracjami lokalnymi. W rozproszonym systemie plików każde wywołanie sieciowe obejmuje podróż okrężną do serwera, który może nie być lokalny. W związku z tym optymalizacja czasu poświęcanego na wywołania sieciowe ma kluczowe znaczenie dla osiągnięcia optymalnej wydajności i wydajnego transferu danych za pośrednictwem sieci.
Korzystanie z usługi Azure Storage Mover
Teraz możesz użyć usługi Azure Storage Mover do migrowania udziałów plików NFSv3 i NFSv4 do udziałów plików platformy Azure NFSv4.1. Azure Storage Mover to w pełni zarządzana usługa migracji, która umożliwia migrowanie lokalnych plików i folderów na platformę Azure przy jednoczesnym zminimalizowaniu przestojów.
Korzystanie z narzędzia fpsync a rsync
Pomimo jednowątkowego, rsync jest wszechstronnym, otwartoźródłowym narzędziem do kopiowania plików. Może kopiować pliki lokalnie, do lub z innego hosta za pośrednictwem dowolnej zdalnej powłoki albo do lub z zdalnego demona rsync. Oferuje wiele opcji i umożliwia elastyczne określenie zestawu plików do kopiowania. Jednak fpsync jest aplikacją wielowątkową i dlatego oferuje pewne korzyści, w tym możliwość równoległego uruchamiania zadań rsync.
Ten artykuł wyjaśnia, jak użyć fpsync do przenoszenia danych z serwera plików Linux do NFS Azure shares.
Aby skopiować dane, fpsync używa narzędzi rsync (wartość domyślna), cpio lub tar. Wyznacza podzestawy katalogu źródłowego src_dir/ i uruchamia zadania synchronizacji, aby zsynchronizować je z katalogiem docelowym dst_dir/. Wykonuje zadania synchronizacji na bieżąco podczas jednoczesnego przeszukiwania systemu plików, dzięki czemu jest to przydatne narzędzie do wydajnego migrowania dużych systemów plików i kopiowania dużych zestawów danych z wieloma plikami.
Uwaga
Program Fpsync synchronizuje tylko zawartość katalogu, a nie sam katalog źródłowy. W przeciwieństwie do rsync, fpsync wymusza końcowy '/' w katalogu źródłowym, co oznacza, że nie uzyskasz podkatalogu o nazwie katalogu źródłowego w katalogu docelowym po synchronizacji.
Zainstaluj fpart
Aby użyć fpsync, musisz zainstalować partycjoner systemu plików fpart. Zainstaluj program fpart w wybranej dystrybucji systemu Linux. Po instalacji fpsync pojawia się pod /usr/bin/.
W systemie Ubuntu użyj menedżera pakietów apt, aby zainstalować program fpart.
sudo apt-get install fpart
Kopiowanie danych ze źródła do miejsca docelowego
Upewnij się, że docelowe udostępnienie plików platformy Azure jest zamontowane na maszynie wirtualnej z systemem Linux. Zobacz Wymagania wstępne.
Jeśli wykonujesz pełną migrację, skopiujesz dane w trzech fazach:
- Kopia podstawowa: Skopiuj ze źródła do miejsca przeznaczenia, gdy w miejscu przeznaczenia nie ma żadnych danych. W przypadku kopii bazowej zalecamy użycie narzędzia fpsync z narzędziem cpio do kopiowania.
-
Kopia przyrostowa: Skopiuj tylko zmiany przyrostowe ze źródła do miejsca docelowego. Do synchronizacji inkrementalnej użyj
fpsyncwithrsyncjako narzędzia do kopiowania. Wykonaj to polecenie wielokrotnie, aby uchwycić wszystkie zmiany. - Ostateczne przejście: Ostateczne przejście jest potrzebne do usunięcia jakichkolwiek plików w miejscu docelowym, które nie istnieją w źródle.
Kopiowanie danych za pomocą funkcji fpsync zawsze wiąże się z pewną wersją tego polecenia:
fpsync -m <specify copy tool - rsync/cpio/tar> -n <parallel transfers> <absolute source path> <absolute destination path>
Kopia bazowa
W przypadku kopii bazowej użyj fpsync z cpio.
fpsync -m cpio -n <parallel transfers> <absolute source path> <absolute destination path>
Aby uzyskać więcej informacji, zobacz Obsługa technologii Cpio i Tar.
Kopia przyrostowa
Do synchronizacji przyrostowej użyj fpsync z domyślnym narzędziem do kopiowania (rsync). Wykonaj to polecenie kilka razy, aby zarejestrować wszystkie zmiany.
fpsync -n <parallel transfers> <absolute source path> <absolute destination path>
Domyślnie określa fpsync następujące rsync opcje: -lptgoD -v --numeric-ids. Dodaj -o option do polecenia fpsync, aby określić dodatkowe opcje rsync.
Ostatnie podanie
Po kilku synchronizacjach przyrostowych należy wykonać ostateczny przegląd, aby usunąć wszystkie pliki w miejscu docelowym, które nie istnieją w źródle. Możesz to zrobić ręcznie, używając rsync --delete do usunięcia dodatkowych plików z katalogu /data/dst/, albo użyć fpsync z opcją -E. Aby uzyskać więcej informacji, zobacz Ostateczna Wersja.
Porównywanie rsync i fpsync z różnymi zestawami danych
W tej sekcji porównaliśmy wydajność rsync i fpsync z różnymi zestawami danych.
Zestawy danych i konfiguracja
Poniższa tabela przedstawia różne zbiory danych używane do porównania wydajności narzędzi kopiujących przy różnych obciążeniach.
| Konfiguracja # | Typ kopiowania | Liczba plików | Liczba katalogów | Rozmiar pliku | Całkowity rozmiar |
|---|---|---|---|---|---|
| 1.1 | Kopia bazowa | 1 mln | 1 | 0-32 KiB | 18 GiB |
| 1.2 | Przyrostowe (zmiana różnicowa) | 1 mln | 1 | 0-32 KiB | 18 GiB |
| 2 | Kopia bazowa | 191,345 | 3,906 | 0-32 KiB | 3 GiB |
| 3 | Kopia bazowa | 5,000 | 1 | 10 MiB | 50 GiB |
Testy zostały wykonane na maszynach wirtualnych platformy Azure Standard_D8s_v3 z 8 procesorami wirtualnymi, 32 GiB pamięci i więcej niż 1 TiB miejsca na dysku dla dużych zestawów danych. Dla obiektu docelowego skonfigurowaliśmy udziały plików Azure NFS o wielkości przekraczającej 1 TiB.
Eksperymenty i wyniki: rsync vs. fpsync
Testy pokazują, że fpsync działa najlepiej, gdy używasz 64 wątków z rsync i 16 wątków z cpio w przypadku udziału plików Azure NFS zamontowanego przy użyciu nconnect=8. Rzeczywiste wyniki różnią się w zależności od konfiguracji i zbiorów danych.
Uwaga
Przepływność dla usługi Azure Files może być znacznie wyższa niż reprezentowana na poniższych wykresach. Niektóre eksperymenty zostały celowo przeprowadzone z małymi zestawami danych dla uproszczenia.
Konfiguracja 1
W przypadku pojedynczego katalogu z 1 milionem małych plików w sumie 18 GiB uruchomiliśmy ten test jako kopia bazowa i kopia przyrostowa.
Poniższy wykres przedstawia wyniki kopii bazowej od źródła do miejsca docelowego.
Poniższy wykres przedstawia wyniki kopii przyrostowej (zmiany różnicowej).
Konfiguracja 2
Poniższy wykres przedstawia wyniki bazowej kopii 191 345 małych plików w 3 906 katalogach o łącznym rozmiarze 3 GiB.
Konfiguracja 3
Poniższy wykres przedstawia wyniki bazowej kopii 5 000 dużych plików (10 MiB) w jednym katalogu o łącznym rozmiarze 50 GiB.
Podsumowanie wyników
Użycie aplikacji wielowątkowych, takich jak fpsync, może zwiększyć przepustowość i IOPS podczas migracji do udziałów plików NFS Azure w porównaniu z narzędziami do kopiowania jednowątkowego, takimi jak rsync. Nasze testy pokazują, że:
- Dystrybucja danych w katalogu pomaga zrównoleglić proces migracji, co pozwala osiągnąć lepszą wydajność.
- Kopiowanie danych z większych rozmiarów plików zapewnia lepszą wydajność niż kopiowanie danych z mniejszych rozmiarów plików.
Poniższa tabela zawiera podsumowanie wyników:
| Konfiguracja # | Liczba plików | Liczba katalogów | Rozmiar pliku | Całkowity rozmiar | czas trwania rsync | Przepływność rsync | fpsync czas trwania | Przepływność fpsync | Zysk przepływności |
|---|---|---|---|---|---|---|---|---|---|
| 1.1 (punkt odniesienia) | 1 mln | 1 | 0-32 KiB | 18 GiB | 837,06 min | 0,33 MiB/s | 228,16 min | 1,20 MiB/s | 267% |
| 1.2 (przyrostowe) | 1 mln | 1 | 0-32 KiB | 18 GiB | 84,02 min | 3,25 MiB/s | 7,5 min | 36,41 MiB/s | 1 020% |
| 2 (punkt odniesienia) | 191,345 | 3,906 | 0-32 KiB | 3 GiB | 191,86 min | 0,27 MiB/s | 8,47 min | 6,04 MiB/s | 2164% |
| 3 (punkt odniesienia) | 5,000 | 1 | 10 MiB | 50 GiB | 8,12 min | 105,04 MiB/s | 2,76 min | 308,90 MiB/s | 194% |
Zastrzeżenie dotyczące informacji osób trzecich
Narzędzia typu open source wymienione w tym artykule są dobrze znanymi rozwiązaniami innych firm. Microsoft nie rozwija, nie posiada ani nie wspiera tych narzędzi, ani bezpośrednio, ani pośrednio. Jesteś odpowiedzialny za przeanalizowanie licencji oprogramowania i oświadczenia wsparcia zawartego w dokumentacji strony trzeciej.