Configure dois LUNs separados no mesmo alvo iSCSI para dois iniciadores diferentes

0

Estou tentando configurar meu servidor iSCSI usando targetcli . A configuração inicial correu bem e o meu iniciador iSCSI do Windows pode se conectar ao meu primeiro target / portal / LUN.

Agora estou tentando configurar outro LUN. Eu quero que ele seja separado, de tal forma que meu cliente Windows nem tente montá-lo e que meu cliente Ubntu só monte o novo LUN.

Então eu criei outro alvo em iscsi, adicionei um tpg e configurei um novo acl lá e coloquei um backstore iblock nele. Tanto quanto eu posso dizer, a configuração é completamente o mesmo que o destino original. Eu também adicionei um portal para 0.0.0.0:3260, o mesmo que o alvo original.

Agora, a descoberta ( iscsiadm -m discovey -t st -p myserver ) no meu cliente Ubuntu identifica corretamente os dois destinos.

No entanto, minha próxima etapa, ao tentar efetuar login ( iscsiadm -m node --login ), falha com a mensagem 24 - iSCSI login failed due to authorization failure .

  • Tentei adicionar as informações de credenciais como sugeridas aqui sem sucesso.
  • Remover a ACL de destino também não me dá alegria.
  • Configurando duas ACLs diferentes no destino original também.

De qualquer forma, neste ponto, agora estou impossibilitado de concluir o segundo passo (login). Se eu entendi isso corretamente, isso também iria anexar todos os LUNs no destino para o meu iniciador Ubuntu. Obviamente, estou sentindo falta de alguns detalhes aqui e apreciaria qualquer indicação.

Minha configuração atual de targetcli :

Cada um dos acls tem um ID de usuário de autenticação configurado para o mesmo nome que o nome e a senha do ACL, com algo entre 12 e 16 caracteres. O nome da ACL é, em uma instância, o mesmo sugerido pelo iniciador iSCSI do Windows; na outra, acabei inventando algum nome usando o mesmo formato, mas nome da empresa e nome da máquina diferentes do iniciador. tpg é definido de forma que a autenticação ACL tenha precedência.

    
por velis 28.01.2017 / 20:25

1 resposta

0

O problema se deu no fato de que o iniciador open-iscsi que estou usando - iscsiadm - (naturalmente) fornece seu próprio ID de iniciador.

Eu obtive esse ID examinando dmesg output imediatamente após uma tentativa de login malsucedida. As entradas disseram algo como:

[1246730.912317] iSCSI Initiator Node: iqn.1993-08.org.debian:zz:xxxxxxxxxxx is not authorized to access iSCSI target portal group: 1.
[1246730.912387] iSCSI Login negotiation failed.

Editar: o ID está localizado em /etc/iscsi/initiatorname.iscsi

O procedimento completo para fazer login na configuração especificada na pergunta é o seguinte:

iscsiadm -m discovery -t st -p server_name_or_ip
(check initiator id on the client /etc/iscsi/initiatorname.iscsi)
create an ACL at server named same as initiator id. set its auth userid and password to whatever you want
iscsiadm -m node --op=update --name node.session.auth.authmethod --value=CHAP
iscsiadm -m node --op=update --name node.session.auth.username --value=(whatever you have set your userid in ACL auth settings)
iscsiadm -m node --op=update --name node.session.auth.password --value=(whatever you have set your password in ACL auth settings)
iscsiadm -m node --login

O último comando (login) agora funcionará e anexará os LUNs mapeados para a ACL.

    
por 29.01.2017 / 19:07