Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-7641

Do not always ask libvirt to refresh storage pools

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Future
    • Fix Version/s: 4.5.0
    • Component/s: KVM
    • Security Level: Public (Anyone can view this level - this is the default.)
    • Labels:

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              widodh Wido den Hollander
              Reporter:
              widodh Wido den Hollander

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment