* [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.