При повреждении файла или каталога система может оставаться работоспособной в зависимости от типа повреждения. Если в системе отсутствуют какие-либо корректные копии данных, возможность восстановления фактически отсутствует. Если эти данные имеют ценность, единственным решением является восстановление поврежденных данных из резервной копии. Даже в этом случае можно исправить повреждение без восстановления всего.
При возникновении повреждения в блоке данных файла этот файл можно безопасно удалить, что позволит устранить ошибку. Для отображения списка имен файлов с повторяющимися ошибками используется команда zpool status -v. Пример:
# zpool status -v
pool: monkey
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.sun.com/msg/ZFS-8000-8A
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
monkey ONLINE 0 0 0
c1t1d0s6 ONLINE 0 0 0
c1t1d0s7 ONLINE 0 0 0
errors: Permanent errors have been detected in the following files:
/monkey/a.txt
/monkey/bananas/b.txt
/monkey/sub/dir/d.txt
/monkey/ghost/e.txt
/monkey/ghost/boo/f.txt
|
Предшествующие выходные данные выглядят следующим образом:
При определении полного пути к файлу и смонтированном наборе данных отображается полный путь к файлу. Пример:
/monkey/a.txt |
Если полный путь к файлу найден, но набор данных не смонтирован, отображается имя набора данных без косой черты (/), а затем путь к файлу в наборе данных. Пример:
monkey/ghost/e.txt |
Если преобразование номера объекта в путь к файлу невозможно по причине ошибки или отсутствия реального связанного пути к файлу, как в случае с dnode_t, отображается имя набора данных, а затем номер объекта. Пример:
monkey/dnode:<0x0> |
При повреждении объекта в наборе объектов метаданных (MOS) отображается специальный тег <metadata>, а затем номер объекта.
При повреждении в каталоге или метаданных файла единственным решением является перемещение файла в какое-либо другое местоположение. Любой файл или каталог можно безопасно переместить в менее удобное местоположение, что обеспечивает восстановление исходного объекта.