streszczenie
Nie można już zaimportować jednej z moich pul ZFS z powodu następującego komunikatu:
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
...
data1 UNAVAIL insufficient replicas
Chciałbym zrozumieć, co oznacza „niewystarczająca liczba replik”, i czy jest jakiś sposób na bezpieczne odzyskanie tego, zanim wyciągnę kopie zapasowe i odbuduję pulę pamięci.
Chciałbym również zrozumieć, co to spowodowało i co mogę zrobić, aby zapobiec tej sytuacji w przyszłości. Rozumiem skały ZFS, ale jako początkujący ZFS to przerażające, że muszę tworzyć kopie zapasowe dla czegoś tak nieszkodliwego, jak wyciąganie dysku z pudełka.
tło
Niedawno wyłączyłem to urządzenie i wyciągnąłem dysk SATA SDA. Jestem w 99% pewien, że pozwoliłem na całkowite wyłączenie systemu przed odłączeniem go od ściany, ale możliwe jest, że wyłączyłem zasilanie, jeśli wyłączenie trwało zbyt długo.
Po ponownym podłączeniu dysku wydaje mi się, że podłączyłem go z powrotem do tego samego portu SATA na płycie głównej, ale możliwe, że podłączyłem go do innego portu.
Pudełko zawiera również starszy dysk PATA sdb, na którym Debian jest zainstalowany jako jedyny system operacyjny na partycji ext.
W przeszłości uruchamiałem się, wszystkie moje pule były importowane, a woluminy montowane. Tym razem nic nie mam.
Dzisiaj
Kiedy uruchomiłem urządzenie, byłem na zwykłym ekranie logowania GDM i zdałem sobie sprawę, że nie mogę się zalogować. Później odkryłem, że nie mam katalogów domowych użytkowników, ponieważ wszystkie znajdują się w puli.
Z wiersza poleceń odkryłem, co następuje:
# zfs list
no datasets available
# zpool list
no pools available
# zpool status
no pools available
Moje dyski były dostępne; fdisk wyprodukował oczekiwany wynik i miałem moje urządzenia / dev / sdaX i / dev / sdbX.
zpool import
dało mi ciekawe wyniki. Pozostałe pule zgłosiły się ONLINE, ale ta, o której mowa, zgłosiła to:
pool: ...
id: ...
state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
data1 UNAVAIL insufficient replicas
sda2 UNAVAIL
W tym momencie mogłem zaimportować inne pule, zpool import poolname
a potem przekonałem się, że wszystko jest w porządku zfs list
.
Nie tak z tym:
# zpool import data1
cannot import 'data1': one or more devices are already in use
zpool import
pokazał tę samą wydajność dla tej puli.
Myślałem o usunięciu /etc/zfs/zpool.cache
pliku. Wyeksportowałem wszystko, a następnie sprawdziłem katalog:
# zpool export -a
# ls /etc/zfs
Po wyeksportowaniu nie było pliku zpool.cache, więc po prostu uruchomiłem ponownie. (Nie wiem, co by się stało, gdybym usunął plik zpool.cache podczas importowania pul, więc nie próbowałem.)
Te same wyniki po ponownym uruchomieniu. Pozostałe pule są w porządku i tej nie można zaimportować.
zdb /dev/sda
i / lubzdb /dev/sda2
(zakładając, że problematyczny dysk ZFS jest faktycznie identyfikowany przez system operacyjny jako / dev / sda, w przeciwnym razie dostosuj odpowiednio), proszę?