QEMU has the ability to directly connect to iSCSI volumes. Running the iSCSI connections through the nova-compute host *seems* somewhat inefficient.
There is a spec/blueprint and implementation that landed in Kilo: https://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/qemu-built-in-iscsi-initiator.html https://blueprints.launchpad.net/nova/+spec/qemu-built-in-iscsi-initiator >From looking at the OpenStack Nova sources ... I am not entirely clear on when this behavior is invoked (just for Ceph?), and how it might change in future. Looking for a general sense where this is headed. (If anyone knows...) If there is some problem with QEMU and directly attached iSCSI volumes, that would explain why this is not the default. Or is this simple inertia? I have a concrete concern. I work for a company (EMC) that offers backup products, and we now have backup for instances in OpenStack. To make this efficient, we need to collect changed-block information from instances. 1) We could put an intercept in the Linux kernel of the nova-compute host to track writes at the block layer. This has the merit of working for containers, and potentially bare-metal instance deployments. But is not guaranteed for instances, if the iSCSI volumes are directly attached to QEMU. 2) We could use the QEMU support for incremental backup (first bit landed in QEMU 2.4). This has the merit of working with any storage, by only for virtual machines under QEMU. As our customers are (so far) only asking about virtual machine backup. I long ago settled on (2) as most promising. What I cannot clearly determine is where (1) will fail. Will all iSCSI volumes connected to QEMU instances eventually become directly connected? Xiao's unanswered query (below) presents another question. Is this a site-choice? Could I require my customers to configure their OpenStack clouds to always route iSCSI connections through the nova-compute host? (I am not a fan of this approach, but I have to ask.) To answer Xiao's question, can a site configure their cloud to *always* directly connect iSCSI volumes to QEMU? On Tue, Feb 16, 2016 at 4:54 AM, Xiao Ma (xima2) <xi...@cisco.com> wrote: > Hi, All > > I want to make the qemu communicate with iscsi target using libiscsi > directly, and I > followed https://review.openstack.org/#/c/135854/ to add > 'volume_drivers = iscsi=nova.virt.libvirt.volume.LibvirtNetVolumeDriver’ > in nova.conf > and then restarted nova services and cinder services, but still the > volume configuration of vm is as bellow: > > <disk type='block' device='disk'> > <driver name='qemu' type='raw' cache='none'/> > <source > dev='/dev/disk/by-path/ip-10.75.195.205:3260-iscsi-iqn.2010-10.org.openstack:volume-076bb429-67fd-4c0c-9ddf-0dc7621a975a-lun-0'/> > <target dev='vdb' bus='virtio'/> > <serial>076bb429-67fd-4c0c-9ddf-0dc7621a975a</serial> > <address type='pci' domain='0x0000' bus='0x00' slot='0x06' > function='0x0'/> > </disk> > > > I use centos7 and Liberty version of OpenStack. > Could anybody tell me how can I achieve it? > > > Thanks. >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev