You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/09/28 21:01:34 UTC

[jira] [Commented] (CLOUDSTACK-7641) Do not always ask libvirt to refresh storage pools

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-7641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14151181#comment-14151181 ] 

ASF subversion and git services commented on CLOUDSTACK-7641:
-------------------------------------------------------------

Commit b53a9dcc9f3ee95d40761b9c2c860f821595a661 in cloudstack's branch refs/heads/master from [~widodh]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=b53a9dc ]

CLOUDSTACK-7641: Do not always ask libvirt to refresh a storage pool

On larger (especially RBD) storage pools this can take a lot of
time slowing operations like creating volumes down.

The getStorageStats command will still ask a pool to be refreshed so
that the management server has accurate information about the storage pools.

On larger deployments, with thousands of volumes in one pool, this should
significantly improve storage related operations


> Do not always ask libvirt to refresh storage pools
> --------------------------------------------------
>
>                 Key: CLOUDSTACK-7641
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7641
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: KVM
>    Affects Versions: Future
>            Reporter: Wido den Hollander
>            Assignee: Wido den Hollander
>            Priority: Minor
>              Labels: ceph, libvirt, rbd
>             Fix For: 4.5.0
>
>
> When getStoragePool() in the LibvirtStorageAdapter is called it asks libvirt for information regarding that storage pool.
> In the process the StorageAdapter asks libvirt to 'refresh' the storage pool.
> Refreshing a storage pool means that libvirt will scan the whole pool and get information about all the volumes which it then caches.
> getStoragePool() is called for almost every storage operation in KVM and that causes delays.
> On big (RBD) storage pools such a refresh can take up to 2 or 3 minutes.
> The StatsCollector in the Management Server asks all the hosts about the storage pools as well, so we should only refresh the pool when the StatsCollector wants storage statistics.
> This way we keep the information in libvirt up to date, but we also speed up storage tasks on KVM.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)