Rozwiązywanie problemów z programem AzCopy w wersji 10

W tym artykule opisano typowe problemy, które mogą wystąpić podczas korzystania z narzędzia AzCopy, pomaga zidentyfikować przyczyny tych problemów, a następnie sugeruje sposoby ich rozwiązania.

Identyfikowanie problemów

Możesz określić, czy zadanie zakończy się pomyślnie, przeglądając kod zakończenia.

Jeśli kod zakończenia to 0-success, zadanie zostało ukończone pomyślnie.

Jeśli kod zakończenia to 1-error, sprawdź plik dziennika. Po zrozumieniu dokładnego komunikatu o błędzie znacznie łatwiej jest wyszukać odpowiednie słowa kluczowe i znaleźć rozwiązanie. Aby dowiedzieć się więcej, zobacz Znajdowanie błędów i wznawianie zadań przy użyciu plików dziennika i planu w narzędziu AzCopy.

Jeśli kod zakończenia to 2-panic, sprawdź, czy plik dziennika istnieje. Jeśli plik nie istnieje, zgłoś usterkę lub skontaktuj się z pomocą techniczną.

Jeśli kod zakończenia to inny kod zakończenia inny niż zero, może to być kod zakończenia z systemu. Na przykład OOMKilled. Zapoznaj się z dokumentacją systemu operacyjnego, aby uzyskać specjalne kody zakończenia.

Błędy 403

Często występują błędy 403. Czasami są one łagodne i nie powodują nieudanego transferu. Na przykład w dziennikach narzędzia AzCopy może się okazać, że HEAD żądanie otrzymało błędy 403. Te błędy pojawiają się, gdy narzędzie AzCopy sprawdza, czy zasób jest publiczny. W większości przypadków można zignorować te wystąpienia.

W niektórych przypadkach 403 błędy mogą spowodować niepowodzenie transferu. Jeśli tak się stanie, inne próby transferu plików prawdopodobnie nie powiedzie się, dopóki nie rozwiążesz problemu. Błędy 403 mogą wystąpić w wyniku problemów z uwierzytelnianiem i autoryzacją. Mogą one również wystąpić, gdy żądania są blokowane z powodu konfiguracji zapory konta magazynu.

Problemy z uwierzytelnianiem/autoryzacją

Błędy 403, które uniemożliwiają transfer danych, występują z powodu problemów z tokenami SAS, rolami kontroli dostępu opartej na rolach (Azure RBAC) i konfiguracjami listy kontroli dostępu (ACL).

Tokeny sygnatur dostępu współdzielonego

Jeśli używasz tokenu sygnatury dostępu współdzielonego (SAS), sprawdź następujące kwestie:

  • Czasy wygaśnięcia i rozpoczęcia tokenu SAS są odpowiednie.

  • Wybrano wszystkie niezbędne uprawnienia dla tokenu.

  • Token został wygenerowany przy użyciu oficjalnego zestawu SDK lub narzędzia. Spróbuj Eksplorator usługi Storage, jeśli jeszcze tego nie zrobiono.

Kontrola dostępu oparta na rolach platformy Azure

Jeśli używasz ról RBAC platformy Azure za pośrednictwem azcopy login polecenia, sprawdź, czy masz przypisane odpowiednie role platformy Azure do swojej tożsamości (na przykład rolę Współautor danych obiektu blob usługi Storage).

Aby dowiedzieć się więcej na temat ról platformy Azure, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych obiektów blob.

Listy acl

Jeśli używasz list kontroli dostępu (ACL), sprawdź, czy twoja tożsamość jest wyświetlana we wpisie listy ACL dla każdego pliku lub katalogu, do których zamierzasz uzyskać dostęp. Upewnij się również, że każdy wpis listy ACL odzwierciedla odpowiedni poziom uprawnień.

Aby dowiedzieć się więcej o listach ACL i wpisach listy ACL, zobacz Listy kontroli dostępu (ACL) w Azure Data Lake Storage Gen2.

Aby dowiedzieć się więcej na temat sposobu dołączania ról platformy Azure razem z listami ACL i sposobu oceniania ich przez system w celu podejmowania decyzji dotyczących autoryzacji, zobacz Model kontroli dostępu w Azure Data Lake Storage Gen2.

Problemy z zaporą i prywatnym punktem końcowym

Jeśli konfiguracja zapory magazynu nie jest skonfigurowana tak, aby zezwalała na dostęp z maszyny, na której działa narzędzie AzCopy, operacje narzędzia AzCopy będą zwracać błąd HTTP 403.

Transferowanie danych z maszyny lokalnej lub do maszyny lokalnej

Jeśli przekazujesz lub pobierasz dane między kontem magazynu a maszyną lokalną, upewnij się, że maszyna z uruchomionym programem AzCopy może uzyskać dostęp do konta magazynu źródłowego lub docelowego. Może być konieczne użycie reguł sieci IP w ustawieniach zapory kont źródłowych lub docelowych, aby zezwolić na dostęp z publicznego adresu IP maszyny.

Transferowanie danych między kontami magazynu

Błędy autoryzacji 403 mogą uniemożliwić przesyłanie danych między kontami przy użyciu maszyny klienckiej, na której działa narzędzie AzCopy.

Jeśli kopiujesz dane między kontami magazynu, upewnij się, że maszyna z uruchomionym programem AzCopy ma dostęp zarówno do konta źródłowego, jak i docelowego. Może być konieczne użycie reguł sieci IP w ustawieniach zapory kont źródłowych i docelowych, aby zezwolić na dostęp z publicznego adresu IP maszyny. Usługa użyje adresu IP maszyny klienckiej narzędzia AzCopy do autoryzowania źródła do ruchu docelowego. Aby dowiedzieć się, jak dodać publiczny adres IP do ustawień zapory konta magazynu, zobacz Udzielanie dostępu z zakresu internetowych adresów IP.

Jeśli maszyna wirtualna nie ma lub nie może mieć publicznego adresu IP, rozważ użycie prywatnego punktu końcowego. Zobacz Używanie prywatnych punktów końcowych dla usługi Azure Storage.

Private Link jest na poziomie sieci wirtualnej/podsieci. Jeśli chcesz, aby żądania narzędzia AzCopy przechodzić przez Private Link, narzędzie AzCopy musi wykonywać te żądania z maszyny wirtualnej uruchomionej w tej sieci wirtualnej/podsieci. Jeśli na przykład skonfigurujesz Private Link w sieci VNet1/Podsieci1, ale maszyna wirtualna, na której działa narzędzie AzCopy, znajduje się w sieci VNet1/Subnet2, żądania narzędzia AzCopy nie będą używać Private Link i oczekuje się, że nie powiedzie się.

Jeśli wystąpią błędy TCP, takie jak "dial tcp: lookup proxy.x.x: no such host", oznacza to, że środowisko nie jest skonfigurowane do używania poprawnego serwera proxy lub używasz zaawansowanego serwera proxy AzCopy nie rozpoznaje.

Musisz zaktualizować ustawienia serwera proxy, aby odzwierciedlić poprawne konfiguracje. Zobacz Konfigurowanie ustawień serwera proxy.

Możesz również pominąć serwer proxy, ustawiając zmienną NO_PROXY="*"środowiskową .

Oto punkty końcowe, których musi używać narzędzie AzCopy:

Logowanie punktów końcowych Punkty końcowe usługi Azure Storage
login.microsoftonline.com (globalna platforma Azure) (blob | file | dfs).core.windows.net (globalna platforma Azure)
login.chinacloudapi.cn (Azure China) (blob | file | dfs).core.chinacloudapi.cn (Azure China)
login.microsoftonline.de (Azure Germany) (blob | file | dfs).core.cloudapi.de (Azure Germany)
login.microsoftonline.us (Azure US Government) (blob | file | dfs).core.usgovcloudapi.net (Azure US Government)

x509: certyfikat podpisany przez nieznany urząd

Ten błąd jest często związany z użyciem serwera proxy, który używa certyfikatu Secure Sockets Layer (SSL), który nie jest zaufany przez system operacyjny. Sprawdź ustawienia i upewnij się, że certyfikat jest zaufany na poziomie systemu operacyjnego.

Zalecamy dodanie certyfikatu do głównego magazynu certyfikatów maszyny, ponieważ w tym miejscu są przechowywane zaufane urzędy.

Nierozpoznane parametry

Jeśli zostanie wyświetlony komunikat o błędzie informujący, że parametry nie są rozpoznawane, upewnij się, że używasz poprawnej wersji narzędzia AzCopy. Narzędzia AzCopy v8 i starsze wersje są przestarzałe. Narzędzie AzCopy w wersji 10 jest bieżącą wersją i jest to kompletne ponowne zapisywanie, które nie udostępnia żadnej składni z poprzednimi wersjami. Zapoznaj się z artykułem AzCopy Migration Guide for v8 to v10 (Przewodnik po migracji narzędzia AzCopy dla wersji 8–10).

Upewnij się również, że używasz wbudowanych komunikatów pomocy przy użyciu -h przełącznika z dowolnym poleceniem (na przykład: azcopy copy -h). Zobacz Uzyskiwanie pomocy dotyczącej poleceń. Aby wyświetlić te same informacje w trybie online, zobacz azcopy copy (Kopiowanie narzędzia azcopy).

Aby ułatwić zrozumienie poleceń, udostępniamy narzędzie edukacyjne znajdujące się w przewodniku poleceń narzędzia AZCOPY. To narzędzie przedstawia najpopularniejsze polecenia narzędzia AzCopy wraz z najpopularniejszymi flagami poleceń. Oto nasze przykłady. Jeśli masz pytanie, spróbuj najpierw wyszukać istniejące problemy z usługą GitHub , aby sprawdzić, czy odpowiedź została już udzielona.

Błąd zasad dostępu warunkowego

Podczas wywoływania polecenia może zostać wyświetlony azcopy login następujący błąd:

Nie można wykonać polecenia logowania: nie można zalogować się przy użyciu identyfikatora dzierżawy "common", punktu końcowego katalogu platformy Azure "https://login.microsoftonline.com"autorest/adal/devicetoken: -REDACTED— AADSTS50005: Użytkownik próbował zalogować się do urządzenia z platformy (Nieznany), która nie jest obecnie obsługiwana za pomocą zasad dostępu warunkowego. Obsługiwane platformy urządzeń to: smaki systemów iOS, Android, Mac i Windows. Identyfikator śledzenia: -REDACTED- Identyfikator korelacji: -REDACTED- Sygnatura czasowa: 2021-01-05 01:58:28Z

Ten błąd oznacza, że administrator skonfigurował zasady dostępu warunkowego określające typ urządzenia, z którego można się zalogować. Narzędzie AzCopy korzysta z przepływu kodu urządzenia, co nie może zagwarantować, że maszyna, na której używasz narzędzia AzCopy, jest również miejscem, w którym się logujesz.

Jeśli urządzenie znajduje się na liście obsługiwanych platform, możesz użyć Eksplorator usługi Storage, która integruje narzędzie AzCopy dla wszystkich transferów danych (przekazuje tokeny do narzędzia AzCopy za pośrednictwem magazynu wpisów tajnych), ale udostępnia przepływ pracy logowania, który obsługuje przekazywanie informacji o urządzeniu. Samo narzędzie AzCopy obsługuje również tożsamości zarządzane i jednostki usługi, które mogą być używane jako alternatywa.

Jeśli urządzenie nie znajduje się na liście obsługiwanych platform, skontaktuj się z administratorem, aby uzyskać pomoc.

Serwer zajęty, błędy sieci lub przekroczenia limitu czasu

Jeśli widzisz dużą liczbę żądań zakończonych niepowodzeniem ze stanem "503 Serwer zajęty", żądania są ograniczane przez usługę magazynu. Jeśli widzisz błędy sieci lub przekroczenia limitu czasu, być może próbujesz przepchnąć zbyt dużo danych w całej infrastrukturze, a ta infrastruktura ma trudności z ich obsługą. We wszystkich przypadkach obejście jest podobne.

Jeśli za każdym razem występuje wielokrotne niepowodzenie dużego pliku z powodu awarii niektórych fragmentów, spróbuj ograniczyć współbieżne połączenia sieciowe lub limit przepływności w zależności od konkretnego przypadku. Sugerujemy, aby najpierw drastycznie obniżyć wydajność, sprawdzić, czy rozwiązał on początkowy problem, a następnie ponownie zwiększyć wydajność do czasu osiągnięcia ogólnego salda.

Aby uzyskać więcej informacji, zobacz Optymalizowanie wydajności narzędzia AzCopy za pomocą usługi Azure Storage.

Jeśli kopiujesz dane między kontami przy użyciu narzędzia AzCopy, jakość i niezawodność sieci, z której uruchamiasz narzędzie AzCopy, mogą mieć wpływ na ogólną wydajność. Mimo że dane są przesyłane z serwera na serwer, narzędzie AzCopy inicjuje wywołania dla każdego pliku do kopiowania między punktami końcowymi usługi.

Znane ograniczenia za pomocą narzędzia AzCopy

  • Kopiowanie danych z chmur rządowych do chmur komercyjnych nie jest obsługiwane. Obsługiwane jest jednak kopiowanie danych z chmur komercyjnych do chmur rządowych.

  • Asynchroniczna kopia po stronie usługi nie jest obsługiwana. Narzędzie AzCopy wykonuje tylko kopię synchroniczną. Innymi słowy, do czasu zakończenia zadania dane zostały przeniesione.

  • Podczas kopiowania do udziału plików platformy Azure, jeśli nie pamiętasz o określeniu flagi --preserve-smb-permissions i nie chcesz ponownie przesyłać danych, rozważ użycie narzędzia Robocopy w celu przeniesienia uprawnień.

  • Azure Functions ma inny punkt końcowy uwierzytelniania MSI, którego narzędzie AzCopy jeszcze nie obsługuje.

Zobacz też

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.