All of lore.kernel.org
 help / color / mirror / Atom feed
From: Walker, Benjamin <benjamin.walker at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] Namespace sharing between multiple controller
Date: Wed, 08 Mar 2017 18:30:50 +0000	[thread overview]
Message-ID: <1488997846.26463.13.camel@intel.com> (raw)
In-Reply-To: CAJvSebuRfby4=zPkAtnN-c7d1w0vnepxxsW=xJ31_8O5_5n87A@mail.gmail.com

[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]

On Wed, 2017-03-08 at 23:42 +0530, Ankur Srivastava wrote:
> Hi All,
> 
> I am using null block devices on my Target side and here is my conf
> file snap (app/nvmf_tgt/nvmf_tgt -c etc/spdk/nvmf.conf.in)
> 
> [Subsystem1]
>   NQN nqn.2016-06.io.spdk:cnode1
>   Core 0
>   Mode Virtual
>   Listen RDMA 192.168.25.3:4420
>   SN SPDK00000000000001
>   Namespace Malloc0
> 
> [Subsystem2]
>   NQN nqn.2016-06.io.spdk:cnode2
>   Core 1
>   Mode Virtual
>   Listen RDMA 192.168.25.31:4420
>   SN SPDK00000000000001
>   Namespace Malloc1
> 
> 
> How can I create multiple controllers and how can I share namespace
> like(Malloc0, Malloc1) between different controllers ??

A new controller will be created each time a new NVMe-oF host
(initiator) connects to a subsystem. That controller will be able to
see all of the namespaces within a subsystem. Note that we don't
currently have emulation for NVMe reservations, so coordination will
need to be done by the clients.

So if you want to have a subsystem with two shared namespaces and two
clients connected, just write:

[Subsystem1]
  NQN nqn.2016-06.io.spdk:cnode1
  Core 0
  Mode Virtual
  Listen RDMA 192.168.25.3:4420
  SN SPDK0000000000001
  Namespace Malloc0
  Namespace Malloc1

Start up the target with that config and then connect two clients to
the same subsystem. They'll each see their own controller but share
namespaces.

The best way to think about NVMe controllers in NVMe-oF is that they're
just sessions in the networking sense of the word. We even call them
spdk_nvmf_session in our code, as opposed to spdk_nvmf_controller. This
isn't an implementation choice that SPDK is making either - that's
really the intended meaning of a controller in the NVMe-oF
specification which sometimes refers to them as "controller sessions".

> 
> 
> Regards
> Ankur
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3274 bytes --]

             reply	other threads:[~2017-03-08 18:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-08 18:30 Walker, Benjamin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-03-10 13:50 [SPDK] Namespace sharing between multiple controller Ankur Srivastava
2017-03-08 18:12 Ankur Srivastava

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1488997846.26463.13.camel@intel.com \
    --to=spdk@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.