Migrowanie do udziałów plików platformy Azure przy użyciu narzędzia RoboCopy

W tym artykule migracji opisano użycie narzędzia RoboCopy do przenoszenia lub migrowania plików do udziału plików platformy Azure SMB. RoboCopy to zaufane i dobrze znane narzędzie do kopiowania plików z zestawem funkcji, które doskonale nadaje się do migracji. Używa protokołu SMB, który sprawia, że jest szeroko stosowany do dowolnej kombinacji źródłowej i docelowej, która obsługuje protokół SMB.

  • Źródła danych: dowolne źródło obsługujące protokół SMB, takie jak magazyn dołączony do sieci (NAS), serwery z systemem Windows lub Linux, inny udział plików platformy Azure i wiele innych
  • Trasa migracji: z magazynu źródłowego ⇒ maszyny z systemem Windows przy użyciu narzędzia RoboCopy ⇒ udziału plików platformy Azure
  • Brak plików buforowania w środowisku lokalnym: ponieważ ostatnim celem jest użycie udziałów plików platformy Azure bezpośrednio w chmurze, nie ma planu korzystania z usługi Azure File Sync.

Istnieje wiele różnych tras migracji dla różnych kombinacji źródeł i wdrożeń. Zapoznaj się z tabelą przewodników migracji, aby znaleźć migrację, która najlepiej odpowiada Twoim potrzebom.

Dotyczy

Typ udziału plików SMB NFS
Udziały plików w warstwie Standardowa (GPv2), LRS/ZRS Tak Nie
Udziały plików w warstwie Standardowa (GPv2), GRS/GZRS Tak Nie
Udziały plików w warstwie Premium (FileStorage), LRS/ZRS Tak Nie.

Narzędzie AzCopy a Narzędzie RoboCopy

Narzędzia AzCopy i RoboCopy to dwa zasadniczo różne narzędzia do kopiowania plików. Narzędzie RoboCopy używa dowolnej wersji protokołu SMB. Narzędzie AzCopy to narzędzie "born-in-the-cloud", które może służyć do przenoszenia danych, o ile element docelowy znajduje się w usłudze Azure Storage. Narzędzie AzCopy zależy od protokołu REST.

RoboCopy, jako zaufane narzędzie do kopiowania oparte na systemie Windows, ma przewagę macierzystą, jeśli chodzi o kopiowanie plików w pełnej wierności. Narzędzie RoboCopy obsługuje wiele scenariuszy migracji ze względu na bogaty zestaw funkcji oraz możliwość kopiowania plików i folderów w pełnej wierności. Zapoznaj się z sekcją wierności plików w artykule Omówienie migracji, aby dowiedzieć się więcej o znaczeniu kopiowania plików z maksymalną możliwą wiernością.

Z drugiej strony narzędzie AzCopy niedawno rozszerzyło się o obsługę kopiowania plików z pewną wiernością i dodano pierwsze funkcje, które należy wziąć pod uwagę jako narzędzie migracji. Jednak nadal występują luki i podczas porównywania flag narzędzia AzCopy z flagami narzędzia RoboCopy łatwo mogą występować nieporozumienia.

Przykład: Narzędzie RoboCopy /MIR będzie dublować źródło do elementu docelowego — oznacza to, że uwzględniane są dodane, zmienione i usunięte pliki. Ważną różnicą w korzystaniu z narzędzia AzCopy —sync jest to, że usunięte pliki w źródle nie są usuwane w obiekcie docelowym. Zapewnia to niekompletny zestaw funkcji kopiowania różnicowego. Narzędzie AzCopy będzie nadal ewoluować. Obecnie nie zalecamy używania narzędzia AzCopy na potrzeby scenariuszy migracji z udziałami plików platformy Azure jako miejsca docelowego.

Cele migracji

Celem jest przeniesienie danych z istniejących lokalizacji udziału plików na platformę Azure. Na platformie Azure dane będą przechowywane w natywnych udziałach plików platformy Azure, których można używać bez konieczności korzystania z systemu Windows Server. Ta migracja musi odbywać się w sposób gwarantujący integralność danych produkcyjnych i dostępności podczas migracji. Ten ostatni wymaga minimalnego przestoju, dzięki czemu może mieścić się w oknach obsługi lub tylko nieznacznie przekraczać regularne okna obsługi.

Omówienie migracji

Proces migracji składa się z kilku faz. Najpierw należy wdrożyć konta usługi Azure Storage i udziały plików. Następnie skonfigurujesz sieć, rozważ wdrożenie przestrzeni nazw systemu plików DFS (DFS-N) lub zaktualizujesz istniejącą. Po upływie czasu na rzeczywistą kopię danych należy rozważyć powtórzenie, różnicowe uruchomienie narzędzia RoboCopy w celu zminimalizowania przestojów, a na koniec przeciąć użytkowników do nowo utworzonych udziałów plików platformy Azure. W poniższych sekcjach szczegółowo opisano fazy procesu migracji.

Faza 1. Wdrażanie zasobów usługi Azure Storage

W tej fazie aprowizujesz w nich konta usługi Azure Storage i udziały plików platformy Azure SMB.

Pamiętaj, że udział plików platformy Azure jest wdrażany w chmurze na koncie usługi Azure Storage. W przypadku standardowych udziałów plików rozwiązanie to sprawia, że konto magazynu jest celem skalowania dla liczb wydajności, takich jak liczba operacji we/wy na sekundę i przepływność. Jeśli umieszczasz wiele udziałów plików na jednym koncie magazynu, tworzysz udostępnioną pulę operacji we/wy na sekundę i przepływność dla tych udziałów.

Ogólnie rzecz biorąc, można umieścić wiele udziałów plików platformy Azure na tym samym koncie magazynu, jeśli masz udziały archiwalne lub oczekujesz w nich niskiej aktywności z dnia na dzień. Jeśli jednak masz wysoce aktywne udziały (udziały używane przez wielu użytkowników i/lub aplikacje), należy wdrożyć konta magazynu z jednym udziałem plików. Te ograniczenia nie mają zastosowania do kont magazynu FileStorage (Premium), w których wydajność jest jawnie aprowizowana i gwarantowana dla każdego udziału.

Uwaga

Istnieje limit 250 kont magazynu na subskrypcję na region świadczenia usługi Azure. W przypadku zwiększenia limitu przydziału można utworzyć maksymalnie 500 kont magazynu na region. Aby uzyskać więcej informacji, zobacz Zwiększanie limitów przydziału kont usługi Azure Storage.

Kolejną kwestią podczas wdrażania konta magazynu jest nadmiarowość. Zobacz Nadmiarowość usługi Azure Files.

Standardowe udziały plików platformy Azure są domyślnie tworzone z limitem 5 TiB. Jeśli potrzebujesz większej pojemności, możesz utworzyć duży udział plików (do 100 TiB). Jednak ten udział może używać tylko lokalnie nadmiarowych opcji nadmiarowości magazynu lub magazynu strefowo nadmiarowego. Przed użyciem 100 udziałów plików TiB należy wziąć pod uwagę potrzeby nadmiarowości magazynu.

Jeśli utworzono listę udziałów, należy zamapować każdy udział na konto magazynu, w którym zostanie utworzony.

Nazwy zasobów są również ważne. Jeśli na przykład pogrupujesz wiele udziałów dla działu kadr na konto usługi Azure Storage, należy odpowiednio nazwać konto magazynu. Podobnie podczas nadawania nazw udziałom plików platformy Azure należy używać nazw podobnych do używanych dla ich lokalnych odpowiedników.

Teraz wdróż odpowiednią liczbę kont usługi Azure Storage z odpowiednią liczbą udziałów plików platformy Azure w nich, postępując zgodnie z instrukcjami w temacie Tworzenie udziału plików SMB. W większości przypadków należy upewnić się, że region każdego konta magazynu jest taki sam.

Faza 2. Przygotowywanie do korzystania z udziałów plików platformy Azure

Dzięki informacjom w tej fazie będziesz w stanie zdecydować, w jaki sposób serwery i użytkownicy na platformie Azure i poza platformą Azure będą mogli korzystać z udziałów plików platformy Azure. Najważniejsze decyzje to:

  • Sieć: umożliwia sieciom kierowanie ruchu SMB.
  • Uwierzytelnianie: skonfiguruj konta usługi Azure Storage na potrzeby uwierzytelniania Kerberos. Użycie uwierzytelniania opartego na tożsamościach i przyłączenia domeny do konta magazynu umożliwi aplikacjom i użytkownikom używanie tożsamości usługi AD do uwierzytelniania.
  • Autoryzacja: Listy ACL na poziomie udziału dla każdego udziału plików platformy Azure umożliwią użytkownikom i grupom usługi AD dostęp do danego udziału plików i w udziale plików platformy Azure, natywne listy ACL systemu plików NTFS zostaną przejęty. Autoryzacja oparta na listach ACL plików i folderów działa podobnie jak w przypadku lokalnych udziałów SMB.
  • Ciągłość działania: integracja udziałów plików platformy Azure z istniejącym środowiskiem często wiąże się z zachowaniem istniejących adresów udziałów. Jeśli nie używasz jeszcze przestrzeni nazw systemu plików DFS, rozważ ustanowienie go w danym środowisku. Będziesz mieć możliwość utrzymywania adresów używanych przez użytkowników i skrypty bez zmian. System plików DFS-N udostępnia usługę routingu przestrzeni nazw dla protokołu SMB, przekierowując klientów do udziałów plików platformy Azure.

Ten film wideo jest przewodnikiem i pokazem dotyczącym bezpiecznego uwidaczniania udziałów plików platformy Azure bezpośrednio dla pracowników i aplikacji informacyjnych w pięciu prostych krokach.
Klip wideo zawiera dokumentację dedykowaną w następujących tematach. Pamiętaj, że usługa Azure Active Directory jest teraz identyfikatorem Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Nowa nazwa usługi Azure AD.

Instalowanie udziału plików platformy Azure

Przed rozpoczęciem korzystania z narzędzia RoboCopy należy udostępnić udział plików platformy Azure za pośrednictwem protokołu SMB. Najprostszym sposobem jest zainstalowanie udziału jako dysku sieciowego lokalnego do systemu Windows Server, którego planujesz używać na potrzeby narzędzia RoboCopy.

Ważne

Upewnij się, że udział plików platformy Azure został zamontowany przy użyciu klucza dostępu do konta magazynu. Nie używaj tożsamości domeny. Aby pomyślnie zainstalować udział plików platformy Azure w lokalnym systemie Windows Server, musisz ukończyć fazę 2. Przygotowanie do korzystania z udziałów plików platformy Azure.

Gdy wszystko będzie gotowe, zapoznaj się z artykułem Korzystanie z udziału plików platformy Azure w systemie Windows. Następnie zainstaluj udział plików platformy Azure, dla którego chcesz uruchomić narzędzie RoboCopy.

Faza 3. RoboCopy

Następujące polecenie RoboCopy skopiuje tylko różnice (zaktualizowane pliki i foldery) z magazynu źródłowego do udziału plików platformy Azure.

robocopy <SourcePath> <Dest.Path> /MT:20 /R:2 /W:1 /B /MIR /IT /COPY:DATSO /DCOPY:DAT /NP /NFL /NDL /XD "System Volume Information" /UNILOG:<FilePathAndName> 
Przełącznik Znaczenie
/MT:n Umożliwia wielowątkowe uruchomienie narzędzia Robocopy. Wartość domyślna to n 8. Maksymalna liczba wątków to 128. Chociaż duża liczba wątków pomaga usycić dostępną przepustowość, nie oznacza to, że migracja zawsze będzie szybsza z większą liczbą wątków. Testy z usługą Azure Files wskazują między 8 a 20 pokazuje zrównoważoną wydajność początkowego przebiegu kopiowania. Kolejne /MIR uruchomienia są stopniowo dotknięte dostępną przepustowością obliczeniową a dostępną przepustowością sieci. W przypadku kolejnych przebiegów dokładniej dopasuj liczbę wątków do liczby rdzeni procesora i liczby wątków na rdzeń. Zastanów się, czy trzeba zarezerwować rdzenie dla innych zadań serwera produkcyjnego. Testy w usłudze Azure Files wykazały, że maksymalnie 64 wątki generują dobrą wydajność, ale tylko wtedy, gdy procesory mogą utrzymać je w tym samym czasie.
/R:n Maksymalna liczba ponownych prób dla pliku, którego nie udało się skopiować przy pierwszej próbie. Narzędzie Robocopy spróbuje czasy n przed trwałym niepowodzeniem kopiowania pliku w przebiegu. Możesz zoptymalizować wydajność przebiegu: wybierz wartość dwóch lub trzech, jeśli uważasz, że problemy z przekroczeniem limitu czasu spowodowały błędy w przeszłości. Może to być bardziej typowe w przypadku łączy sieci WAN. Jeśli uważasz, że plik nie może skopiować pliku, ponieważ był aktywnie używany, wybierz wartość bez ponawiania prób. Próba ponownie kilka sekund później może nie być wystarczająca do zmiany stanu w użyciu pliku. Użytkownicy lub aplikacje z otwartym plikiem mogą potrzebować więcej godzin. W takim przypadku zaakceptowanie pliku nie zostało skopiowane i przechwycenie go w jednym z planowanych przebiegów narzędzia Robocopy może zakończyć się pomyślnie skopiowaniem pliku. Pomaga to w szybszym zakończeniu bieżącego przebiegu bez przedłużania przez wiele ponownych prób, które ostatecznie kończą się w większości błędów kopiowania z powodu plików nadal otwartych poza limitem czasu ponawiania prób.
/W:n Określa czas, przez który narzędzie Robocopy czeka, zanim podejmie próbę skopiowania pliku, który nie został pomyślnie skopiowany podczas poprzedniej próby. n to liczba sekund oczekiwania między ponowną próbą. /W:n jest często używany razem z /R:n.
/B Uruchamia narzędzie Robocopy w tym samym trybie, którego użyłaby aplikacja do tworzenia kopii zapasowych. Ten przełącznik umożliwia narzędziu Robocopy przenoszenie plików, do których bieżący użytkownik nie ma uprawnień. Przełącznik kopii zapasowej zależy od uruchomienia polecenia Robocopy w konsoli z podwyższonym poziomem uprawnień administratora lub w oknie programu PowerShell. Jeśli używasz narzędzia Robocopy dla usługi Azure Files, upewnij się, że udział plików platformy Azure został zamontowany przy użyciu klucza dostępu do konta magazynu w porównaniu z tożsamością domeny. Jeśli tego nie zrobisz, komunikaty o błędach mogą nie prowadzić intuicyjnie do rozwiązania problemu.
/MIR (Duplikuj źródło do miejsca docelowego) Umożliwia programowi Robocopy kopiowanie tylko różnic między obiektem źródłowym i docelowym. Puste podkatalogi zostaną skopiowane. Elementy (pliki lub foldery), które uległy zmianie lub nie istnieją w miejscu docelowym, zostaną skopiowane. Elementy, które istnieją w miejscu docelowym, ale nie ma ich w źródle, zostaną wyczyszczone (usunięte) z miejsca docelowego. W przypadku korzystania z tego przełącznika dokładnie dopasuj strukturę folderu źródłowego i docelowego. Dopasowanie oznacza skopiowanie z poprawnego poziomu źródła i folderu do pasującego poziomu folderu w obiekcie docelowym. Tylko wtedy tworzenie kopii na zasadzie „nadrobienia zaległości” może zakończyć się powodzeniem. Gdy źródło i cel są niezgodne, użycie /MIR metody spowoduje usunięcie i ponowne usunięcie na dużą skalę.
/IT Zapewnia zachowanie wierności w pewnych scenariuszach dublowania.
Jeśli na przykład plik napotyka zmianę listy ACL i aktualizację atrybutu między dwoma przebiegami narzędzia Robocopy, jest on oznaczony jako ukryty. Bez /ITelementu zmiana listy ACL może zostać pominięta przez narzędzie Robocopy i nie zostanie przeniesiona do lokalizacji docelowej.
/COPY:[copyflags] Wierność kopii pliku. Wartość domyślna: /COPY:DAT. Flagi kopiowania: D= Dane, A= Atrybuty, T= Znaczniki czasu, S= Zabezpieczenia = LISTY ACL NTFS, O= Informacje o właścicielu, U= Informacjeo diting u. W udziale plików platformy Azure nie można przechowywać informacji o inspekcji.
/DCOPY:[copyflags] Wierność kopii katalogów. Wartość domyślna: /DCOPY:DA. Flagi kopiowania: D= Dane, A= Atrybuty, T= Znaczniki czasu.
/NP Określa brak wyświetlania postępu kopiowania dla każdego pliku i folderu. Wyświetlanie postępu znacznie obniża wydajność kopiowania.
/NFL Określa brak rejestrowania nazw plików. Poprawia wydajność kopiowania.
/NDL Określa brak rejestrowania nazw katalogów. Poprawia wydajność kopiowania.
/XD Określa katalogi, które mają być wykluczone. Podczas uruchamiania narzędzia Robocopy w katalogu głównym woluminu rozważ wykluczenie ukrytego System Volume Information folderu. Jeśli są one używane zgodnie z projektem, wszystkie informacje w nim są specyficzne dla dokładnego woluminu w tym dokładnym systemie i można je ponownie skompilować na żądanie. Kopiowanie tych informacji nie będzie przydatne w chmurze ani kiedy dane są kiedykolwiek kopiowane z powrotem do innego woluminu systemu Windows. Pozostawienie tej zawartości nie powinno być traktowane jako utrata danych.
/UNILOG:<file name> Zapisuje stan w pliku dziennika jako Unicode. (Zastępuje istniejący dziennik).
/L Tylko w przypadku uruchomienia testowego
pliki mają być wyświetlane tylko. Nie zostaną one skopiowane, usunięte ani oznaczone sygnaturą czasową. Często używane w /TEE przypadku danych wyjściowych konsoli. Może być konieczne usunięcie flag z przykładowego skryptu, takiego jak /NP, /NFLi /NDL, w celu uzyskania prawidłowych udokumentowanych wyników testu.
/Z
Ostrożnie kopiuje pliki w trybie ponownego uruchamiania. Ten przełącznik jest zalecany tylko w niestabilnym środowisku sieciowym. Znacznie zmniejsza wydajność kopiowania z powodu dodatkowego rejestrowania.
/ZB Należy ostrożnie
używać trybu ponownego uruchamiania. W przypadku odmowy dostępu ta opcja używa trybu tworzenia kopii zapasowej. Ta opcja znacznie zmniejsza wydajność kopiowania z powodu tworzenia punktów kontrolnych.

Ważne

Zalecamy używanie systemu Windows Server 2022. W przypadku korzystania z systemu Windows Server 2019 upewnij się, że zainstalowano najnowszą wersję poprawki lub co najmniej KB5005103 aktualizacji systemu operacyjnego. Zawiera ważne poprawki dla niektórych scenariuszy narzędzia Robocopy.

Napiwek

Zapoznaj się z sekcją Rozwiązywanie problemów, jeśli narzędzie RoboCopy wpływa na środowisko produkcyjne, zgłasza wiele błędów lub nie postępuje tak szybko, jak oczekiwano.

Faza 4. Przecięcie użytkownika

Po uruchomieniu polecenia RoboCopy po raz pierwszy użytkownicy i aplikacje nadal uzyskują dostęp do plików w źródle migracji i potencjalnie je zmieniają. Możliwe, że narzędzie RoboCopy przetworzyło katalog, przeniósł się do następnego, a następnie użytkownik w lokalizacji źródłowej dodaje, zmienia lub usuwa plik, który nie zostanie teraz przetworzony w tym bieżącym uruchomieniu narzędzia RoboCopy. To zachowanie jest oczekiwane.

Pierwszy przebieg polega na przeniesieniu większości zmian danych do udziału plików platformy Azure. Ta pierwsza kopia może chwilę potrwać. Zapoznaj się z sekcją Rozwiązywanie problemów, aby uzyskać więcej informacji na temat tego, co może mieć wpływ na szybkość narzędzia RoboCopy.

Po zakończeniu początkowego przebiegu ponownie uruchom polecenie.

Po drugim uruchomieniu narzędzia RoboCopy dla tego samego udziału zostanie on zakończony szybciej, ponieważ musi tylko transportować zmiany, które wystąpiły od czasu ostatniego uruchomienia. Można uruchamiać powtarzające się zadania dla tego samego udziału.

Po rozważeniu dopuszczalnego przestoju należy usunąć dostęp użytkownika do udziałów źródłowych. Można to zrobić, wykonując wszystkie kroki, które uniemożliwiają użytkownikom zmianę struktury plików i folderów oraz zawartości. Przykładem jest wskazanie przestrzeni nazw systemu plików DFS na nieistnieną lokalizację lub zmianę list ACL w każdym udziale.

Uruchom jedną ostatnią rundę narzędzia RoboCopy. Spowoduje to odebranie wszelkich zmian, które mogły zostać pominięte. Czas wykonywania tego ostatniego kroku zależy od szybkości skanowania za pomocą narzędzia RoboCopy. Możesz oszacować czas (który jest równy przestojowi), mierząc czas poprzedniego uruchomienia.

W fazie 2 skonfigurowano użytkowników w celu uzyskania dostępu do udziału przy użyciu tożsamości i należy ustanowić strategię używania ustalonych ścieżek do nowych udziałów plików platformy Azure (DFS-N).

Możesz spróbować uruchomić kilka z tych kopii między różnymi udziałami źródłowymi i docelowymi równolegle. W ten sposób należy zachować stosunek przepływności sieci i rdzenia do liczby wątków, aby nie przesłaniać systemu.

Rozwiązywanie problemów i optymalizowanie

Szybkość i szybkość działania danego przebiegu narzędzia RoboCopy zależy od kilku czynników:

  • Liczba operacji we/wy na sekundę w magazynie źródłowym i docelowym
  • dostępna przepustowość sieci między źródłem a obiektem docelowym
  • możliwość szybkiego przetwarzania plików i folderów w przestrzeni nazw
  • liczba zmian między przebiegami narzędzia RoboCopy
  • rozmiar i liczba plików, które należy skopiować

Zagadnienia dotyczące liczby operacji we/wy na sekundę i przepustowości

W tej kategorii należy wziąć pod uwagę możliwości magazynu źródłowego, magazynu docelowego i sieci łączącej je. Maksymalna możliwa przepływność jest określana przez najwolniejsze z tych trzech składników. Upewnij się, że infrastruktura sieciowa jest skonfigurowana do obsługi optymalnej szybkości transferu do najlepszych możliwości.

Uwaga

Podczas kopiowania tak szybko, jak to możliwe, jest często najbardziej pożądane, należy wziąć pod uwagę wykorzystanie sieci lokalnej i urządzenia NAS dla innych, często krytycznych dla działania firmy zadań.

Kopiowanie tak szybko, jak to możliwe, może nie być pożądane, gdy istnieje ryzyko, że migracja może zmonopolizować dostępne zasoby.

  • Zastanów się, kiedy najlepiej jest uruchamiać migracje: w ciągu dnia, poza godzinami pracy lub w weekendy.
  • Należy również rozważyć użycie funkcji QoS sieci w systemie Windows Server, aby ograniczyć szybkość narzędzia RoboCopy.
  • Unikaj niepotrzebnej pracy dla narzędzi migracji.

Narzędzie RoboCopy może wstawiać opóźnienia między pakietami, określając /IPG:n przełącznik n mierzony w milisekundach między pakietami RoboCopy. Użycie tego przełącznika może pomóc uniknąć monopolizacji zasobów na urządzeniach z ograniczeniami we/wy i zatłoczonych linków sieciowych.

/IPG:n Nie można używać do precyzyjnego ograniczania przepustowości sieci do określonego Mb/s. Zamiast tego należy użyć funkcji QoS sieci systemu Windows Server. Narzędzie RoboCopy całkowicie opiera się na protokole SMB dla wszystkich potrzeb sieciowych. Użycie protokołu SMB jest powodem, dla którego narzędzie RoboCopy nie może wpływać na samą przepływność sieci, ale może spowolnić jego użycie.

Podobna linia myśli ma zastosowanie do liczby operacji we/wy na sekundę obserwowanych na serwerze NAS. Rozmiar klastra na woluminie NAS, rozmiarach pakietów i tablicy innych czynników wpływa na obserwowaną liczbę operacji we/wy na sekundę. Wprowadzenie opóźnienia między pakietami jest często najprostszym sposobem kontrolowania obciążenia na serwerze NAS. Przetestuj wiele wartości, na przykład z około 20 milisekund (n=20) do wielokrotności tej liczby. Po wprowadzeniu opóźnienia możesz ocenić, czy inne aplikacje mogą teraz działać zgodnie z oczekiwaniami. Ta strategia optymalizacji umożliwi znalezienie optymalnej szybkości narzędzia RoboCopy w środowisku.

Szybkość przetwarzania

Narzędzie RoboCopy przejdzie przez przestrzeń nazw wskazywaną i ocenia poszczególne pliki i foldery pod kątem kopiowania. Każdy plik zostanie oceniony podczas początkowej kopii i podczas tworzenia zaległych kopii. Na przykład powtarzające się uruchomienia narzędzia RoboCopy /MIR względem tych samych lokalizacji źródłowych i docelowych. Te powtarzające się przebiegi są przydatne w celu zminimalizowania przestojów dla użytkowników i aplikacji oraz poprawy ogólnego współczynnika powodzenia migrowanych plików.

Często domyślnie rozważamy przepustowość jako najbardziej ograniczający czynnik migracji — i może to być prawdziwe. Jednak możliwość wyliczania przestrzeni nazw może mieć wpływ na całkowity czas kopiowania jeszcze więcej dla większych przestrzeni nazw z mniejszymi plikami. Należy wziąć pod uwagę, że kopiowanie 1 TiB małych plików będzie trwać znacznie dłużej niż kopiowanie 1 TiB mniej, ale większych plików, przy założeniu, że wszystkie inne zmienne pozostają takie same. W związku z tym w przypadku migrowania dużej liczby małych plików może wystąpić powolne przesyłanie. Jest to oczekiwane zachowanie.

Przyczyną tej różnicy jest moc obliczeniowa wymagana do przejścia przez przestrzeń nazw. Narzędzie RoboCopy obsługuje kopie wielowątkowe za pośrednictwem parametru /MT:n , w którym n oznacza liczbę wątków do użycia. Dlatego podczas aprowizowania maszyny specjalnie dla narzędzia RoboCopy należy wziąć pod uwagę liczbę rdzeni procesora i ich relację z liczbą wątków, które zapewniają. Najczęściej są to dwa wątki na rdzeń. Liczba rdzeni i wątków maszyny jest ważnym punktem danych, który decyduje o tym, jakie wartości /MT:n wielowątkowa należy określić. Należy również rozważyć liczbę zadań narzędzia RoboCopy, które mają być uruchamiane równolegle na danej maszynie.

Więcej wątków skopiuje nasz przykład 1 TiB małych plików znacznie szybciej niż mniej wątków. Jednocześnie dodatkowa inwestycja zasobów w nasze 1 TiB większych plików może nie przynieść proporcjonalnych korzyści. Duża liczba wątków podejmie próbę skopiowania większej liczby dużych plików za pośrednictwem sieci jednocześnie. Ta dodatkowa aktywność sieci zwiększa prawdopodobieństwo ograniczenia przepływności lub liczby operacji we/wy na sekundę magazynu.

Podczas pierwszego narzędzia RoboCopy do pustego miejsca docelowego lub różnicowego przebiegu z dużą częścią zmienionych plików prawdopodobnie przepustowość sieci jest ograniczona. Zacznij od dużej liczby wątków dla początkowego przebiegu. Duża liczba wątków, nawet poza aktualnie dostępnymi wątkami na maszynie, pomaga usycić dostępną przepustowość sieci. Kolejne uruchomienia /MIR są stopniowo dotknięte przez przetwarzanie elementów. Mniejsza liczba zmian w różnicowym przebiegu oznacza mniej transportu danych za pośrednictwem sieci. Szybkość jest teraz bardziej zależna od możliwości przetwarzania elementów przestrzeni nazw niż przenoszenia ich za pośrednictwem łącza sieciowego. W przypadku kolejnych przebiegów dopasuj wartość liczby wątków do liczby rdzeni procesora i liczby wątków na rdzeń. Rozważ, czy rdzenie muszą być zarezerwowane dla innych zadań, które może mieć serwer produkcyjny.

Napiwek

Reguła kciuka: pierwsze uruchomienie narzędzia RoboCopy (które spowoduje przeniesienie dużej ilości danych sieci o większym opóźnieniu) korzysta z nadmiernej aprowizacji liczby wątków (/MT:n). Kolejne przebiegi będą kopiować mniej różnic i częściej przechodzisz z ograniczeń przepływności sieciowych do ograniczonych zasobów obliczeniowych. W tych okolicznościach często lepiej jest dopasować liczbę wątków narzędzia RoboCopy do rzeczywiście dostępnych wątków na maszynie. Nadmierna aprowizacja w tym scenariuszu może prowadzić do większej liczby zmian kontekstu w procesorze, co może spowodować spowolnienie kopiowania.

Unikaj niepotrzebnej pracy

Unikaj zmian na dużą skalę w przestrzeni nazw, takich jak przenoszenie plików między katalogami, zmienianie właściwości na dużą skalę lub zmienianie uprawnień na poziomie katalogu i plików (ACL NTFS). Szczególnie zmiany listy ACL mogą mieć duży wpływ, ponieważ często mają kaskadowy wpływ zmian na pliki niższe w hierarchii folderów. Konsekwencje mogą być następujące:

  • rozszerzony czas wykonywania zadania RoboCopy, ponieważ każdy plik i folder, którego dotyczy zmiana listy ACL, musi zostać zaktualizowana
  • Ponowne kopiowanie przeniesionych wcześniej danych może wymagać ponownego skopiowania. Na przykład należy skopiować więcej danych, gdy struktury folderów zmieniają się po skopiowaniu plików wcześniej. Zadanie RoboCopy nie może "odtworzyć" zmiany przestrzeni nazw. Następne zadanie musi przeczyścić pliki wcześniej przetransportowane do starej struktury folderów i ponownie przekazać pliki w nowej strukturze folderów.

Innym ważnym aspektem jest efektywne użycie narzędzia RoboCopy. Za pomocą zalecanego skryptu RoboCopy utworzysz i zapiszesz plik dziennika pod kątem błędów. Mogą wystąpić błędy kopiowania — jest to normalne. Te błędy często sprawiają, że konieczne jest uruchomienie wielu rund narzędzia do kopiowania, takiego jak RoboCopy: początkowe uruchomienie, powiedzmy z serwera NAS do usługi DataBox lub serwera do udziału plików platformy Azure, a co najmniej jedno dodatkowe uruchomienie z /MIR przełącznikiem w celu przechwycenia i ponawiania prób plików, które nie zostały skopiowane.

Należy przygotować się do uruchamiania wielu rund narzędzia RoboCopy względem danego zakresu przestrzeni nazw. Kolejne przebiegi zakończą się szybciej, ponieważ mają mniej do skopiowania, ale są coraz bardziej ograniczone przez szybkość przetwarzania przestrzeni nazw. Po uruchomieniu wielu rund można przyspieszyć każdą rundę, nie mając narzędzia RoboCopy, spróbuj niepotrzebnie skopiować wszystko w danym przebiegu. Te przełączniki RoboCopy mogą mieć znaczącą różnicę:

  • /R:n n = częstotliwość ponawiania próby skopiowania pliku, który zakończył się niepowodzeniem
  • /W:n n = ile sekund oczekiwania między ponowną próbą

/R:5 /W:5 to rozsądne ustawienie, które można dostosować do swoich potrzeb. W tym przykładzie plik, który zakończył się niepowodzeniem, zostanie ponowiony pięć razy, a pięciosekundowy czas oczekiwania między ponownymi próbami. Jeśli nadal nie można skopiować pliku, następne zadanie narzędzia RoboCopy spróbuje ponownie. Często pliki, które zakończyły się niepowodzeniem, ponieważ są w użyciu lub z powodu problemów z przekroczeniem limitu czasu, mogą zostać pomyślnie skopiowane w ten sposób.

Szacowanie opłat za transakcje magazynu

Podczas rozpoczynania migracji do usługi Azure Files narzędzie RoboCopy kopiuje pliki i foldery na platformę Azure. W zależności od modelu rozliczeniowego usługi Azure Files mogą być naliczane opłaty za transakcje. Zobacz Omówienie rozliczeń.

Jeśli używasz modelu rozliczeniowego z płatnością zgodnie z rzeczywistym użyciem dla standardowych udziałów plików platformy Azure, oszacowanie liczby transakcji generowanych przez migrację może być trudne.

  • Nie można oszacować liczby transakcji na podstawie wykorzystanej pojemności magazynu źródła. Liczba transakcji jest skalowana wraz z liczbą elementów przestrzeni nazw (plików i folderów) oraz ich właściwościami, które są migrowane, a nie ich rozmiarem. Na przykład do migrowania 1 GiB małych plików niż 1 GiB większych plików jest wymagana większa liczba transakcji.
  • Aby zminimalizować przestój, może być konieczne kilkukrotne uruchomienie operacji kopiowania ze źródła do miejsca docelowego. Wszystkie elementy źródłowe i docelowe są przetwarzane podczas każdej operacji kopiowania, mimo że kolejne przebiegi zakończą się szybciej. Po początkowych operacjach tylko różnice wprowadzone między przebiegami kopiowania są transportowane za pośrednictwem sieci. Ważne jest, aby zrozumieć, że chociaż transportowane są mniej danych, wymagana liczba transakcji może pozostać taka sama.
  • Dwukrotne skopiowanie tego samego pliku może nie spowodować wystąpienia tej samej liczby transakcji. Przetwarzanie elementu zmigrowanego w poprzednim przebiegu kopiowania może spowodować powstanie tylko kilku transakcji odczytu. Z kolei zmiany w metadanych lub zawartości między przebiegami kopiowania mogą wymagać większej liczby transakcji w celu zaktualizowania obiektu docelowego. Każdy plik w przestrzeni nazw może mieć unikatowe wymagania, co skutkuje inną liczbą transakcji.

Zaleca się uruchamianie niektórych testów początkowych na własnych danych, aby lepiej zrozumieć liczbę poniesionych transakcji. Dzięki temu lepiej zrozumiesz łączną liczbę transakcji, które może wygenerować migracja plików.

Następne kroki

Poniższe artykuły ułatwią zrozumienie zaawansowanych opcji i najlepszych rozwiązań.