Udostępnij za pośrednictwem


Rozwiązywanie problemów w narzędziu AzCopy w wersji 10

W tym artykule omówiono typowe problemy, które mogą wystąpić podczas korzystania z narzędzia AzCopy. Ten artykuł pomaga również zidentyfikować przyczyny problemów i zasugerować, jak je rozwiązać.

Identyfikowanie problemów

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

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

Jeśli kod zakończenia to 1-error, sprawdź plik dziennika. Po zapoznaniu się z dokładnym komunikatem o błędzie można łatwiej wyszukać odpowiednie słowa kluczowe i określić 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ą.

Każdy inny kod zakończenia niezerowy (taki jak OOMKilled) może zostać wygenerowany przez system. Sprawdź specjalne kody zakończenia w dokumentacji systemu operacyjnego.

Błędy "403"

Błędy "403" są typowe. Czasami są łagodne i nie powodują nieudanego transferu. Na przykład w dziennikach narzędzia AzCopy mogą zostać wyświetlone HEAD 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 błędy "403" mogą spowodować niepowodzenie transferu. Jeśli ten problem wystąpi, inne próby przeniesienia plików mogą zakończyć się niepowodzeniem, dopóki nie rozwiążesz problemu. Błędy "403" mogą być spowodowane problemami z uwierzytelnianiem i autoryzacją. Mogą również wystąpić, jeśli żądania są blokowane przez konfigurację zapory konta magazynu.

Problemy z uwierzytelnianiem i autoryzacją

Błędy "403", które uniemożliwiają transfer danych, występują z powodu problemów obejmujących tokeny SAS, role kontroli dostępu opartej na rolach (RBAC) i konfiguracje listy kontroli dostępu (ACL).

Tokeny sygnatur dostępu współdzielonego

Jeśli używasz tokenu sygnatury dostępu współdzielonego (SAS), upewnij się, że następujące instrukcje są prawdziwe:

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

  • Czy wybrano wszystkie niezbędne uprawnienia dla tokenu.

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

Kontrola dostępu na podstawie ról platformy Azure

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

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

Listy kontroli dostępu

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

Aby dowiedzieć się więcej na temat list ACL, zobacz temat Zarządzanie listami kontroli dostępu (ACL) w usłudze Azure Data Lake Storage Gen2.

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

Problemy z zaporą i prywatnym punktem końcowym

Jeśli konfiguracja zapory magazynu nie zezwala na dostęp ze składnika hostingu, na którym działa narzędzie AzCopy, operacje narzędzia AzCopy zwracają kod błędu HTTP "403".

Uwaga 16.

W tym artykule termin składnik hostingu odnosi się do komputera fizycznego, maszyny wirtualnej lub kontenera.

Dozwolony zakres operacji kopiowania

Właściwość AllowedCopyScope konta magazynu służy do określania środowisk, z których można kopiować dane na konto docelowe. Ta właściwość jest wyświetlana w witrynie Azure Portal jako ustawienie konfiguracji Dozwolone dla operacji kopiowania (wersja zapoznawcza). Domyślnie właściwość nie ma wartości. Właściwość nie zwraca wartości, dopóki nie zostanie jawnie ustawiona. Właściwość AllowedCopyScope ma trzy możliwe wartości, jak pokazano w poniższej tabeli.

Wartość Opis
(null) (Wartość domyślna) Umożliwia kopiowanie z dowolnego konta magazynu na konto docelowe.
Microsoft Entra ID Zezwala na kopiowanie tylko z kont znajdujących się w tej samej dzierżawie firmy Microsoft co konto docelowe.
PrivateLink Zezwala na kopiowanie tylko z kont magazynu, które mają prywatne łącza do tej samej sieci wirtualnej co konto docelowe.

Aby uzyskać więcej informacji na temat tej właściwości i skojarzonego z nią ustawienia konfiguracji, zobacz Ograniczanie źródła operacji kopiowania do konta magazynu.

Transferowanie danych z lub do lokalnego składnika hostingu

Jeśli przekazujesz lub pobierasz dane między kontem magazynu a lokalnym składnikiem hostingu, upewnij się, że składnik hostingu z uruchomionym narzędziem AzCopy może uzyskać dostęp do źródłowego lub docelowego konta magazynu. Może być konieczne użycie reguł sieci IP w ustawieniach zapory źródłowych lub docelowych kont, aby zezwolić na dostęp z publicznego adresu IP składnika hostingu.

Transferowanie danych między kontami magazynu

Błędy autoryzacji "403" mogą uniemożliwić przesyłanie danych między kontami przy użyciu składnika hostingu klienta, na którym działa narzędzie AzCopy.

Jeśli kopiujesz dane między kontami magazynu, upewnij się, że składnik hostingu z uruchomionym narzędziem AzCopy może uzyskać dostęp zarówno do źródła, jak i konta docelowego. W ustawieniach zapory dla kont źródłowych i docelowych może być konieczne użycie reguł sieci IP, aby zezwolić na dostęp z publicznego adresu IP składnika hostingu. Usługa używa adresu IP składnika hostingu klienta narzędzia AzCopy, aby autoryzować źródło 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 publicznego adresu IP lub nie może go mieć, rozważ użycie prywatnego punktu końcowego. Zobacz Używanie prywatnych punktów końcowych dla usługi Azure Storage.

Usługa Private Link znajduje się na poziomie sieci wirtualnej/podsieci. Jeśli chcesz, aby żądania narzędzia AzCopy przechodziły przez usługę Private Link, narzędzie AzCopy musi wysyłać te żądania z maszyny wirtualnej uruchomionej w tej sieci wirtualnej/podsieci. Załóżmy na przykład, że skonfigurujesz usługę Private Link w sieci VNet1/Subnet1, ale maszyna wirtualna, na której działa narzędzie AzCopy, znajduje się w podsieci VNet1/Subnet2. W tym scenariuszu żądania narzędzia AzCopy nie używają usługi Private Link, a żądania powinny zakończyć się niepowodzeniem.

Jeśli wystąpią błędy protokołu TCP, takie jak "dial tcp: lookup proxy.x.x: nie ma takiego hosta", oznacza to, że środowisko nie jest skonfigurowane do używania poprawnego serwera proxy lub używasz zaawansowanego serwera proxy, którego narzędzie AzCopy nie rozpoznaje.

Musisz zaktualizować ustawienia serwera proxy, aby odzwierciedlały prawidłowe konfiguracje. Zobacz Konfigurowanie ustawień serwera proxy.

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

Oto punkty końcowe wymagane przez narzędzie AzCopy:

Punkty końcowe logowania 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 — Chiny) (blob | file | dfs).core.chinacloudapi.cn (Azure — Chiny)
login.microsoftonline.de (Azure (Niemcy) (blob | file | dfs).core.cloudapi.de (Azure (Niemcy)
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 korzystającego z 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 składnika hostingu, 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ędzie AzCopy w wersji 8 i starszych jest przestarzałe. Narzędzie AzCopy w wersji 10 jest bieżącą wersją i jest kompletną wersją, która nie udostępnia żadnej składni z poprzednimi wersjami. Zapoznaj się z przewodnikiem po migracji narzędzia AzCopy dla wersji 8 do wersji 10.

Upewnij się również, że używasz wbudowanych komunikatów pomocy przy użyciu przełącznika -h razem 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.

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ń. Aby znaleźć przykładowe polecenia, zobacz Transfer danych. Jeśli masz pytanie, spróbuj najpierw wyszukać istniejące problemy z usługą GitHub, aby sprawdzić, czy została już udzielona.

Błąd zasad dostępu warunkowego

Podczas wywoływania azcopy login polecenia może wystąpić następujący błąd:

Nie można wykonać polecenia logowania: nie można zalogować się za pomocą 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 (Nieznane), która nie jest obecnie obsługiwana za pomocą zasad dostępu warunkowego. Obsługiwane platformy urządzeń to: wersje 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, które określają rodzaj urządzenia, z którego można się zalogować. Narzędzie AzCopy używa przepływu kodu urządzenia. Przepływ kodu urządzenia nie może zagwarantować, że składnik hostingu, na którym używasz narzędzia AzCopy, jest również miejscem, z którego się logujesz.

Jeśli urządzenie znajduje się na liście obsługiwanych platform, może być możliwe użycie Eksplorator usługi Storage. Eksplorator usługi Storage 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. Sam program AzCopy obsługuje również tożsamości zarządzane i jednostki usługi jako alternatywę logowania.

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 zostanie wyświetlona duża liczba żądań zakończonych niepowodzeniem, które mają stan "503 Serwer zajęty", usługa magazynu ogranicza żądania. Jeśli widzisz błędy sieci lub przekroczenia limitu czasu, być może próbujesz wypchnąć zbyt dużo danych do obsługi infrastruktury. We wszystkich przypadkach sposób obejścia jest podobny.

Jeśli duży plik wielokrotnie nie może skopiować, ponieważ niektóre fragmenty kończą się niepowodzeniem za każdym razem, spróbuj ograniczyć współbieżne połączenia sieciowe lub limit przepływności w zależności od konkretnego przypadku. Zalecamy drastyczne obniżenie wydajności, sprawdzenie, czy ta akcja rozwiązała początkowy problem, a następnie ponownie zwiększyć wydajność aż do osiągnięcia ogólnej równowagi.

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, może mieć wpływ na ogólną wydajność. Mimo że dane są przesyłane z serwera do serwera, narzędzie AzCopy inicjuje wywołania dla każdego pliku w celu skopiowania między punktami końcowymi usługi.

Znane ograniczenia w narzędziu AzCopy

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

  • Kopia po stronie usługi asynchroniczna nie jest obsługiwana. Narzędzie AzCopy wykonuje tylko synchroniczne kopiowanie. Innymi słowy, po zakończeniu zadania dane zostały przeniesione.

  • Jeśli podczas kopiowania do udziału plików platformy Azure zapomnisz określić flagę --preserve-smb-permissions i nie chcesz ponownie przesyłać danych, rozważ użycie narzędzia Robocopy w celu przeniesienia uprawnień.

  • Usługa Azure Functions ma inny punkt końcowy na potrzeby uwierzytelniania MSI. Narzędzie AzCopy nie obsługuje jeszcze uwierzytelniania MSI.

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 na temat platformy Azure.