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

Do not always ask libvirt to refresh storage pools

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • Future
    • 4.5.0
    • KVM
    • Security Level: Public (Anyone can view this level - this is the default.)

    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

            widodh Wido den Hollander
            widodh Wido den Hollander
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: