Мы столкнулись с отказом одного из наших файловых серверов Solaris / ZFS. H / w не загружается, нас не так беспокоит сервер, но данные ценны. Мы вынули набор из 8 дисков в пуле raidz2 и подключили их к другой машине Solaris. Массив был распознан, и данные оставались неизменными в течение 6 часов, но через 6 часов пул стал недоступен в середине. Мы включили и снова включили машину, но безуспешно.
Буду признателен, если вы поможете нам восстановить данные.
С помощью команды ** zpool import
* мы получаем следующую ошибку:
zpool import
pool: p1z2
id: 16004911417686972288
state: UNAVAIL
status: One or more devices are unavailable.
action: The pool cannot be imported due to unavailable devices or data.
The pool may be active on another system, but can be imported using the '-f' flag.
config:
p1z2 UNAVAIL corrupted data
raidz2-0 DEGRADED
c0t5000C500959EC8DFd0 UNAVAIL cannot open
c0t5001B4D04D00A816d0 ONLINE
c0t5001B4D04D1E6803d0 ONLINE
c0t5000C50083375403d0 UNAVAIL cannot open
c0t5001B4D04D1F0807d0 ONLINE
c0t5001B4D04D101812d0 ONLINE
c0t5001B4D04D101817d0 ONLINE
c0t5001B4D04D233806d0 ONLINE
device details:
c0t5000C500959EC8DFd0 UNAVAIL cannot open
status: ZFS detected errors on this device.
The device was missing.
c0t5000C50083375403d0 UNAVAIL cannot open
status: ZFS detected errors on this device.
The device was missing.
iostat -en
---- errors ---
s/w h/w trn tot device
0 0 0 0 c0t5001B444A4E76FA2d0
0 0 0 0 c0t5001B4D04D090800d0
0 0 0 0 c0t5001B4D04D08D801d0
0 0 0 0 c0t5001B4D04D233802d0
0 0 0 0 c0t5001B4D04D1E6803d0
0 0 0 0 c0t5001B4D04D080804d0
0 0 0 0 c0t5001B4D04D101805d0
0 0 0 0 c0t5001B4D04D233806d0
0 0 0 0 c0t5001B4D04D1F0807d0
0 0 0 0 c0t5001B4D04D080810d0
0 0 0 0 c0t5001B4D04D080811d0
0 0 0 0 c0t5001B4D04D101812d0
0 0 0 0 c0t5001B4D04D00B813d0
0 0 0 0 c0t5001B4D04D080814d0
0 0 0 0 c0t5001B4D04D1E6815d0
0 0 0 0 c0t5001B4D04D00A816d0
0 0 0 0 c0t5001B4D04D101817d0
Я бы не стал пытаться дать ответ, не зная больше о состоянии вашего бассейна. Я рекомендую запустить отладочную утилиту ZFS против пула. Она должна предоставить дополнительную информацию, которая поможет определить, почему хост отказывается импортировать испорченный пул (хотя она говорит о том, что данные повреждены, вы все равно сможете перемотать их к точке восстановления).
Отказ от ответственности: zdb, по сути, является внутренним средством поддержки технической поддержки Oracle. Использование его различных опций, не понимая их влияния, может ухудшить ситуацию.
В примере ниже опция "-e" говорит ему работать с пулом, который в данный момент не импортирован.
zdb -e p1z2 | tee /tmp/zdb.log
Пожалуйста, обратите внимание, это может занять долгое, долгое, долгое время, чтобы работать в зависимости от размера вашего бассейна и его использования. Я только что запустил это против здорового- но экспортированного 1.4TB пула, который я использую с моей системой Solaris 10U10 (+последние CPU патчи). Этот пул на 79% используется для данных, а zdb все еще работает с контрольными суммами метаданных через 40 минут (и я нахожусь в конце своего дня, так что я не задерживаюсь, чтобы посмотреть на финиш). Выход может быть огромным, и поэтому я предлагаю вам записать его в файл с помощью tee.
.