Weryfikacja sumy kontrolnej może nie powieść się po zgłoszeniu sukcesu kopiowania, ponieważ zakończenie kopiowania potwierdza, że narzędzie transferu zakończyło operacje zapisu, podczas gdy suma kontrolna pyta, czy bajty źródłowe i docelowe są identyczne w momencie ich odczytu. Niezgodność może wynikać z porównania różnych wersji pliku lub algorytmów, skrótu pliku, który nadal się zmieniał, odczytu niestabilnych danych z pamięci RAM lub nośnika, albo rzeczywistej korupcji na ścieżce transferu.
Co udane kopiowanie potwierdza — a czego nie potwierdza?
Status udanego kopiowania pliku zwykle oznacza, że narzędzie utworzyło obiekt docelowy i nie napotkało krytycznego błędu zapisu. Może opierać się na rozmiarze i czasie modyfikacji, a może nie wykonywać pełnego skrótu zawartości. Dyskusja na forum domowego NAS zaleca obliczanie skrótu źródła i sprawdzanie pliku docelowego po kopiowaniu, ponieważ zwykłe zakończenie i tożsamość zawartości to oddzielne testy.
Zanotuj, które narzędzie wykonało kopiowanie, czy użyto weryfikacji, czy zachowano znaczniki czasu oraz kiedy obliczono każdą sumę kontrolną. Bez tej osi czasu nie można przypisać niezgodności do uszkodzenia transferu lub późniejszej modyfikacji.
Potwierdź, że obie sumy kontrolne opisują tę samą wersję pliku
Przed sprawdzeniem sprzętu porównaj dokładną ścieżkę względną, rozmiar i tożsamość pliku. Edytor zdjęć, indeksator multimediów, kontener bazy danych, klient pobierania lub usługa synchronizacji mogą zmodyfikować źródło po pierwszym skrócie, ale przed lub w trakcie kopiowania. Wtedy plik docelowy zawiera poprawnie inną wersję.
Zamroź źródło, zatrzymując aplikację zapisującą lub wykonując migawkę tylko do odczytu. Wygeneruj nową sumę kontrolną źródła z tego stabilnego punktu, skopiuj plik pod nową nazwę docelową, a następnie oblicz skrót pliku docelowego po zakończeniu wszystkich zapisów.
Używaj tego samego algorytmu i formatu manifestu po obu stronach
SHA-256, BLAKE3, MD5, CRC32 oraz specyficzne dla aplikacji skróty repozytorium to różne wartości nawet dla identycznych bajtów. Manifest może również zawierać znaczniki trybu binarnego, ścieżki z ucieczką lub sumę kontrolną dla skompresowanego obiektu zamiast przywróconego pliku. Wyjaśnienie integralności danych pokazuje, że suma kontrolna reprezentuje konkretny strumień bitów według określonego algorytmu.
Uruchom to samo polecenie lub kompatybilne narzędzie na obu plikach i wyraźnie wyświetl używany algorytm. Nie porównuj sumy kontrolnej systemu plików NAS, chmury ETag, wartości parzystości RAID ani skrótu fragmentu kopii zapasowej z całkowitym skrótem SHA-256 pliku.
Sprawdź, czy plik zmienił się podczas kopiowania
Aktywne dyski wirtualne, pliki baz danych, biblioteki zdjęć, magazyny poczty i wolumeny kontenerów mogą się zmieniać między kolejnymi odczytami. Kopia może zakończyć się bez błędów I/O, ale reprezentować nieatomową mieszankę stanów. Zatrzymaj aplikację, użyj jej metody tworzenia kopii zapasowej lub skopiuj ze snapshotu przed powtórzeniem weryfikacji.
Normalne szybkie sprawdzenie Rsync i jego porównanie sum kontrolnych odpowiadają na różne pytania. Techniczne wyjaśnienie trybu sum kontrolnych w porównaniu z porównaniem czasu i rozmiaru ilustruje, dlaczego decyzja o transferze oparta na metadanych nie jest równoważna weryfikacji zawartości po kopiowaniu.
Powtórz obliczanie sumy, aby wykryć niestabilną ścieżkę odczytu
Oblicz sumę kontrolną tego samego niezmienionego pliku źródłowego kilka razy bez kopiowania go. Następnie powtórz na docelowym. Stabilny plik powinien za każdym razem dawać ten sam wynik. Jeśli po jednej stronie suma kontrolna zmienia się przy powtarzanych odczytach, transfer nie jest pierwszym podejrzanym; zbadaj pamięć, kontroler, urządzenie cache, kabel, dysk i system plików tego systemu.
Przypadek DrivePool wykazał, że paskowanie odczytu powodowało niespójne wyniki sum kontrolnych. Ważny wzorzec diagnostyczny to nie konkretne ustawienie produktu, lecz fakt, że powtarzane odczyty niezmienionego pliku zwracały różne bajty.
Zmapuj wzorzec błędu do RAM, kabla, kontrolera lub dysku
Jeśli wiele niepowiązanych plików nie zgadza się na każdym celu, podejrzewaj ścieżkę odczytu źródła lub pamięć RAM klienta. Jeśli niezgodności występują po stronie jednego dysku NAS, urządzenia cache, portu lub kontrolera, odizoluj ten komponent. Jeśli nie powiodą się tylko duże kopie SMB, przetestuj ten sam plik lokalnie na NAS i przez innego klienta.
Śledztwo Unraid dotyczące błędów sum kontrolnych po transferze plików wskazuje na izolację RAM i kontrolera jako konkurencyjne testy, zamiast zakładać, że dane zostały uszkodzone wyłącznie przez sieć.
Nie myl różnic w metadanych z różnicami w zawartości
Czas modyfikacji, czas utworzenia, własność, ACL, rozszerzone atrybuty, alokacja rzadkich danych i wielkość liter w nazwie pliku mogą się różnić, podczas gdy suma kontrolna całej zawartości pliku nadal się zgadza. Z kolei dopasowanie rozmiaru i znacznika czasu nie dowodzi zgodności zawartości.
Jeśli twoje narzędzie weryfikacyjne uwzględnia metadane w manifeście, oddziel niezgodność zawartości od niezgodności metadanych. Zachowaj wymagane metadane odpowiednią metodą kopiowania, ale nie oznaczaj różnicy tylko w znaczniku czasu jako uszkodzonej zawartości pliku.
Użyj kontrolowanej matrycy testowej przed ponownym kopiowaniem wszystkiego
| Wynik testu | Prawdopodobna przyczyna | Następny krok |
|---|---|---|
| Hash źródła zmienia się przy powtarzanych odczytach | Plik źródłowy nadal się zmienia lub niestabilna ścieżka źródłowa | Zatrzymaj zapisy, wykonaj migawkę, a następnie przetestuj RAM i pamięć masową |
| Źródło stabilne; hash miejsca docelowego się zmienia | Ścieżka odczytu miejsca docelowego, cache, RAM lub dysk | Odczyt lokalny, pomiń cache, izoluj dysk/kontroler |
| Oba stabilne, ale różne | Zła wersja, niekompletna kopia lub uszkodzenie transferu | Ponownie skopiuj na nową ścieżkę i zweryfikuj natychmiast |
| Hash się zgadza, ale narzędzie nadal zgłasza błąd | Ścieżka manifestu, algorytm lub interpretacja metadanych | Sprawdź format weryfikacji i mapowanie plików |
| Tylko jedna ścieżka sprzętowa zawodzi | Kabel, port, kontroler, klient lub docelowy komponent | Zmień jedną zmienną i powtórz ten sam plik testowy |
Użyj jednego niezmiennego pliku testowego wystarczająco dużego, aby obciążyć ścieżkę, i zmieniaj tylko jedną zmienną na raz: klienta, protokół, udział NAS, ustawienia cache, dysk, kabel lub port. Zachowaj kopie nieudanych miejsc docelowych, aż ustalisz, czy niezgodność jest powtarzalna.
Wybierz działanie naprawcze na podstawie dowodów
Jeśli źródło jest stabilne i zaufane, skopiuj ponownie niezgodny plik pod nową nazwą i zweryfikuj przed zastąpieniem uszkodzonego miejsca docelowego. Jeśli źródło jest również niestabilne, zabezpiecz inne czytelne dane i zbadaj sprzęt przed powtarzanymi pełnymi odczytami.
Stan macierzy i tożsamość pliku pozostają różnymi kontrolami. Przewodnik ZimaSpace dotyczący weryfikacji sum kontrolnych po wymianie uszkodzonego dysku wyjaśnia, dlaczego spójność RAID powinna być uzupełniona porównaniem plików na poziomie manifestu lub kopii zapasowej.
Najczęściej zadawane pytania
Czy różny czas modyfikacji powoduje niezgodność sumy kontrolnej?
Nie dla sumy kontrolnej opartej wyłącznie na zawartości. Może ona nie przejść weryfikacji uwzględniającej metadane, ale identyczne bajty pliku dają ten sam hash zawartości.
Czy można zaufać sumie kontrolnej, która zgadza się przy drugim podejściu?
Tylko wtedy, gdy ten sam niezmieniony plik generuje powtarzalne hasze i przyczyna pierwszej niezgodności jest zrozumiana. Przerywana niezgodność jest sama w sobie ostrzeżeniem.
Czy jeden niezgodny plik powinien wywołać pełne ponowne kopiowanie?
Nie od razu. Izoluj, czy błąd dotyczy pliku, źródła, miejsca docelowego czy ścieżki transferu, następnie ponownie skopiuj dotknięty zakres i zweryfikuj go.
Ostateczne wnioski
Udane kopiowanie NAS i udana weryfikacja sumy kontrolnej sprawdzają różne właściwości. Potwierdź tę samą wersję pliku i algorytm, zamroź dane na żywo, powtórz hasze, aby przetestować stabilność odczytu, izoluj sprzęt zmieniając jedną zmienną na raz i wymieniaj dane dopiero po tym, jak zaufane źródło wygeneruje stabilne, zgodne dane docelowe.
Wsparcie i wskazówki
Więcej do przeczytania

Czy Plex może współdzielić kartę graficzną z innym kontenerem Dockera?
Plex i inny kontener często mogą korzystać z tego samego układu GPU, ale należy przetestować obsługę sterowników, mapowanie urządzeń, obciążenie silnika wideo, pamięć oraz...

Jak ustalić, czy błąd Plex pochodzi od klienta, czy od serwera
Odtwórz ten sam przypadek na innym kliencie, porównaj ścieżkę sesji, a następnie zbierz dowody z serwera dopiero wtedy, gdy zakres analizy wskaże, gdzie faktycznie...

Jak skonfigurować pamięć podręczną Plex i tymczasową pamięć na transkodowane pliki
Chroń trwały stan Plex, umieszczając tymczasowe pliki transkodowania na odpowiedniej pamięci lokalnej, a następnie zweryfikuj czyszczenie, ilość wolnego miejsca i zachowanie podczas ponownego uruchamiania.

