При повреждении файла или каталога система может оставаться работоспособной в зависимости от типа повреждения. Если в системе отсутствуют какие-либо корректные копии данных, возможность восстановления фактически отсутствует. Если эти данные имеют ценность, единственным решением является восстановление поврежденных данных из резервной копии. Даже в этом случае можно исправить повреждение без восстановления всего.
При возникновении повреждения в блоке данных файла этот файл можно безопасно удалить, что позволит устранить ошибку. Для отображения списка имен файлов с повторяющимися ошибками используется команда 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>, а затем номер объекта.
При повреждении в каталоге или метаданных файла единственным решением является перемещение файла в какое-либо другое местоположение. Любой файл или каталог можно безопасно переместить в менее удобное местоположение, что обеспечивает восстановление исходного объекта.