Korzystam z urządzenia Oracle 11 jako urządzenia pamięci ZFS i regularnie wykonuję migawki systemów plików ZFS za pośrednictwem cron
.
W przeszłości wiem, że jeśli chciałem pobrać konkretny plik z migawki, zachowałem kopię tylko do odczytu .zfs/snapshot/{name}/
i mogłem tam nawigować i wyciągać plik. Jest to udokumentowane na stronie internetowej Oracle .
Jednak poszedłem to zrobić innego dnia i zauważyłem, że wszystkie katalogi ZFS w katalogach migawek są puste. zfs list -t snapshot
poprawnie pokazuje listę migawek, które powinny być obecne, i .zfs/snapshots
poprawnie zawiera katalog dla każdej migawki, aw każdej migawce jest katalog dla każdego systemu plików ZFS. Te katalogi wydają się jednak puste.
Właśnie przetestowałem przywracanie, dotykając pliku w mało używanym udziale i przywracając do najnowszej cogodzinnej migawki, i wygląda na to, że działało dobrze. Tak więc istnieje funkcja wycofywania.
Czy Oracle zmieniło sposób wykonywania migawek? A może coś tutaj jest naprawdę nie tak?
Odpowiedzi:
Jeśli masz na przykład potomny system plików ZFS
tank/newfs
. Wtedy nie znajdzie plikitank/newfs
w/tank/.zfs/mysnapshot
folderze, tylko mountpointnewfs
będzie istnieć. Jeśli chcesz uzyskać dostęp do plików, musisz poszukać ich w/tank/newfs/.zfs/mysnapshot
folderze.źródło
Migawki wymienione w
.zfs/snapshot/
są automatycznie montowane na żądanie, gdy są przeglądane, i są automatycznie odmontowywane, gdy nie są już używane.Wykonanie prostego
ls
w katalogu najwyraźniej nie wystarczy, aby uznać go za „żądanie”. Musisz przejśćcd
do odpowiedniego katalogu, a następnie wydaćls
polecenie.Konieczne może być również ustawienie
snapdir=visible
systemu plików.źródło