Libvirt: Detaching volume from instance on host with many attached volumes is very slow
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Invalid
|
Undecided
|
Unassigned | ||
OpenStack Compute (nova) |
Expired
|
Undecided
|
Unassigned |
Bug Description
When many volumes are attached to instances on the same compute host (with multipath enabled), volume detach is very slow and get slower as more volumes are attached.
For example:
1. compute1 is a compute node with instance1 and instance2.
2. instance1 has 10 volumes attached while instance2 has a single volume attached.
3. Issue a detach for the volume attached to instance2
4. Nova spends >20 minutes executing the 'multipath -ll' command for every device on the hypervisor
5. Finally the detach completes successfully
The following log is output in n-cpu many, many times during the detach call. Repeated many times for each volume device.
http://
Environment details:
nova.conf virt driver
[libvirt]
iscsi_use_multipath = True
vif_driver = nova.virt.
inject_partition = -2
live_migration_uri = qemu+ssh:
use_usb_tablet = False
cpu_mode = none
virt_type = kvm
cinder.conf backend
[eseries]
volume_backend_name = eseries
volume_driver = cinder.
netapp_
netapp_
netapp_
netapp_server_port = 8081
netapp_
netapp_
netapp_login = rw
netapp_password = xx
netapp_
use_multipath_
netapp_sa_password = password
netapp_
tags: | added: volumes |
tags: | added: libvirt netapp |
Changed in cinder: | |
status: | Incomplete → Invalid |
Is this reproducable with an open source backend?