[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y
From: |
Keith Busch |
Subject: |
Re: [Qemu-devel] If Qemu support NVMe over Fabrics ?y |
Date: |
Fri, 11 Jan 2019 09:26:42 -0700 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
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. :)