Были запущены тестовые экземпляры NAS с использованием ZFS, как указано в разделе Восстановление сервера Ubuntu с использованием ZFS RAIDZ для данных.
На этой неделе один из моих дисков умер.
За исключением того, что мой пул ZFS поврежден, как в:
andy@ubuntu:~$ sudo zpool status -v
pool: tank
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
a backup source.
see: http://www.sun.com/msg/ZFS-8000-5E
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank UNAVAIL 0 0 0 insufficient replicas
raidz1-0 UNAVAIL 0 0 0 insufficient replicas
sdb FAULTED 0 0 0 corrupted data
sdc FAULTED 0 0 0 corrupted data
sdd UNAVAIL 0 0 0
Если это не так, К счастью, это тестовый экземпляр, и я могу легко начать снова. Но что, если этот пул содержит важные данные? Каким будет следующий следующий шаг (ы): восстановить данные и восстановить мой NAS в рабочем состоянии? Или ZFS автоматически пытается использовать все возможные подходы к восстановлению, чтобы теперь данные были тостами?
Вооружившись пониманием @slashdot, я в основном исправил свою проблему, но я не знаю, что я сделал. Пожалуйста, изучите следующий след и просветите меня.
В частности, какая из следующих гипотез истинна и что мне не хватает?
Ни zdb -u tank, ни zdb -dcsv tank ничего полезного , Второй zpool import -f tank работал, когда первый не сделал, потому что прошло достаточно времени, так как zpool export tank для ZFS имеет шанс исправить себя. Весь этот эпизод имел какое-то отношение к ярлыкам, которые меняли сами после отказа одного из дисков (думаю, это был sdb, который вызвал sdc> sdb & amp; sdd> sdb).LOG
andy@ubuntu:~$ zpool status
andy@ubuntu:~$ sudo zpool status
pool: tank
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
a backup source.
see: http://www.sun.com/msg/ZFS-8000-5E
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank UNAVAIL 0 0 0 insufficient replicas
raidz1-0 UNAVAIL 0 0 0 insufficient replicas
sdb FAULTED 0 0 0 corrupted data
sdc FAULTED 0 0 0 corrupted data
sdd UNAVAIL 0 0 0
andy@ubuntu:~$ sudo zdb -u tank
zdb: can't open 'tank': No such device or address
andy@ubuntu:~$ sudo zpool scrub tank
cannot scrub 'tank': pool is currently unavailable
andy@ubuntu:~$ sudo zdb -bcsv tank
zdb: can't open 'tank': No such device or address
andy@ubuntu:~$ sudo zpool export tank
andy@ubuntu:~$ sudo zpool import tank
cannot import 'tank': pool may be in use from other system
use '-f' to import anyway
andy@ubuntu:~$ sudo zpool import -f tank
cannot import 'tank': one or more devices is currently unavailable
andy@ubuntu:~$ sudo zpool status
no pools available
andy@ubuntu:~$ sudo zpool status -x
no pools available
andy@ubuntu:~$ sudo zpool import
pool: tank
id: 9117894036185671023
state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
see: http://www.sun.com/msg/ZFS-8000-5E
config:
tank UNAVAIL insufficient replicas
raidz1-0 UNAVAIL insufficient replicas
sdb FAULTED corrupted data
sdb UNAVAIL
sdc ONLINE
andy@ubuntu:~$ sudo zpool import tank
cannot import 'tank': pool may be in use from other system
use '-f' to import anyway
andy@ubuntu:~$ sudo zpool import -f tank
andy@ubuntu:~$ sudo zpool status
pool: tank
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-4J
scan: scrub repaired 0 in 0h13m with 0 errors on Mon Nov 21 09:22:11 2011
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
10820373921989571629 UNAVAIL 0 0 0 was /dev/sdb1
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
errors: No known data errors
andy@ubuntu:~$
Вы только что перепутали диски?
Как только я перепутал диски и zpool сказал, что «диски содержат поврежденные данные». После того, как я подключил диски в предыдущей последовательности, он начал работать.
Возможно, после того, как вы импортировали цистерну zpool, распознали правильную последовательность.
Я думаю, что предыдущие плакаты осветили проблему. Вероятная причина была связана с тем, как вы указали диски.
Мой опыт связан с ZFS на Ubuntu. Хотя я и использую ZFS на freenas, мне никогда не приходилось вникать в реализацию bsd.
Конечно, для Ubuntu вам настоятельно рекомендуется указывать свои устройства по-id, а не по дескриптору: / dev / disk / by-id / scsi-SATA, которая однозначно идентифицирует физический диск, а не /dev/sda.
Использование устройства id-id устраняет любую зависимость от конкретного порта SATA на диске подключен к.
Gareth