У меня есть хранилище Ubuntu (20.04.2 -5.4.0-52-generic #57-Ubuntu SMP) с ZoL, из которого зашифрованный блок-устройство экспортируется через iSCSI в другой Ubuntu (18.04.5 - 4.15.0-135-generic), где он отформатирован как LVM xfs устройство. Установка работала нормально, пока не была выполнена переустановка сервера (поскольку у него возникла проблема и он не мог обновить какие-либо пакеты), а у клиента была обновлена сетевая карта (2 x 10G - LACP). После переустановки сервер работал нормально (как чтение, так и запись) в течение примерно трех дней, а затем произошел сбой. Точка монтирования хранилища больше не была доступна с ошибками i/o. Я проверил подключение (сеть и iscsi), все было в порядке, сессия iscsi все еще была подключена и зарегистрирована. Я попытался выполнить xfs_repair, но он потерпел неудачу на фазах записи (5, 6 и 7). В zfs все устройства подключены к сети и выполнили очистку с 0 ошибками, проверил с помощью smartctl и не обнаружил проблем ни на одном из дисков. dd работает нормально (как чтение, так и запись), однако любой другой тип записи не работает.
На клиенте я получаю следующие сообщения об ошибках:
[ 387.103390] sd 7:0:0:0: [sde] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 387.103417] sd 7:0:0:0: [sde] tag#0 Sense Key : Not Ready [current] [descriptor]
[ 387.103423] sd 7:0:0:0: [sde] tag#0 Add. Sense: Logical unit communication failure
[ 387.103437] sd 7:0:0:0: [sde] tag#0 CDB: Write(16) 8a 00 00 00 00 00 00 00 08 08 00 00 00 01 00 00
Конфигурация хранилища следующая:
targetcli shell version 2.1.51
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 1]
| | o- name-disk ................................... [/dev/zvol/tank/dataset-name/name-iscsi (67.0TiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2003-01.org.linux-iscsi.storage-name.x8664:sn.0e03591de8ee .............................................. [TPGs: 1]
| o- tpg1 .................................................................................................. [gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 0]
| o- luns .......................................................................................................... [LUNs: 1]
| | o- lun0 .............................. [block/name-disk (/dev/zvol/tank/dataset-name/name-iscsi) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ..................................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
o- xen-pvscsi ....................................................................................................... [Targets: 0]
Для каждой команды записи на хранилище у меня были такие ошибки в dmesg:
[ 316.061150] bio error: 00000000970258be, err: 3
[ 316.061153] bio error: 00000000a3caa1b4, err: 3
[ 316.061161] bio error: 00000000b8d1298b, err: 3
[ 316.061166] bio error: 000000001e0ef7b8, err: 3
[ 316.061168] bio error: 00000000a6d861a8, err: 3
[ 316.061185] bio error: 00000000a58973e3, err: 3
[ 316.061206] bio error: 00000000c05c3fc4, err: 3
[ 316.061210] bio error: 000000000ddb63f1, err: 3
[ 316.061213] bio error: 0000000060438ff5, err: 3
[ 316.061218] bio error: 00000000cd469a8e, err: 3
[ 316.061223] bio error: 000000000b873ec9, err: 3
[ 316.061227] bio error: 00000000730b5a09, err: 3
[ 316.061230] bio error: 00000000652b9a7c, err: 3
[ 316.061233] bio error: 00000000969b8d13, err: 3
[ 316.061237] bio error: 0000000079fd9679, err: 3
На клиенте у меня такая версия:
iscsiadm --version
iscsiadm version 2.0-874
Я также попробовал экспортировать iscsi цель на другой клиент с Ubuntu 20.04 и у меня была та же проблема, что заставляет меня думать, что она исходит от хранилища. Я восстановил конфигурацию targetcli из файла сохранения и даже переустановил хранилище, но это не помогло. Я ищу в Интернете уже больше недели и не могу найти решение. Я также обнаружил, что у меня было это предупреждение:
WARNING: PV /dev/PV-name in VG VG-name is using an old PV header, modify the VG to update.
Поэтому я попробовал:
$vgck --updatemetadata VG
удалить метаданные из VG, но больше не смог записать их из-за той же проблемы.
Другие, возможно, не связанные проверки: у меня был MTU=9000 на хранилище, и я удалил его из конфигурации netplan.
Пожалуйста, дайте мне знать, если я что-то упустил. Любая идея будет оценена по достоинству.