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 sugeruje, jak je rozwiązać.

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 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ą.

System może wygenerować dowolny inny kod zakończenia niezerowy (np OOMKilled. ) . Zapoznaj się z dokumentacją systemu operacyjnego, aby uzyskać specjalne kody zakończenia.

Błędy "403"

Typowe 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 błędy "403" mogą powodować niepowodzenie transferu. Jeśli ten problem wystąpi, inne próby transferu plików mogą zakończyć się niepowodzeniem, dopóki nie rozwiążesz problemu. Błędy "403" mogą być spowodowane przez problemy z uwierzytelnianiem i autoryzacją. Mogą one 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 związanych z tokenami SAS, rolami kontroli dostępu na podstawie ról (RBAC) platformy Azure i konfiguracjami 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 są spełnione następujące instrukcje:

  • 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 pomocą azcopy login polecenia, sprawdź, czy masz przypisane odpowiednie role platformy Azure do tożsamości (na przykład rolę Współautor danych obiektów 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 tożsamość jest wyświetlana we wpisie listy ACL dla każdego pliku lub katalogu, do którego 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 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

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 skopiować dane na konto docelowe. Ta właściwość jest wyświetlana w Azure Portal jako ustawienie konfiguracji Dozwolony zakres 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.

Value Opis
(null) (Wartość domyślna) Umożliwia kopiowanie z dowolnego konta magazynu na konto docelowe.
Microsoft Entra ID Zezwala na kopiowanie tylko z kont należących do tej samej dzierżawy Microsoft Entra co konto docelowe.
PrivateLink Zezwala na kopiowanie tylko z kont magazynu, które mają łącza prywatne 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.

Przesyłanie 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 programem 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 kont źródłowych lub docelowych, 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 programem AzCopy może uzyskać 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 składnika hostingu. Usługa używa adresu IP składnika hostingu klienta 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 działającej w tej sieci wirtualnej/podsieci. Załóżmy na przykład, że skonfigurowano Private Link w sieci VNet1/Podsieci1, ale maszyna wirtualna, na której działa narzędzie AzCopy, znajduje się w sieci VNet1/Subnet2. W tym scenariuszu żądania narzędzia AzCopy nie używają Private Link, a żądania powinny zakończyć się niepowodzeniem.

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, którego narzędzie 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 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 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żywaniem serwera proxy korzystającego z certyfikatu SSL (Secure Sockets Layer), 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ż tam 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 w wersji 8 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 współużytkuje ż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, używając -h przełącznika 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 (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ń. Aby znaleźć przykładowe polecenia, zobacz Transfer data (Transferowanie danych). Jeśli masz pytanie, spróbuj najpierw wyszukać istniejące problemy z usługą GitHub , aby sprawdzić, czy została już udzielona odpowiedź.

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ę 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 rodzaj urządzenia, z których 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, w 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żesz użyć 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. Samo narzędzie 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 limity czasu

Jeśli widzisz dużą liczbę żądań zakończonych niepowodzeniem, które mają stan "503 Serwer zajęty", usługa magazynu ogranicza twoje żądania. Jeśli widzisz błędy sieci lub limity czasu, być może próbujesz wypchnąć zbyt dużo danych do obsługi infrastruktury. We wszystkich przypadkach obejście jest podobne.

Jeśli wielokrotnie nie można skopiować dużego pliku, 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, aby najpierw drastycznie obniżyć wydajność, sprawdzić, czy ta akcja rozwiązała początkowy problem, a następnie ponownie zwiększyć wydajność do czasu 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, 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 w narzędziu 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.

  • W przypadku kopiowania do udziału plików platformy Azure, jeśli nie pamiętasz o określeniu --preserve-smb-permissions flagi 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. 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 platformy Azure.