Udostępnij za pośrednictwem


Rozwiązywanie problemów z błędami ClientOtherErrors w usłudze Azure Files

W tym artykule wymieniono błędy ClientOtherErrors, które mogą wystąpić podczas korzystania z udziałów plików platformy Azure protokołu SMB. Ogólnie rzecz biorąc, ClientOtherErrors są w większości nieszkodliwe i oczekiwane błędy. Żądania kończą się niepowodzeniem, ale system nadal zachowuje się zgodnie z oczekiwaniami. Normalne jest, aby zobaczyć znaczną ilość zarejestrowanych błędów.

Dotyczy

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

Co to są ClientOtherErrors?

ClientOtherError zwykle oznacza oczekiwane błędy po stronie klienta, takie jak "nie znaleziono" i "zasób już istnieje". W plikach dziennika magazynu po stronie serwera te operacje są rejestrowane ze stanem transakcji ClientOtherErrors.

Na przykład klient SMB systemu Windows, który współdziała ze zdalnymi systemami plików, nie zawsze zna możliwości zdalnego systemu plików. Może to być system Windows Server, Azure Files lub inna implementacja serwera SMB. W związku z tym klient SMB będzie wykonywać wywołania do zdalnego serwera plików z określonymi interfejsami API. Jeśli te interfejsy API nie powiedzą się, wróci do używania innego interfejsu API, a nawet po prostu zignoruj te błędy. W zależności od protokołu żądań/odpowiedzi protokołu SMB oczekuje się, że duża liczba żądań nie powiedzie się, mimo że system działa prawidłowo. Może to być spowodowane błędami autoryzacji, próbami utworzenia pliku o nazwie, która już istnieje lub próbą otwarcia pliku, który nie istnieje.

Rejestrowanie i raportowanie

Aby rozwiązać problemy z błędami ClientOtherErrors, możesz utworzyć ustawienie diagnostyczne i użyć usługi Azure Monitor do raportowania. Możesz również analizować dzienniki , aby wyświetlić żądania, które zakończyły się niepowodzeniem, w tym ClientOtherErrors lub użyć zapytań Kusto.

Możesz również zebrać ślad ProcMon z klienta zgodnego z adresem IP widocznym w dziennikach. Dodaj filtr, aby wyświetlić tylko ruch do usługi Azure Files.

Typowe błędy ClientOtherErrors

W poniższej tabeli wymieniono typowe błędy ClientOtherErrors wraz z wyjaśnieniem każdego błędu.

Operacja Stan Wyjaśnienie błędu
QueryFullEaInformation STATUS_NOT_IMPLEMENTED Ten błąd jest zwracany, ponieważ usługa Azure Files nie implementuje tego interfejsu API. Usługa Azure Files nie obsługuje obecnie atrybutów rozszerzonych.
UnknownFileClass=48 STATUS_NOT_SUPPORTED Jest to wywołanie interfejsu FileNormalizedNameInformation API. Jest to nowa obsługa systemu Windows Server, a obecnie usługa Azure Files nie obsługuje tego interfejsu API.
PlikOtwórz 492 STATUS_ACCESS_DENIED Obiekt wywołujący nie ma wymaganych uprawnień do otwierania pliku. W przypadku dostępu do protokołu Kerberos lista ACL odmawia dostępu wywołującego.
PlikOtwórz 257 STATUS_OBJECT_NAME_INVALID Ścieżka dla otwartego żądania jest nieprawidłowa (na przykład ścieżka jest za długa lub zbyt głęboka).
PlikOtwórz 12 STATUS_FILE_IS_ADIRECTORY Obiekt wywołujący otwiera katalog bez używania poprawnych CreateFile parametrów (na przykład intencji kopii zapasowej).
PlikOtwórz 8 STATUS_SHARING_VIOLATION Obiekt wywołujący otwiera plik, który jest już otwarty z ograniczeniami (na przykład wyłączność lub inne osoby mogą tylko odczytywać).
PlikOtwórz 6 STATUS_OBJECT_NAME_NOT_FOUND Obiekt wywołujący otwiera plik, który nie istnieje.
FSCTL_QUERY_NETWORK_INTERFACE_INFO (IOCTL) STATUS_INVALID_DEVICE_REQUEST Jest to używane tylko w przypadku usługi Azure Files, gdy klienci włączyli funkcję multichannel . W innych przypadkach nie jest to konieczne i zwracamy nieprawidłowe żądanie urządzenia po wysłaniu zapytania do klienta.
QueryStreamInformation STATUS_NOT_IMPLEMENTED Niektóre systemy plików mają pojęcie alternatywnych strumieni danych lub innych strumieni, takich jak strumień punktów ponownej analizy. Usługa Azure Files nie ma tej koncepcji, dlatego nie obsługujemy interfejsu API.
Nieoczekiwane (IOCTL) STATUS_INVALID_DEVICE_REQUEST Jest FSCTL_QUERY_FILE_REGIONSto pojęcie regionu specyficzne dla systemu plików NTFS/ref i nie ma sensu w odniesieniu do usługi Azure Files. Dlatego nie implementujemy tego kodu FSCTL.
ChangeNotify STATUS_CANCELLED Aplikacje, takie jak Eksplorator powłoki Systemu Windows, subskrybują powiadomienia o zmianie plików. W ten sposób, gdy właściwości zmieniają się w pliku, Eksplorator powłoki systemu Windows automatycznie aktualizuje widok. Klient może anulować tę subskrypcję (na przykład jeśli użytkownik zmienił widoki w Eksploratorze i nie będzie już go potrzebował). W takim przypadku odsyłamy STATUS_CANCELLED do klienta, aby potwierdzić, że subskrypcja została anulowana.
FSCTL_DFS_GET_REFERRALS (IOCTL) STATUS_FS_DRIVER_REQUIRED Jest to żądanie odwołania systemu plików DFS. Usługa Azure Files nie obsługuje systemu plików DFS i jest to prawidłowy stan, który ma być zwracany, gdy system nie obsługuje systemu plików DFS.
FileSupersede STATUS_ACCESS_DENIED Zastępowanie pliku to operacja, w której istniejący plik jest usuwany, a nowy plik jest umieszczany w jego miejscu. Jeśli obiekt wywołujący nie ma uprawnień do usunięcia istniejącego pliku, wywołanie zakończy się niepowodzeniem.
PlikTworzenie 7 STATUS_OBJECT_NAME_INVALID Dzieje się tak, gdy żądanie utworzenia nowego pliku ma nieprawidłową żądaną nazwę (na przykład przy użyciu nieobsługiwanych znaków).
PlikTworzenie 3 STATUS_OBJECT_NAME_COLLISION Dzieje się tak, gdy żądanie utworzenia nowego pliku ma żądaną nazwę zgodną z istniejącym plikiem.
Przeczytaj STATUS_ACCESS_DENIED Dzieje się tak, gdy żądanie odczytu jest wykonywane w pliku z uchwytem, który nie ma przyznanego dostępu do odczytu (na przykład plik został otwarty z żądanym dostępem do zapisu).
TreeConnect STATUS_ACCESS_DENIED W kontekście uwierzytelniania Kerberos obiekt wywołujący nie ma przypisanych uprawnień na poziomie udziału za pośrednictwem kontroli dostępu opartej na rolach ani funkcji "Domyślne uprawnienia udziału". Jeśli funkcja "Domyślne uprawnienia udziału" nie jest ustawiona, osoby wywołujące, które są tożsamościami komputerów, będą stale otrzymywać ten błąd dostępu w udziale.

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.