ZFS: ошибка ввода-вывода - все копии блоков недоступны -zpool недоступны

При перезапуске сервера на консоли был получен следующий вывод:

ZFS: i/o error - all block copies unavailable
ZFS: failed to read pool zroot directory object
qptzfsboot: failed to mount default pool zroot

FreeBSD/x86 boot
ZFS: i/o error - all block copies unavailable
ZFS: can't fild dataset 0
Default: zroot/<0x0>
boot:

Я загрузил хост с usb livecd и смонтировал каталог / etc в / tmp, чтобы разрешить доступ по ssh:

ifconf -a # get available i/f names
ifconf em0 inet 192.168.216.46
route add default 192.168.216.1
hostname vhost06.internal
mkdir /tmp/etc
mount_unionfs /tmp/etc /etc
echo 'PermitRootLogin yes' >> /etc/sshd_config
passwd
Changing local password for root
New Password:
Retype New Password:
service sshd onestart

Нет доступных для импорта пулов zfs:

root@vhost06:~ # zpool status
no pools available
root@vhost06:~ # zpool list
no pools available
root@vhost06:~ # zfs list
no datasets available

gpart показывает эту геометрию:

gpart show

=>         40  15628053088  ada0  GPT  (7.3T)
           40         1024     1  freebsd-boot  (512K)
         1064          984        - free -  (492K)
         2048     16777216     2  freebsd-swap  (8.0G)
     16779264  15611273216     3  freebsd-zfs  (7.3T)
  15628052480          648        - free -  (324K)

=>         40  15628053088  ada1  GPT  (7.3T)
           40         1024     1  freebsd-boot  (512K)
         1064          984        - free -  (492K)
         2048     16777216     2  freebsd-swap  (8.0G)
     16779264  15611273216     3  freebsd-zfs  (7.3T)
  15628052480          648        - free -  (324K)

=>         40  15628053088  ada2  GPT  (7.3T)
           40         1024     1  freebsd-boot  (512K)
         1064          984        - free -  (492K)
         2048     16777216     2  freebsd-swap  (8.0G)
     16779264  15611273216     3  freebsd-zfs  (7.3T)
  15628052480          648        - free -  (324K)

=>         40  15628053088  ada3  GPT  (7.3T)
           40         1024     1  freebsd-boot  (512K)
         1064          984        - free -  (492K)
         2048     16777216     2  freebsd-swap  (8.0G)
     16779264  15611273216     3  freebsd-zfs  (7.3T)
  15628052480          648        - free -  (324K)

=>         40  15628053088  diskid/DISK-VAGWJ6VL  GPT  (7.3T)
           40         1024                     1  freebsd-boot  (512K)
         1064          984                        - free -  (492K)
         2048     16777216                     2  freebsd-swap  (8.0G)
     16779264  15611273216                     3  freebsd-zfs  (7.3T)
  15628052480          648                        - free -  (324K)

=>         40  15628053088  diskid/DISK-VAGWV89L  GPT  (7.3T)
           40         1024                     1  freebsd-boot  (512K)
         1064          984                        - free -  (492K)
         2048     16777216                     2  freebsd-swap  (8.0G)
     16779264  15611273216                     3  freebsd-zfs  (7.3T)
  15628052480          648                        - free -  (324K)

=>         40  15628053088  diskid/DISK-VAHZAD2L  GPT  (7.3T)
           40         1024                     1  freebsd-boot  (512K)
         1064          984                        - free -  (492K)
         2048     16777216                     2  freebsd-swap  (8.0G)
     16779264  15611273216                     3  freebsd-zfs  (7.3T)
  15628052480          648                        - free -  (324K)

=>         40  15628053088  diskid/DISK-VAH3PXYL  GPT  (7.3T)
           40         1024                     1  freebsd-boot  (512K)
         1064          984                        - free -  (492K)
         2048     16777216                     2  freebsd-swap  (8.0G)
     16779264  15611273216                     3  freebsd-zfs  (7.3T)
  15628052480          648                        - free -  (324K)

=>       1  30240767  da0  MBR  (14G)
         1      1600    1  efi  (800K)
      1601   2012560    2  freebsd  [active]  (983M)
   2014161  28226607       - free -  (13G)

=>      0  2012560  da0s2  BSD  (983M)
        0       16         - free -  (8.0K)
       16  2012544      1  freebsd-ufs  (983M)

=>       1  30240767  diskid/DISK-00241D8CE51BB011B9A694C1  MBR  (14G)
         1      1600                                     1  efi  (800K)
      1601   2012560                                     2  freebsd  [active]  (983M)
   2014161  28226607                                        - free -  (13G)

=>      0  2012560  diskid/DISK-00241D8CE51BB011B9A694C1s2  BSD  (983M)
        0       16                                          - free -  (8.0K)
       16  2012544                                       1  freebsd-ufs  (983M)

Как мне восстановить отсюда?

<------ конец оригинала вопрос

Я добился некоторого прогресса и мне удалось импортировать и смонтировать один корневой набор данных - iocage. Это загрузка системы zfs , но я не могу найти набор данных, содержащий корневую файловую систему, поэтому я не могу зайти в / var / log, чтобы увидеть, есть ли там что-нибудь:

mkdir /tmp/zroot                       # /tmp is a writable file system
zpool -f zroot                         # force the zpool import
zfs set mountpoint=/tmp/zroot  zroot   # mount the imported pool in a writable fs
zfs mount -a                           # find and mount all the datasets
ll /tmp/zroot
total 12
drwxr-xr-x  9 root  wheel  11 Feb 27 13:09 iocage/

К счастью, все абсолютно важные материал находится в / zroot / iocage , поскольку хост просто действует как платформа для тюрьмы. Однако отсутствие корневого набора данных меня беспокоит.

zpool status показал zroot без ошибок.

Затем я перенес набор данных iocage в другую систему, используя zfs send ].

zfs snapshot -r zroot/iocage@vh6iocsend1
zfs send -R zroot/iocage@vh6iocsend1 | ssh 192.168.216.45 zfs receive zroot/iocagev6

Это заняло некоторое время, но завершилось успешно.

Теперь мне нужно запустить проблемный хост. Этот хост был перезапущен вчера в полдень без проблем. Я не помню, чтобы запускал freebsd-update fetch , но даже если бы у меня не было ничего для fetch, поскольку система уже была на 12.1p2

, мне все еще нужна помощь в загрузке хоста.

<----------

Дополнительные примечания:

Мне удалось смонтировать весь zpool , используя опцию altroot zpool import :

  1. Загрузитесь в оболочку live cd.
  2. Импортируйте пулы zfs, но не разрешайте import автоматически монтировать любые наборы данных: zpool import -o altroot = / tmp / altroot -N -a .
  3. Сначала смонтируйте корневой / набор данных: zfs смонтируйте zroot / ROOT / default .
  4. Теперь смонтируйте оставшиеся наборы данных: zfs mount -a .

Вся файловая система пула zroot теперь доступна по адресу / tmp / altroot .

Я использовал это с помощью zfs send для перемещения содержимого / var к другому хозяину. Собственно отправил весь пул.

Однако исходная система по-прежнему не загружается.

1
задан 4 March 2020 в 17:05
1 ответ

В качестве последнего средства я вытащил четыре жестких диска с хоста, который не смог загрузиться, и поместил их на идентично настроенный сервер. Этот сервер загрузился с этих жестких дисков. Очевидно, аппаратная проблема.

На новом хосте все еще есть аномалия: если отсек 1 занят, то система будет загружаться только в том случае, если хотя бы один из отсека 0 или отсека 2 также будет занят. Конфигурация 0-, 1A, 2-, 3B не загружается. Я не понимаю, почему это так.

0
ответ дан 30 March 2020 в 00:20

Теги

Похожие вопросы