Назад | Перейти на главную страницу

Корпоративная цель и клиент iSCSI на debian выдают ошибку недопустимого имени

У меня есть две машины Debian Wheezy, и я пытаюсь настроить хранилище для одной из них на диске другого с помощью iSCSI (у них нет синхронизированных пользователей, поэтому NFS не будет работать для этого приложения). Я установил ietd на сервере и open-iscsi на клиенте.

Моя конфигурация на сервере следующая:

ietd.conf

Target iqn.2015-02.uk.co.meridiandigital:email
    Lun 0 Path=/storage/email/email_export.img,Type=fileio,IOMode=rw
    IncomingUser myuser mypass
    Alias LUN1

initiators.allow

ALL ALL

targets.allow

ALL ALL

На клиенте конфигурация:

iscsid.conf

iscsid.startup = /usr/sbin/iscsid
node.startup = automatic
node.leading_login = No
node.session.auth.authmethod = CHAP
node.session.auth.username = myuser
node.session.auth.password = mypass
discovery.sendtargets.auth.authmethod = CHAP   
discovery.sendtargets.auth.username = myuser
discovery.sendtargets.auth.password = mypass
node.session.timeo.replacement_timeout = 120
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 30
node.session.err_timeo.tgt_reset_timeout = 30
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.xmit_thread_priority = -20
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
node.session.iscsi.FastAbort = Yes

initiatorname.iscsi

GenerateName=no
InitiatorName=iqn.2015-02.net.meridiandigital:client

Когда я запускаю открытие с помощью iscsiadm -m discovery -t st -p athena Я получаю следующее сообщение об ошибке:

iscsiadm: Cannot perform discovery. Invalid Initiatorname.
iscsiadm: Could not perform SendTargets discovery: invalid parameter

Что мне нужно сделать, чтобы обнаружение и вход в систему работали в этой системе?

Ключом к ответу на этот вопрос было включение регистрации ошибок в ietd, который по какой-то причине не включен по умолчанию. Я остановил службу с помощью /etc/init.d/ietd stop, и вручную запустил ietd -d 2 чтобы включить ведение журнала. Это дало мне (вместе с массой лишнего мусора) следующее сообщение об ошибке:

Feb 17 17:15:50 athena ietd: unable to create logical unit 0 in target 1: 22

Номер ошибки 22 - EINVAL, значит, у меня где-то недопустимый параметр. Получается, что IOMode параметр не может иметь значение «rw»: допустимые значения: «ro», «wb» и «wt».