Bug 1884667

Summary: RFE: qemu-storage-daemon volume XML
Product: Red Hat Enterprise Linux 9 Reporter: Stefan Hajnoczi <stefanha>
Component: libvirtAssignee: Peter Krempa <pkrempa>
libvirt sub component: Storage QA Contact: Meina Li <meili>
Status: CLOSED MIGRATED Docs Contact:
Severity: medium    
Priority: medium CC: aliang, coli, dyuan, jsuchane, kwolf, lmen, pkrempa, qinwang, rjones, smitterl, timao, vgoyal, virt-maint, xuzhang, yalzhang, ymankad
Version: 9.0Keywords: FutureFeature, MigratedToJIRA, Triaged
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-22 16:27:11 UTC Type: Story
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stefan Hajnoczi 2020-10-02 15:38:01 UTC
Please add support for defining volumes hosted by qemu-storage-daemon.

qemu-storage-daemon is a program that exports disk images. Support for NBD, vhost-user-blk, and FUSE is becoming available. The daemon also has a QMP monitor with block job commands.

qemu-storage-daemon can be used with any hypervisor that supports one of the exports types. For example both QEMU and Cloud Hypervisor could open a FUSE file.

The main use case is running block device emulation in a separate process from the VMM. This will be done using vhost-user-blk because it offers the best performance.

Examples:

1. One qemu-storage-daemon with a --blockdev nvme (userspace NVMe PCI driver) that is split into multiple volumes using QEMU's --blockdev raw,offset=OFFSET,size=SIZE feature. This allows multiple guests to share a single NVMe PCI device while using the high-performance userspace NVMe driver. In this case the qemu-storage-daemon's lifetime can exceed that of individual VMs' since multiple QEMUs connect to the qemu-storage-daemon.

2. One qemu-storage-daemon per disk image. This allows tighter sandboxing/security policies for the QEMU and qemu-storage-daemon processes, because the QEMU process doesn't need to do disk I/O and the qemu-storage-daemon process does do KVM virtualization, networking, etc. In this case the qemu-storage-daemon's lifetime matches the VM's and this could be implement like the vhost-user-gpu/fs devices.

Comment 2 John Ferlan 2021-09-08 13:30:11 UTC
Bulk update: Move RHEL-AV bugs to RHEL9. If necessary to resolve in RHEL8, then clone to the current RHEL8 release.

Comment 4 Kevin Wolf 2022-03-17 07:41:34 UTC
Peter, should this be assigned to you? Is it still realistic for 9.1? Maybe it doesn't have to be stable yet by then because the vhost-user-blk block driver on the QEMU side won't be ready anyway, but I guess using NBD the majority of the work could already be done (or of course with vhost-user-blk to be passed directly to a virtio-blk guest device instead of going through a universal block driver).

Either way we should make sure that the stale bot doesn't close it as we have agreed that we need this in the future. Moving it to the storage SST pool so that we keep it on the radar.

Comment 8 Meina Li 2023-07-11 02:52:54 UTC
Hi peter,

AFAIK, we may use a different bug for QSD integration work. This one will likely be closed. Has our new bug been created? Because the stale date of this bug will be coming, we may need to have a new bug before that or extend the stale date. Please help to check it. Thanks.

Comment 9 Jaroslav Suchanek 2023-07-11 10:47:31 UTC
Bumping stale date.

Comment 10 RHEL Program Management 2023-09-22 16:18:29 UTC
Issue migration from Bugzilla to Jira is in process at this time. This will be the last message in Jira copied from the Bugzilla bug.

Comment 11 Red Hat Bugzilla 2024-01-21 04:25:10 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days