Activity log for bug #1362513

Date Who What changed Old value New value Message
2014-08-28 09:37:34 Shen Wang bug added bug
2014-08-28 09:53:39 Shen Wang description Tested OpenStack version: IceHouse 2014.1, master branch still has this issue. Host version: CentOS 6, 2.6.32-431.el6.x86_64 I have done some work to test the performance of LUN scanning with multipath, use the way like what Nova dose. In my test, The host connected with almost 900 LUNs. First, I use 'iscsiadm' with '--rescan' to discover LUNs. Second, I use 'multipath -r' to construct multipath devices. The tow steps scans all of the LUNs, and costs more then 2 minutes. According to "connect_volume" in nova.virt.libvirt.volume.py: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume.py#L252, Nova also uses the tow steps to detect new multipath volume, this tow will scan all of the LUNs, including all the others which already connected. So if a host has a large number of LUNs connected to it, the connect_volume will be very slow. I think connect_volume needn't scan all of the LUNs, only need scan the LUN specified by connection_info. Tested OpenStack version: IceHouse 2014.1, master branch still has this issue. Host version: CentOS 6, 2.6.32-431.el6.x86_64 I have done some work to test the performance of LUN scanning with multipath, use the way like what Nova dose. In my test, The host connected with almost 900 LUNs. First, I use 'iscsiadm' with '--rescan' to discover LUNs. Second, I use 'multipath -r' to construct multipath devices. The two steps scans all of the LUNs, and costs more then 2 minutes. According to "connect_volume" in nova.virt.libvirt.volume.py: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume.py#L252, Nova also uses the tow steps to detect new multipath volume, this tow will scan all of the LUNs, including all the others which already connected. So if a host has a large number of LUNs connected to it, the connect_volume will be very slow. I think connect_volume needn't scan all of the LUNs, only need scan the LUN specified by connection_info.
2014-08-28 10:05:48 Shen Wang summary libvirt: connect_volume scans all LUNs, it will be very slow with a large number of volumes libvirt: connect_volume scans all LUNs, which takes >2 mins when host is connected with about 900 Luns
2014-08-28 10:20:54 Shen Wang description Tested OpenStack version: IceHouse 2014.1, master branch still has this issue. Host version: CentOS 6, 2.6.32-431.el6.x86_64 I have done some work to test the performance of LUN scanning with multipath, use the way like what Nova dose. In my test, The host connected with almost 900 LUNs. First, I use 'iscsiadm' with '--rescan' to discover LUNs. Second, I use 'multipath -r' to construct multipath devices. The two steps scans all of the LUNs, and costs more then 2 minutes. According to "connect_volume" in nova.virt.libvirt.volume.py: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume.py#L252, Nova also uses the tow steps to detect new multipath volume, this tow will scan all of the LUNs, including all the others which already connected. So if a host has a large number of LUNs connected to it, the connect_volume will be very slow. I think connect_volume needn't scan all of the LUNs, only need scan the LUN specified by connection_info. Tested OpenStack version: IceHouse 2014.1, master branch still has this issue. Host version: CentOS 6, 2.6.32-431.el6.x86_64 I have done some work to test the performance of LUN scanning with multipath, use the way like what Nova dose. In my test, The host was connected with almost 900 LUNs. 1. I use 'iscsiadm' with '--rescan' to discover LUNs, which takes almost 15s. It seems '--rescan' cause kernel to rescan all the LUNs which has already been connected to the host. 2. I use 'multipath -r' to construct multipath devices, which takes almost 2 minutes. I found that 'multipath -r' will reconstructs all multipath devices against the LUNs The two steps scans all of the LUNs, and totally costs more then 2 minutes. According to "connect_volume" in nova.virt.libvirt.volume.py: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume.py#L252, Nova also uses the tow steps to detect new multipath volume, this two steps will scan all of the LUNs, including all the others which already connected. So if a host has a large number of LUNs connected to it, the connect_volume will be very slow. I think connect_volume needn't scan all of the LUNs, only need scan the LUN specified by connection_info.
2014-08-29 01:50:19 Shen Wang tags libvirt
2014-09-10 12:03:49 Sean Dague nova: status New Opinion
2014-09-10 12:03:54 Sean Dague nova: importance Undecided Wishlist
2014-09-26 02:47:09 Shen Wang nova: status Opinion In Progress
2014-09-26 02:47:09 Shen Wang nova: assignee Shen Wang (peter.w)
2015-02-12 16:25:33 Davanum Srinivas (DIMS) nova: status In Progress Confirmed
2015-02-12 16:25:46 Davanum Srinivas (DIMS) nova: assignee Shen Wang (peter.w)
2015-03-31 04:46:47 Keiichi KII bug added subscriber Keiichi KII
2016-05-17 17:00:12 Markus Zoeller (markus_z) nova: status Confirmed Opinion