Rozwiązywanie problemów z usługą ClientOtherErrors w Azure Files
W tym artykule wymieniono elementy ClientOtherErrors, które mogą wystąpić podczas korzystania z udziałów plików platformy Azure SMB. Ogólnie rzecz biorąc, ClientOtherErrors są w większości nieszkodliwe i oczekiwane błędy. Żądania nie powiodły się, ale system nadal zachowuje się zgodnie z oczekiwaniami. To normalne, że zarejestrowano znaczną ilość tych błędów.
Informacje zawarte w tym artykule dotyczą
Typ udziału plików | SMB | NFS |
---|---|---|
Standardowe udziały plików (GPv2), LRS/ZRS | ||
Standardowe udziały plików (GPv2), GRS/GZRS | ||
Udziały plików 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 zdalnego serwera plików przy użyciu niektórych interfejsów API. Jeśli te interfejsy API nie powiodą się, wróci do używania innego interfejsu API, a nawet po prostu zignoruje te błędy. W zależności od protokołu żądania/odpowiedzi protokołu SMB oczekuje się, że duża liczba żądań zakończy się niepowodzeniem, mimo że system działał poprawnie. Może to być spowodowane błędami autoryzacji, próbami utworzenia pliku o już istniejącej nazwie lub próbą otwarcia nieistniejącego pliku.
Rejestrowanie i raportowanie
Aby rozwiązać problemy z usługą ClientOtherErrors, możesz utworzyć ustawienie diagnostyczne i użyć usługi Azure Monitor do raportowania. Można również analizować dzienniki , aby wyświetlić żądania zakończone niepowodzeniem, w tym ClientOtherErrors, lub użyć zapytań Kusto.
Możesz również zebrać ślad ProcMon od klienta, który jest zgodny z adresem IP wyświetlanym w dziennikach. Dodaj filtr, aby wyświetlić tylko ruch do Azure Files.
Common ClientOtherErrors
W poniższej tabeli wymieniono typowe elementy 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ż Azure Files nie implementuje tego interfejsu API. Azure Files obecnie nie obsługuje atrybutów rozszerzonych. |
UnknownFileClass=48 | STATUS_NOT_SUPPORTED | Jest to wywołanie interfejsu FileNormalizedNameInformation API. Jest to nowa obsługa systemu Windows Server i obecnie Azure Files nie obsługuje tego interfejsu API. |
Fileopen | 492 STATUS_ACCESS_DENIED | Obiekt wywołujący nie ma wymaganych uprawnień do otwierania pliku. W przypadku dostępu protokołu Kerberos lista ACL nie zezwala na dostęp obiektu wywołującego. |
Fileopen | 257 STATUS_OBJECT_NAME_INVALID | Ścieżka otwartego żądania jest nieprawidłowa (na przykład ścieżka jest zbyt długa lub zbyt głęboka). |
Fileopen | 12 STATUS_FILE_IS_ADIRECTORY | Obiekt wywołujący otwiera katalog bez używania prawidłowych CreateFile parametrów (na przykład intencji kopii zapasowej). |
Fileopen | 8 STATUS_SHARING_VIOLATION | Obiekt wywołujący otwiera plik, który został już otwarty z ograniczeniami (na przykład wyłączność lub inne mogą tylko czytać). |
Fileopen | 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 Azure Files, gdy klienci włączyli funkcję wielokanałową. W innych przypadkach nie jest to konieczne i zwracamy nieprawidłowe żądanie urządzenia w przypadku zapytania od klienta. |
QueryStreamInformation | STATUS_NOT_IMPLEMENTED | Niektóre systemy plików mają koncepcję alternatywnych strumieni danych lub innych strumieni, takich jak strumień punktów ponownej analizy. Azure Files nie ma tego pojęcia, więc nie obsługujemy interfejsu API. |
Nieoczekiwane (IOCTL) | STATUS_INVALID_DEVICE_REQUEST |
FSCTL_QUERY_FILE_REGIONS Jest to koncepcja regionu, która jest specyficzna dla systemu plików NTFS/refs i nie ma sensu w odniesieniu do Azure Files. Dlatego nie implementujemy tego kodu FSCTL. |
ChangeNotify | STATUS_CANCELLED | Aplikacje takie jak Eksplorator usługi Windows Shell subskrybują powiadomienia o zmianach plików. W ten sposób po zmianie właściwości pliku Eksplorator usługi Windows Shell automatycznie aktualizuje w widoku. Klient może anulować tę subskrypcję (na przykład jeśli użytkownik zmienił widoki w Eksploratorze i nie jest już potrzebny). W takim przypadku wysyłamy STATUS_CANCELLED z powrotem do klienta, aby potwierdzić, że subskrypcja została anulowana. |
FSCTL_DFS_GET_REFERRALS (IOCTL) | STATUS_FS_DRIVER_REQUIRED | Jest to żądanie skierowania systemu plików DFS. Azure Files nie obsługuje systemu plików DFS i jest to prawidłowy stan do zwrócenia, 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 i nowy plik jest umieszczany na jego miejscu. Jeśli obiekt wywołujący nie ma uprawnień do usunięcia istniejącego pliku, wywołanie zakończy się niepowodzeniem. |
FileCreate | 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). |
FileCreate | 3 STATUS_OBJECT_NAME_COLLISION | Dzieje się tak, gdy żądanie utworzenia nowego pliku ma żądaną nazwę zgodną z istniejącym plikiem. |
Odczyt | 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 uprawnień na poziomie udziału przypisanych za pośrednictwem kontroli dostępu opartej na rolach ani funkcji "Domyślne uprawnienia udziału". Jeśli nie ustawiono funkcji "Domyślne uprawnienia udostępniania", osoby wywołujące będące tożsamościami komputerów będą stale uzyskiwać 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 platformy Azure.