A storage pool is a file, directory, or storage device managed by libvirt for the purpose of providing storage to virtualized guests. Storage pools are divided into storage volumes that store virtualized guest images or are attached to virtualized guests as additional storage.
Storage pools can be divided up into volumes or allocated directly to a guest. Volumes of a storage pool can be allocated to virtualized guests. There are two categories of storage pool available:
Local storage pools
Local storage pools are directly attached to the host server. Local storage pools include local directories, directly attached disks, and LVM volume groups on local devices.
Local storage pools are useful for development, testing and small deployments that do not require migration or large numbers of virtualized guests. Local storage pools are not suitable for many production environments as local storage pools do not support live migration.
Networked (shared) storage pools
Networked storage pools covers storage devices shared over a network using standard protocols.
Networked storage required for migrating guest virtualized guests between hosts. Networked storage pools are managed by libvirt.
Storage pools are divided into storage volumes. Storage volumes are an abstraction of physical partitions, LVM logical volumes, file-based disk images and other storage types handled by libvirt. Storage volumes are presented to virtualized guests as local storage devices regardless of the underlying hardware.