Najbezpieczniejszym sposobem zachowania znaczników czasu jest kopiowanie za pomocą narzędzia obsługującego metadane, weryfikacja wyniku oraz pozostawienie źródła bez zmian aż do momentu przełączenia.
Nie zaczynaj od przenoszenia metodą przeciągnij i upuść. Najpierw zdecyduj, które znaczniki czasu są istotne, przetestuj, czy system plików źródłowy, protokół transferu, system plików docelowy oraz narzędzie do kopiowania potrafią je obsłużyć, a następnie wykonaj zalogowaną kopię początkową i mniejszą synchronizację końcową. Czas modyfikacji jest zwykle przenośny; czas utworzenia i zmiany mogą nie być.
Określ, które znaczniki czasu muszą zostać zachowane
„Zachowanie znaczników czasu” może oznaczać różne metadane na różnych systemach. Linux i Unix zwykle udostępniają mtime, atime i ctime, podczas gdy NTFS dodatkowo udostępnia czas utworzenia; różnice między mtime, atime, ctime i czasem utworzenia decydują o tym, co można porównać po migracji.
Priorytetowo traktuj mtime, gdy użytkownicy sortują dokumenty, zdjęcia lub pliki projektowe według ostatniej zmiany zawartości. Traktuj ctime jako zdarzenie metadanych nowego systemu plików, a nie czas utworzenia, i osobno weryfikuj czas powstania lub utworzenia, ponieważ nowo utworzony obiekt docelowy może otrzymać nową wartość.
| Znak czasu | Co zwykle oznacza | Oczekiwania migracji |
|---|---|---|
| mtime | Ostatnia modyfikacja zawartości pliku | Główna wartość do zachowania i weryfikacji |
| atime | Ostatni dostęp do pliku | Może się zmienić podczas skanowania lub kopiowania |
| ctime | Zmiana metadanych lub statusu inode | Zwykle zmienia się na nowym systemie plików |
| Czas powstania/utworzenia | Obiekt utworzony na tym systemie plików | Wsparcie zależy od narzędzia, protokołu i celu |
Użyj kopiowania z obsługą metadanych zamiast przenoszenia
Na ścieżkach Linux-do-Linuxa rsync jest popularnym wyborem, ponieważ tryb archiwum zachowuje czasy modyfikacji wraz z kilkoma innymi atrybutami. Dodaj tylko te flagi ACL, rozszerzonych atrybutów, twardych linków lub specyficzne dla platformy, których wymaga Twój zestaw danych, i podejrzyj polecenie przed zezwoleniem na usunięcie lub zastąpienie.
Na ścieżkach kontrolowanych przez Windows Robocopy może zachować metadane plików, ale znaczniki czasu katalogów wymagają wyraźnej opcji Robocopy. Unikaj flagi mirror, dopóki test niedestrukcyjny nie potwierdzi kierunku źródła i celu, ponieważ mirror może powtarzać usunięcia tak dokładnie, jak powtarza pliki.
Przetestuj protokół i system plików na małym zestawie danych
Utwórz próbkę zawierającą stare i nowe pliki, zagnieżdżone katalogi, nazwy z akcentami, dowiązania symboliczne jeśli istotne oraz znane wartości znaczników czasu. Skopiuj ją przez dokładnie ten sam protokół SMB, NFS, SSH, lokalny montaż lub ścieżkę aplikacji, która jest planowana do produkcji; protokół połączenia może zmienić wynik nawet gdy docelowy NAS jest ten sam.
Porównaj źródło i cel za pomocą manifestu znaczników czasu lub skryptowanego wyjścia stat, nie tylko przeglądarki plików. Przykład z życia pokazuje, że zachowanie montowania CIFS może unieważnić żądane flagi znaczników czasu, więc pomyślne zakończenie polecenia nie jest dowodem na wierność metadanych.
Użyj dwufazowego przełączenia i zachowaj kopię zapasową
Wykonaj dużą kopię początkową, gdy źródło jest nadal aktywne, zweryfikuj liczbę plików, sumy kontrolne zawartości dla reprezentatywnego lub krytycznego zestawu, znaczniki czasu, uprawnienia i dostęp aplikacji, następnie na krótko zatrzymaj zapisy i wykonaj końcowe, przyrostowe przejście. Zapisz logi i manifesty poza oboma drzewami danych.
Utrzymuj źródło jako tylko do odczytu lub w inny sposób możliwe do odzyskania przez uzgodniony okres przechowywania. Znaczniki czasu to tylko jedna warstwa metadanych; przed uznaniem dwóch drzew za równoważne przejrzyj rozszerzone atrybuty podczas migracji NAS, szczególnie dla plików macOS, multimediów i zarządzanych przez aplikacje.
FAQ
Czy tryb archiwum rsync zachowuje wszystkie znaczniki czasu?
Nie. Zwykle zachowuje czas modyfikacji, ale atime, czas utworzenia, ACL, rozszerzone atrybuty i inne metadane wymagają osobnego wsparcia lub opcji. System plików docelowy i protokół również muszą je akceptować.
Dlaczego daty folderów zmieniają się, nawet gdy daty plików są poprawne?
Niektóre narzędzia przywracają mtime plików, ale aktualizują mtime katalogów podczas tworzenia wpisów potomnych. Testuj znaczniki czasu katalogów jawnie i włącz odpowiednią opcję kopiowania katalogów, gdy jest to wymagane przez proces.
Czy znaczniki czasu można naprawić po skopiowaniu danych?
Często mtime można poprawić na podstawie niezmienionego źródła lub zapisanego manifestu bez ponownego kopiowania zawartości plików. Czas utworzenia i ctime są mniej przenośne, więc nie usuwaj źródła przed potwierdzeniem możliwości naprawy.
Wsparcie i wskazówki
Więcej do przeczytania

Dlaczego macierz RAID staje się nieaktywna po utracie zasilania?
Nieaktywna macierz często oznacza, że znaleziono metadane, ale system nie miał wystarczającej pewności ani członków, aby bezpiecznie ją uruchomić po nieprawidłowym zamknięciu.

Jakie są ryzyka związane z wymuszaniem ponownego podłączenia brakującego członka RAID?
Opcje wymuszania mogą ominąć kontrole bezpieczeństwa dotyczące przestarzałych metadanych, niezsynchronizowanej parzystości, brakujących zapisów lub aktywnych pul; przed ich użyciem sprawdź i zachowaj dowody.

Jak odróżnić uszkodzony kabel SATA od uszkodzonego dysku NAS
Śledź, czy błędy dotyczą dysku, czy pozostają na ścieżce SATA, i oddziel liczniki transportu od dowodów stanu nośnika przed wymianą sprzętu.

