[
https://issues.apache.org/jira/browse/CRAIL-93?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16785779#comment-16785779
]
Jonas Pfefferle commented on CRAIL-93:
--------------------------------------
Hi David,
# Take a look at
[https://www.openfabrics.org/images/2018workshop/presentations/111_BMetzler_NVMfLessons.pdf]
Slide 9. Maybe it makes it more clear. The namenode never is involved with
data IO only metadata operations.
I'm not saying it is not possible to have all subsystems on the same IP/port
pair in SPDK, the problem is in this case they have to have different subsystem
NQNs which is not supported by Crail since we only store IP/port information.
So the "solution" is to let every subsystem also have a different port, however
this still requires it to have a different subsystem NQN. Which led to the hack
of using the subsystem NQN with appended port numbers. Crail does not create
any subsystem NQNs (they are defined by the target and Crail does not have any
target capabilities since the underlying NVMf library only implements the
initiator side).
As you correctly stated above the host NQN and host ID identify the clients.
Currently the host NQN is created by Crail randomly and the host ID is set to
the MAC address of the first network interface found. I think we have a general
confusion about subsystem NQN and host NQN, this is how I understand the
specification: host NQN/host ID meant mainly for the clients to identify
themself and block/allow access on the target side and subsystem NQN on the
target side to identify a subsystem.
# I don't understand what you are saying here. The client always has to
specify the host NQN however the target can chose to not use it e.g. for access
control. I have been running SPDK like this with Crail without issues. Just
remove any "host" mention in the subsystem configuration and add "AllowAnyHost
Yes".
# I want to emphasize that the logging option is experimental thus it is not
extensively documented. Let us know if you find things in the documentation to
be confusing or incomplete, we try our best to add/fix them.
# Are you building on the provided Crail containers? How are you setting the
nqn in the Crail config?
Regards,
Jonas
> Using Crail with NVMf, the Default NQN also attaches the port number to the
> name.
> ---------------------------------------------------------------------------------
>
> Key: CRAIL-93
> URL: https://issues.apache.org/jira/browse/CRAIL-93
> Project: Apache Crail
> Issue Type: Bug
> Affects Versions: 1.2
> Environment: I'm running crail nodes with docker containers, on a
> Ubuntu 18.04 base.
> Reporter: David Crespi
> Assignee: Jonas Pfefferle
> Priority: Critical
>
> This is the version I'm actually using: v1.1-2-gf0afadc
> I'm set up to use spdk on the backend to crail. When attempting to attach,
> it appears that crail needs two subsystems to achieve the connection. Instead
> of allowing the default name, I have the system variable set: -e
> NVMF_NQN="nqn.2017-06.io.crail:cnode"
> 1) subsystem NQN: nqn.2017-06.io.crail:cnode
> 2) subsystem NQN: nqn.2017-06.io.crail:cnode4420
> 19/03/01 17:46:45 INFO crail: CrailHadoopFileSystem fs initialization done..
> 19/03/01 17:46:45 INFO crail: Connecting to NVMf target at Transport address
> = /192.168.2.104:4420, subsystem NQN = nqn.2017-06.io.crail:cnode4420
> It appears that the initial connect/discovery of the subsystem uses #1, but
> using the
> crail commands (crail fs -mkdir /test) uses #2.
> Both have to have a valid namespace attached as well.
>
> It also appears that when using my own subsystem NQN (NVMF_NQN) name, crail
> wants to generate its own Host NQN. A new one every time. First, how do you
> learn of that
> NQN, and 2nd, it would be great to disable it if spdk has "allow any hosts"
> set. It refuses
> to connect to spdk.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)