All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] If Qemu support NVMe over Fabrics ?
@ 2019-01-10  8:37 Yang Zhong
  2019-01-10 10:36 ` Stefan Hajnoczi
  0 siblings, 1 reply; 7+ messages in thread
From: Yang Zhong @ 2019-01-10  8:37 UTC (permalink / raw)
  To: QEMU Developers; +Cc: pbonzini, fam, keith.busch

Hello all,

Do you know if Qemu support NVMe over Fabrics(NVMe-oF)?
https://nvmexpress.org/wp-content/uploads/NVMe_Over_Fabrics.pdf

The Qemu has enabled RDMA in last year, and i am not sure if Qemu 
should support NVME-oF. If Qemu support it, would you please share
me the qemu related command or guides? thanks a lot!

Regards,

Yang

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?
  2019-01-10  8:37 [Qemu-devel] If Qemu support NVMe over Fabrics ? Yang Zhong
@ 2019-01-10 10:36 ` Stefan Hajnoczi
  2019-01-11  5:46   ` [Qemu-devel] If Qemu support NVMe over Fabrics ?y Yang Zhong
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Hajnoczi @ 2019-01-10 10:36 UTC (permalink / raw)
  To: Yang Zhong; +Cc: QEMU Developers, fam, pbonzini, keith.busch

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

On Thu, Jan 10, 2019 at 04:37:53PM +0800, Yang Zhong wrote:
> Do you know if Qemu support NVMe over Fabrics(NVMe-oF)?
> https://nvmexpress.org/wp-content/uploads/NVMe_Over_Fabrics.pdf
> 
> The Qemu has enabled RDMA in last year, and i am not sure if Qemu 
> should support NVME-oF. If Qemu support it, would you please share
> me the qemu related command or guides? thanks a lot!

QEMU supports many different storage configurations.  Can you be more
specific?

For example, if your host has NVMe-oF set up then you can give the NVMe
block devices to QEMU just like any other host block device (-drive
file=/dev/sdc,...).

But maybe you are thinking about other configurations, like exposing
NVMe-oF to the guest?

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y
  2019-01-10 10:36 ` Stefan Hajnoczi
@ 2019-01-11  5:46   ` Yang Zhong
  2019-01-11 10:48     ` Paolo Bonzini
  0 siblings, 1 reply; 7+ messages in thread
From: Yang Zhong @ 2019-01-11  5:46 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, fam, pbonzini, keith.busch, Yang Zhong

On Thu, Jan 10, 2019 at 10:36:37AM +0000, Stefan Hajnoczi wrote:
> On Thu, Jan 10, 2019 at 04:37:53PM +0800, Yang Zhong wrote:
> > Do you know if Qemu support NVMe over Fabrics(NVMe-oF)?
> > https://nvmexpress.org/wp-content/uploads/NVMe_Over_Fabrics.pdf
> > 
> > The Qemu has enabled RDMA in last year, and i am not sure if Qemu 
> > should support NVME-oF. If Qemu support it, would you please share
> > me the qemu related command or guides? thanks a lot!
> 
> QEMU supports many different storage configurations.  Can you be more
> specific?
> 
> For example, if your host has NVMe-oF set up then you can give the NVMe
> block devices to QEMU just like any other host block device (-drive
> file=/dev/sdc,...).
> 
> But maybe you are thinking about other configurations, like exposing
> NVMe-oF to the guest?
> 
  Thanks Stefan's comments. We only want Qemu as NVMe-oF initiator to
  access remote target's resource.

  I checked the block/nvme.c and hw/block/nvme.c code, which seems do
  not support NVMe-oF . If i am wrong please correct me.

  If Qemu support NVMe-oF initiator, please share me how to use it. 
  If Qemu does not support it, please tell me if community has plan 
  to implement it. thanks a lot!
 
  Regards,

  Yang
 
> Stefan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y
  2019-01-11  5:46   ` [Qemu-devel] If Qemu support NVMe over Fabrics ?y Yang Zhong
@ 2019-01-11 10:48     ` Paolo Bonzini
  2019-01-11 15:58       ` Stefan Hajnoczi
  0 siblings, 1 reply; 7+ messages in thread
From: Paolo Bonzini @ 2019-01-11 10:48 UTC (permalink / raw)
  To: Yang Zhong, Stefan Hajnoczi; +Cc: QEMU Developers, fam, keith.busch

On 11/01/19 06:46, Yang Zhong wrote:
> On Thu, Jan 10, 2019 at 10:36:37AM +0000, Stefan Hajnoczi wrote:
>> On Thu, Jan 10, 2019 at 04:37:53PM +0800, Yang Zhong wrote:
>>> Do you know if Qemu support NVMe over Fabrics(NVMe-oF)?
>>> https://nvmexpress.org/wp-content/uploads/NVMe_Over_Fabrics.pdf
>>>
>>> The Qemu has enabled RDMA in last year, and i am not sure if Qemu 
>>> should support NVME-oF. If Qemu support it, would you please share
>>> me the qemu related command or guides? thanks a lot!
>>
>> QEMU supports many different storage configurations.  Can you be more
>> specific?
>>
>> For example, if your host has NVMe-oF set up then you can give the NVMe
>> block devices to QEMU just like any other host block device (-drive
>> file=/dev/sdc,...).
>>
>> But maybe you are thinking about other configurations, like exposing
>> NVMe-oF to the guest?
>>
>   Thanks Stefan's comments. We only want Qemu as NVMe-oF initiator to
>   access remote target's resource.
> 
>   I checked the block/nvme.c and hw/block/nvme.c code, which seems do
>   not support NVMe-oF . If i am wrong please correct me.
> 
>   If Qemu support NVMe-oF initiator, please share me how to use it. 
>   If Qemu does not support it, please tell me if community has plan 
>   to implement it. thanks a lot!

QEMU's native NVMe driver only supports NVMe over PCI, but it should be
possible to extract common code if you want to add a native NVMe over
RDMA driver to QEMU.  There are currently no plans to add such a driver,
but it would certainly be a welcome addition.

Paolo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y
  2019-01-11 10:48     ` Paolo Bonzini
@ 2019-01-11 15:58       ` Stefan Hajnoczi
  2019-01-11 16:07         ` Paolo Bonzini
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Hajnoczi @ 2019-01-11 15:58 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Yang Zhong, QEMU Developers, fam, keith.busch

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

On Fri, Jan 11, 2019 at 11:48:52AM +0100, Paolo Bonzini wrote:
> On 11/01/19 06:46, Yang Zhong wrote:
> > On Thu, Jan 10, 2019 at 10:36:37AM +0000, Stefan Hajnoczi wrote:
> >> On Thu, Jan 10, 2019 at 04:37:53PM +0800, Yang Zhong wrote:
> >>> Do you know if Qemu support NVMe over Fabrics(NVMe-oF)?
> >>> https://nvmexpress.org/wp-content/uploads/NVMe_Over_Fabrics.pdf
> >>>
> >>> The Qemu has enabled RDMA in last year, and i am not sure if Qemu 
> >>> should support NVME-oF. If Qemu support it, would you please share
> >>> me the qemu related command or guides? thanks a lot!
> >>
> >> QEMU supports many different storage configurations.  Can you be more
> >> specific?
> >>
> >> For example, if your host has NVMe-oF set up then you can give the NVMe
> >> block devices to QEMU just like any other host block device (-drive
> >> file=/dev/sdc,...).
> >>
> >> But maybe you are thinking about other configurations, like exposing
> >> NVMe-oF to the guest?
> >>
> >   Thanks Stefan's comments. We only want Qemu as NVMe-oF initiator to
> >   access remote target's resource.
> > 
> >   I checked the block/nvme.c and hw/block/nvme.c code, which seems do
> >   not support NVMe-oF . If i am wrong please correct me.
> > 
> >   If Qemu support NVMe-oF initiator, please share me how to use it. 
> >   If Qemu does not support it, please tell me if community has plan 
> >   to implement it. thanks a lot!
> 
> QEMU's native NVMe driver only supports NVMe over PCI, but it should be
> possible to extract common code if you want to add a native NVMe over
> RDMA driver to QEMU.  There are currently no plans to add such a driver,
> but it would certainly be a welcome addition.

Before investing time in doing that, what is the goal?

Is this for test and bring-up of NVMe-oF?  Or why does the guest need to
know that the storage is NVMe-oF?

As I mentioned before, if your host supports NVMe-oF you can simply give
the block device to QEMU and let the guest access it via virtio-blk,
virtio-scsi, NVMe, etc.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y
  2019-01-11 15:58       ` Stefan Hajnoczi
@ 2019-01-11 16:07         ` Paolo Bonzini
  2019-01-11 16:26           ` Keith Busch
  0 siblings, 1 reply; 7+ messages in thread
From: Paolo Bonzini @ 2019-01-11 16:07 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Yang Zhong, QEMU Developers, fam, keith.busch

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

On 11/01/19 16:58, Stefan Hajnoczi wrote:
> On Fri, Jan 11, 2019 at 11:48:52AM +0100, Paolo Bonzini wrote:
>> On 11/01/19 06:46, Yang Zhong wrote:
>>> On Thu, Jan 10, 2019 at 10:36:37AM +0000, Stefan Hajnoczi wrote:
>>>> On Thu, Jan 10, 2019 at 04:37:53PM +0800, Yang Zhong wrote:
>>>>> Do you know if Qemu support NVMe over Fabrics(NVMe-oF)?
>>>>> https://nvmexpress.org/wp-content/uploads/NVMe_Over_Fabrics.pdf
>>>>>
>>>>> The Qemu has enabled RDMA in last year, and i am not sure if Qemu 
>>>>> should support NVME-oF. If Qemu support it, would you please share
>>>>> me the qemu related command or guides? thanks a lot!
>>>>
>>>> QEMU supports many different storage configurations.  Can you be more
>>>> specific?
>>>>
>>>> For example, if your host has NVMe-oF set up then you can give the NVMe
>>>> block devices to QEMU just like any other host block device (-drive
>>>> file=/dev/sdc,...).
>>>>
>>>> But maybe you are thinking about other configurations, like exposing
>>>> NVMe-oF to the guest?
>>>>
>>>   Thanks Stefan's comments. We only want Qemu as NVMe-oF initiator to
>>>   access remote target's resource.
>>>
>>>   I checked the block/nvme.c and hw/block/nvme.c code, which seems do
>>>   not support NVMe-oF . If i am wrong please correct me.
>>>
>>>   If Qemu support NVMe-oF initiator, please share me how to use it. 
>>>   If Qemu does not support it, please tell me if community has plan 
>>>   to implement it. thanks a lot!
>>
>> QEMU's native NVMe driver only supports NVMe over PCI, but it should be
>> possible to extract common code if you want to add a native NVMe over
>> RDMA driver to QEMU.  There are currently no plans to add such a driver,
>> but it would certainly be a welcome addition.
> 
> Before investing time in doing that, what is the goal?
> 
> Is this for test and bring-up of NVMe-oF?  Or why does the guest need to
> know that the storage is NVMe-oF?
> 
> As I mentioned before, if your host supports NVMe-oF you can simply give
> the block device to QEMU and let the guest access it via virtio-blk,
> virtio-scsi, NVMe, etc.

NVMe-OF is an RDMA protocol, basically a different transport for the
NVMe command set and queue abstraction.  It would allow QEMU to access
the device directly (similar to what block/nvme.c does for PCI using
VFIO) without going through the host kernel.  The guest would see the
device as virtio-blk/scsi, NVMe or anything else.

Paolo


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y
  2019-01-11 16:07         ` Paolo Bonzini
@ 2019-01-11 16:26           ` Keith Busch
  0 siblings, 0 replies; 7+ messages in thread
From: Keith Busch @ 2019-01-11 16:26 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Stefan Hajnoczi, Yang Zhong, QEMU Developers, fam

On Fri, Jan 11, 2019 at 05:07:26PM +0100, Paolo Bonzini wrote:
> On 11/01/19 16:58, Stefan Hajnoczi wrote:
> > Before investing time in doing that, what is the goal?
> > 
> > Is this for test and bring-up of NVMe-oF?  Or why does the guest need to
> > know that the storage is NVMe-oF?
> > 
> > As I mentioned before, if your host supports NVMe-oF you can simply give
> > the block device to QEMU and let the guest access it via virtio-blk,
> > virtio-scsi, NVMe, etc.
> 
> NVMe-OF is an RDMA protocol, basically a different transport for the
> NVMe command set and queue abstraction.  It would allow QEMU to access
> the device directly (similar to what block/nvme.c does for PCI using
> VFIO) without going through the host kernel.  The guest would see the
> device as virtio-blk/scsi, NVMe or anything else.
> 
> Paolo

I think there's multiple ways to interpret the original request, and I'm
not sure which is the right one.

If he just wants a guest's backing storage to be an nvmeof target,
then Stefan's response sounds right with qemu abstracted from the
underlying protocol as long as the host supports it.

The other way I interpreted this is he wants a guest to connect to an
nvmeof target. If so, then the guest just needs to be provisioned with an
RDMA NIC or fibre channel, or even a virtio-nic may work if the fabric
target is NVMe-over-TCP. You'd just need a capable nvmeof driver stack
in the guest.

If the request is really to implement a vfio based solution to bypass
the host kernel ... that sounds like an interesting project. :)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-01-11 16:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-10  8:37 [Qemu-devel] If Qemu support NVMe over Fabrics ? Yang Zhong
2019-01-10 10:36 ` Stefan Hajnoczi
2019-01-11  5:46   ` [Qemu-devel] If Qemu support NVMe over Fabrics ?y Yang Zhong
2019-01-11 10:48     ` Paolo Bonzini
2019-01-11 15:58       ` Stefan Hajnoczi
2019-01-11 16:07         ` Paolo Bonzini
2019-01-11 16:26           ` Keith Busch

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.