Ошибки в iSCSI Target. Компиляция из исходников.

В openSUSE 11.4 столкнулся с проблемой запуска службы iSCSI Target - при выполнении rciscsitarget start получаю ошибку:

Starting iSCSI target service: FATAL: Error inserting crc32c_intel (/lib/modules/2.6.37.6-0.5-desktop/kernel/arch/x86/crypto/crc32c-intel.ko): No such device

Поиск навел на Bug 676803 - iscsi enterprise target just hangs
Подсказка из “Comment 8 Stefan Schueffler 2011-05-17 07:25:20 UTC”:

Hi,
i am also running into this bug.

I just want to inform you how i got around:

opensuse: 11.4
kernel: newest default-kernel from update-repository
kernel-default-2.6.37.6-0.5.1.x86_64

iscsi-target: downloaded the trunk from iscsi-target-svn
i am running svn revision 431, which currently is not the newest available
anymore. compiling this revision is working fine (and patches some source files
automatically while the build process runs).

According to my findings, this setup is working fine on two of my servers where
i tested this, and so i am using this in production without any errors so far.

Т.е. нужно собрать из последних исходников, с учетом последних патчей, но я не селен в этом - решил действовать на “абум”:

И сразу столкнулся с проблемами:

  • не могу выполнить ./configure в исходниках такого файла нет - где брать не знаю.
  • попытался выполнить make без предварительного конфигурирования под систему - ругается
    cc: /lib/modules/2.6.37.6-0.5-desktop/build/include/linux/version.h: Нет такого файла или каталога

Кто может подскажите куда копать?

cc: /lib/modules/2.6.37.6-0.5-desktop/build/include/linux/version.h: Нет такого файла или каталога

zypper in kernel-desktop-devel

Прошу прощение за тупой вопрос - А что это такое? Это же не исходники?
И еще во всех репозиториях есть каталог src/, а так же там есть файлы типа - iscsitarget-1.4.19-9.3.src.rpm, я так понимаю это исходники - вопрос как ими правильно пользоваться? Можно ли прямо к ним применять патчи?

От первой ошибки избавился, но есть еще:
Несколько раз повторяется вот такое

/bin/sh: line 0: : -le: ожидается использование унарного оператора

далее вроде нормально проходит компиляция, но в заключение вываливается еще грядка ошибок:

cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I…/include -D_GNU_SOURCE -c -o chap.o chap.c
chap.c:20:25: fatal error: openssl/sha.h: Нет такого файла или каталога
compilation terminated.
make[1]: *** [chap.o] Ошибка 1
make[1]: Выход из каталога `/usr/src/packages/SOURCES/iscsitarget-1.4.19/usr’
make: *** [usr] Ошибка 2

я так понял не хватает чего-то типа openssl-devel, а как точно узнать в какой пакет входит этот openssl/sha.h?

libopenssl-devel ошибку вылечил, но появилась следующая:

CC [M] /usr/src/packages/SOURCES/iscsitarget-1.4.19/kernel/conn.o
/usr/src/packages/SOURCES/iscsitarget-1.4.19/kernel/conn.c: In function ‘conn_info_show’:
/usr/src/packages/SOURCES/iscsitarget-1.4.19/kernel/conn.c:46:6: error: implicit declaration of function ‘NIPQUAD’
/usr/src/packages/SOURCES/iscsitarget-1.4.19/kernel/conn.c:46:40: error: ‘struct inet_sock’ has no member named ‘daddr’
make[4]: *** [/usr/src/packages/SOURCES/iscsitarget-1.4.19/kernel/conn.o] Ошибка 1
make[3]: *** [module/usr/src/packages/SOURCES/iscsitarget-1.4.19/kernel] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-2.6.37.6-0.5-obj/x86_64/desktop’
make: *** [kernel] Ошибка 2

Уже это начинает доставать - теперь вообще непонятно что происходит, и что от меня хотят!

Можно. Это наиболее простой и предпочтительный способ. Редактируете spec-файл, внося в него нужный патч и повышая номер сборки, например, и получаете пропатченную версию собранную в пакет. Удобства ради можно проделать это с помощью obs.
Да, кстати, в спек-файле прописаны все пакеты, которые нужны для сборки :wink:

Не смотря на наличие ошибки ietd похоже работает


Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW packages are going to be installed:
  iscsitarget iscsitarget-kmp-desktop 

The following recommended package was automatically selected:
  iscsitarget 

2 new packages to install.
Overall download size: 116.0 KiB. After the operation, additional 242.0 KiB 
will be used.
Continue? [y/n/?] (y): 
Retrieving package iscsitarget-kmp-desktop-1.4.19_k2.6.37.1_1.2-9.3.i586 (1/2), 53.0 KiB (115.0 KiB unpacked)
Retrieving: iscsitarget-kmp-desktop-1.4.19_k2.6.37.1_1.2-9.3.i586.rpm [62% (282.Retrieving: iscsitarget-kmp-desktop-1.4.19_k2.6.37.1_1.2-9.3.i586.rpm [done (282.8 KiB/s)]
Retrieving package iscsitarget-1.4.19-9.3.i586 (2/2), 63.0 KiB (127.0 KiB unpacked)
Retrieving: iscsitarget-1.4.19-9.3.i586.rpm [done (314.9 KiB/s)]
Installing: iscsitarget-kmp-desktop-1.4.19_k2.6.37.1_1.2-9.3 [done]
Installing: iscsitarget-1.4.19-9.3 [done]
Additional rpm output:
Updating /etc/sysconfig/ietd...


k0da@laptop:~> sudo /usr/sbin/rciscsitarget start
Starting iSCSI target service: FATAL: Error inserting crc32c_intel (/lib/modules/2.6.37.6-0.5-desktop/kernel/arch/x86/crypto/crc32c-intel.ko): No such device
                                                                     done
k0da@laptop:~> sudo /usr/sbin/rciscsitarget status
Checking for iSCSI target service                                    running

В том то и засада, что это только “похоже”. хоть сервис рапортует статусом, что он запущен, но порт не открыт:
Вот ситуация на хосте с openSUSE 11.4:


**openSUSE11-4:/ #** rciscsitarget start
Starting iSCSI target service: FATAL: Error inserting crc32c_intel
 (/lib/modules/2.6.37.6-0.5-desktop/kernel/arch/x86/crypto/crc32c-intel.ko): No such device
                                                                     **done**
**openSUSE11-4:/ #** rciscsitarget status
Checking for iSCSI target service                                    **running**
**openSUSE11-4:/ #** netstat -ant | grep 3260
**openSUSE11-4:/ #** *служба яко бы работает, а открытых портов с номером 3260 - нет*

Остановить службу - тоже проблема:


**openSUSE11-3:/ #** rciscsitarget stop
Stopping iSCSI target service: *в таком состоянии зависает пока не прервешь через **Ctrl+C***

Нормальная работа на хосте с openSUSE 11.3:


**openSUSE11-3:/ #** rciscsitarget stop
Stopping iSCSI target service:                                       **done**
**openSUSE11-3:/ #** rciscsitarget status
Checking for iSCSI target service                                    **unused**
**openSUSE11-3:/ #** netstat -ant | grep 3260
**openSUSE11-3:/ #** *служба остановлена - портов с номером 3260 - нет*
**openSUSE11-3:/ #** rciscsitarget start
Starting iSCSI target service:                                       **done**
**openSUSE11-3:/ #** rciscsitarget status
Checking for iSCSI target service                                    **running**
**openSUSE11-3:/ #** netstat -ant | grep 3260
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN      
tcp        0      0 192.168.0.1:3260        192.168.0.2:48072       ESTABLISHED 
tcp        0      0 :::3260                 :::*                    LISTEN      
**openSUSE11-3:/ #** *служба запущена - порт 3260 - открыт, и даже установилось соединение *

Но и самое проблемное теперь без предварительного удаления файла ietd пакет не получается деинсталировать.

Будет УДАЛЁН следующий пакет:
  iscsitarget 

1 пакет для удаления.
После этой операции будет освобождено 130,0 KiB.
Продолжить? [y/n/?] (y): 
Удаление iscsitarget-1.4.19-9.3 [0%]

В таком состоянии может висеть вечно…

Очень хочется с этим разобраться, но как то все замысловато - вопросов на порядок больше чем ответов :frowning:

  1. как и куда вносить нужный патч?
  2. в файле iscsitarget.spec есть строчка
    BuildRequires: gcc, make, patch, binutils, /usr/bin/install, openssl-devel
    я ставил только gcc, make, похоже что еще нужны patch и binutils?
  3. что такое /usr/bin/install?
  4. как от сюда можно было понять, что нужны kernel-desktop-devel и libopenssl-devel?
  5. Что такое obs и где об этом можно почитать?

Похоже сборка проблему не решает

aliaksei@linux-rc1b:~/trunk> make
Applying Patch compat-2.6.38.patch
patching file kernel/block-io.c
patching file kernel/iotype.c
Applying Patch compat-2.6.36-2.6.37.patch
patching file kernel/block-io.c
make -C usr
make[1]: Вход в каталог `/home/aliaksei/trunk/usr'
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o ietd.o ietd.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o iscsid.o iscsid.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o conn.o conn.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o session.o session.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o target.o target.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o message.o message.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o ctldev.o ctldev.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o log.o log.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o chap.o chap.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o event.o event.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o param.o param.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o plain.o plain.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o isns.o isns.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o md5.o md5.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o sha1.o sha1.c
cc  ietd.o iscsid.o conn.o session.o target.o message.o ctldev.o log.o chap.o event.o param.o plain.o isns.o md5.o sha1.o -o ietd 
cc -O2 -fno-inline -Wall -Wstrict-prototypes -I../include -D_GNU_SOURCE    -c -o ietadm.o ietadm.c
cc  ietadm.o param.o -o ietadm
make[1]: Выход из каталога `/home/aliaksei/trunk/usr'
make -C /lib/modules/2.6.37.6-0.5-desktop/build SUBDIRS=/home/aliaksei/trunk/kernel modules
make[1]: Вход в каталог `/usr/src/linux-2.6.37.6-0.5-obj/x86_64/desktop'
make -C ../../../linux-2.6.37.6-0.5 O=/usr/src/linux-2.6.37.6-0.5-obj/x86_64/desktop/. modules
  CC [M]  /home/aliaksei/trunk/kernel/tio.o
  CC [M]  /home/aliaksei/trunk/kernel/iscsi.o
  CC [M]  /home/aliaksei/trunk/kernel/nthread.o
  CC [M]  /home/aliaksei/trunk/kernel/wthread.o
  CC [M]  /home/aliaksei/trunk/kernel/config.o
  CC [M]  /home/aliaksei/trunk/kernel/digest.o
  CC [M]  /home/aliaksei/trunk/kernel/conn.o
  CC [M]  /home/aliaksei/trunk/kernel/session.o
  CC [M]  /home/aliaksei/trunk/kernel/target.o
  CC [M]  /home/aliaksei/trunk/kernel/volume.o
  CC [M]  /home/aliaksei/trunk/kernel/iotype.o                                                                                                                                      
  CC [M]  /home/aliaksei/trunk/kernel/file-io.o                                                                                                                                     
  CC [M]  /home/aliaksei/trunk/kernel/null-io.o                                                                                                                                     
  CC [M]  /home/aliaksei/trunk/kernel/target_disk.o                                                                                                                                 
  CC [M]  /home/aliaksei/trunk/kernel/event.o                                                                                                                                       
  CC [M]  /home/aliaksei/trunk/kernel/param.o                                                                                                                                       
  CC [M]  /home/aliaksei/trunk/kernel/block-io.o                                                                                                                                    
  CC [M]  /home/aliaksei/trunk/kernel/ua.o                                                                                                                                          
  LD [M]  /home/aliaksei/trunk/kernel/iscsi_trgt.o                                                                                                                                  
  Building modules, stage 2.                                                                                                                                                        
  MODPOST 1 modules                                                                                                                                                                 
  CC      /home/aliaksei/trunk/kernel/iscsi_trgt.mod.o                                                                                                                              
  LD [M]  /home/aliaksei/trunk/kernel/iscsi_trgt.ko                                                                                                                                 
make[1]: Выход из каталога `/usr/src/linux-2.6.37.6-0.5-obj/x86_64/desktop'                                                                                                         
aliaksei@linux-rc1b:~/trunk> uname -r                                                                                                                                               
2.6.37.6-0.5-desktop                                                                                                                                                                
aliaksei@linux-rc1b:~/trunk> sudo make install
root's password:                                                                                                                                                                    
«usr/ietd» -> «/usr/sbin/ietd»                                                                                                                                                      
«usr/ietadm» -> «/usr/sbin/ietadm»                                                                                                                                                  
«etc/initd/initd» -> «/etc/init.d/iscsi-target»                                                                                                                                     
«doc/manpages/ietadm.8» -> «/usr/share/man/man8/ietadm.8»
«doc/manpages/ietd.8» -> «/usr/share/man/man8/ietd.8»
«doc/manpages/ietd.conf.5» -> «/usr/share/man/man5/ietd.conf.5»
install: создание каталога «/usr/share/doc/iscsitarget»
«ChangeLog» -> «/usr/share/doc/iscsitarget/ChangeLog»
«COPYING» -> «/usr/share/doc/iscsitarget/COPYING»
«RELEASE_NOTES» -> «/usr/share/doc/iscsitarget/RELEASE_NOTES»
«README» -> «/usr/share/doc/iscsitarget/README»
«README.vmware» -> «/usr/share/doc/iscsitarget/README.vmware»
«README.initiators» -> «/usr/share/doc/iscsitarget/README.initiators»
«kernel/iscsi_trgt.ko» -> «/lib/modules/2.6.37.6-0.5-desktop/extra/iscsi/iscsi_trgt.ko»
Running depmod
aliaksei@linux-rc1b:~/trunk> sudo /etc/init.d/iscsi-target start
FATAL: Error inserting crc32c_intel (/lib/modules/2.6.37.6-0.5-desktop/kernel/arch/x86/crypto/crc32c-intel.ko): No such device

И я к такому же выводу пришел :frowning:
А какую версию вы собирали?
У меня - v1.4.20 Revision 453 (svn - https://iscsitarget.svn.sourceforge.net/svnroot/iscsitarget/trunk/)
Проблема осталась.
Я не могу понять как так получается что в релизе openSUSE 11.4 iSCIS Target - вообще работает? Как же его тогда зарелизили?

Стоит задача поднять новый сервер, одна из функций раздача целей через iSCIS, похоже что придется откатится до 11.3 :frowning:

А какую версию вы собирали?
У меня - v1.4.20 Revision 453 (svn - https://iscsitarget.svn.sourceforge…itarget/trunk/)

Да, эта версия.

Нужны идеи по восстановлению работоспособности iSCSI Target, принимаются любые варианты.

попробуйте tgt

Богатая вики, даёт ответы на вопросы. :wink:
Сборка пакетов SUSE — openSUSE](http://ru.opensuse.org/Сборка_пакетов_SUSE)
Служба сборки — openSUSE](http://ru.opensuse.org/Build_Service)
Zypper/Использование — openSUSE

Конкретно по проблеме:
Откатывайтесь на 11.3 и ждите решения бага.

Спасибо, я как то даже не обращал внимание на альтернативу. Однако есть загвоздка - YaST2:iSCSI-Server дружит только с iscsitarget.
Так что придется ковырять настройки через конфигурационные файлы.

Это не наш путь! :slight_smile:
Ковыряние в сторону crc32c-intel.ko привело к анализу наличия поддержки процессором набора инструкций SSE4.2 в котором содержатся команды оптимизации вычисления контрольных сумм (Using Intel CRC32 instruction to accelerate CRC32c algorithm by new crypto API -V3):


**srv-1:/ #** cat /proc/cpuinfo | grep flags
flags		: fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall
nx lm constant_tsc rep_good nopl nonstop_tsc aperfmperf pni est ssse3 cx16 sse4_1 **sse4_2** popcnt
hypervisor lahf_lm dts

выяснив что у двух серверов процессоры поддерживают данный набор инструкций решил на них добиться запуска iscsitarget.
Начал с модуля ядра crc32c-intel.ko в который входит проблемная функция crc32c_intel


*;Загружаем модуль*
**srv-1:/ #** modprobe crc32c-intel
*;Ни каких матюков нет - згрузился, проверяем*
**srv-1:/ #** modprobe -l | grep crc32c
kernel/arch/x86/crypto/crc32c-intel.ko *;модуль подгружен - все OK!*

дальнейшие “танцы с бубном под трубку мира” натолкнули на проблему некорректной загрузки модуля ядра iscsi_trgt.ko это модуль устанавливается из пакета зависящего от версии ядра, и автоматически не всегда выбирается корректно, в частности если установлено два ядра, например kernel-default и kernel-xen модуль будет установлен только для одного, при этом не обязательно для того ядра которое активное. Поэтому нужно вручную перепроверить и установить модули для всех используемых ядер. После проверяем:


**srv-1:/ #** modprobe -l | grep iscsi
kernel/drivers/scsi/scsi_transport_iscsi.ko
kernel/drivers/scsi/libiscsi.ko
kernel/drivers/scsi/libiscsi_tcp.ko
kernel/drivers/scsi/iscsi_tcp.ko
kernel/drivers/scsi/iscsi_boot_sysfs.ko
kernel/drivers/scsi/be2iscsi/be2iscsi.ko
kernel/drivers/firmware/iscsi_ibft.ko
weak-updates/updates/iscsi_trgt.ko *;модуль подгружен - все OK!*

Теперь пробуtм запустить iSCSI Target:


**srv-1:/ #** rciscsitarget status
Checking for iSCSI target service                                    **unused**
**srv-1:/ #** rciscsitarget start
Starting iSCSI target service:                                       **done**
**srv-1:/ #** rciscsitarget status
Checking for iSCSI target service                                    **running**
**srv-1:/ #** netstat -ant | grep 3260
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN      
tcp        0      0 :::3260                 :::*                    LISTEN      
**srv-1:/ #**

О чудо! Все работает!
Все один в один повторил на втором сервере - также все OK!
Следующим шагом осталось добиться работы на системах где нет SSE4.2.

Поздравляю. Обязательно отпишитесь о своих успехах и наблюдениях в вышеупомянутом багрепорте. Это поможет делу.

День добрый!

Имею абсолютно ту же самую проблему - “поломанный” iscsitarget при переходе на OpenSUSE 11.4. У меня машина БЕЗ SSE4.2 инструкций и симптомы те же:


srv-test:~ # rciscsitarget start
Starting iSCSI target service: FATAL: Error inserting crc32c_intel (/lib/modules/2.6.37.6-0.5-desktop/kernel/arch/x86/crypto/crc32c-intel.ko): No such device

Но, несмотря на:


srv-test:~ # modprobe -l | grep iscsi
kernel/drivers/scsi/scsi_transport_iscsi.ko
kernel/drivers/scsi/libiscsi.ko
kernel/drivers/scsi/libiscsi_tcp.ko
kernel/drivers/scsi/iscsi_tcp.ko
kernel/drivers/scsi/iscsi_boot_sysfs.ko
kernel/drivers/scsi/be2iscsi/be2iscsi.ko
kernel/drivers/firmware/iscsi_ibft.ko
weak-updates/updates/iscsi_trgt.ko ; <--- модуль загружен!

и


srv-test:~ # modprobe -l | grep crc32
kernel/arch/x86/crypto/crc32c-intel.ko ; <--- модуль загружен!

имею по-прежнему неработающий iscsitarget:


srv-test:~ # rciscsitarget status
Checking for iSCSI target service                                    running
srv-test:~ # netstat -ant | grep 3260
srv-test:~ #

Интересно - у меня “вторичные” признаки на системе без SSE4.2 вроде как совпадают с вашими рабочими (с SSE4.2), но - не работает :frowning:

Вообще действительно очень странная ситуация с этим iscsitarget - ошибка была зафиксирована ещё в марте, но до сих энтузиасты, вроде вас продолжают бороться с этим делом врукопашную. У меня ситуация с iscsi уже перезрела, с нетерпением жду ваших успехов в этом направлении :). Если будут какие-то вопросы/предложения/проверки - могу без проблем потестировать на своём стенде. Надо же, в конце-концов, преодолеть эту проблему…

Мда, добится нормальной работы iSCSI Target на тестовой системе без SSE4.2 так и не получается.
Что самое странное на рабочих серверах проблемы возникают периодически, после смены параметров через YaST2 иногда подвисает оснастка во время применения параметров - лечится снятием процесса ietadm, при этом служба рапартует что выполняется, но порты не открыты.
От использования iSCSI для доступа к рабочим массивам пришлось отказаться. Однако эксперименты продолжаю, пытаюсь найти закономерности.

Принимаю - вопросы есть:

  1. На “стенде” используется CPU Intel или AMD? У меня нет свободной системы с AMD, хотелось бы знать ситуацию на них, так как один из серверов требующий модернизации версии ОС имеет именно такой процессор.
  2. Как насчет попыток пересобрать из исходников?
  3. Используете ли iSCSI на старых версиях, если да то на каких?

Intel, Core Duo:


srv-test:~ # cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Pentium(R) Dual  CPU  E2200  @ 2.20GHz
stepping        : 13
cpu MHz         : 1200.000
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips        : 4400.73
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
...

До AMD, в принципе, могу дотянуться, но не очень быстро, сейчас машина занята.

Делал два захода - в апреле и в мае - получить работоспособную конфигурацию не удалось :frowning:

На OpenSUSE у меня, по сути, стенд, на котором я проверяю разных iSCSI-клиентов. Всё работало прекрасно в версиях 11.2 и 11.3. Сейчас срочно нужно проверить работоспособность multi-path для iscsi для одной из ОС (в документации у неё на этот счёт очень противоречивые заявления), но из-за перехода на OpenSUSE 11.4 остался без тестового iscsitarget-а. Ничего другого ставить не хочу, с сузей уже много лет, всё в ней устраивает.

Мне вот что непонятно: iscstarget (tgt) не является спецификой именно OpenSUSE. Но мне не доводилось слышать о подобных проблемах с iscsi на других дистрибутивоах линукса.