Storage management architecture
The storage management APIs are based around 2 core concepts
-
Volume - a single storage volume which can
be assigned to a guest, or used for creating further pools. A
volume is either a block device, a raw file, or a special format
file.
-
Pool - provides a means for taking a chunk
of storage and carving it up into volumes. A pool can be used to
manage things such as a physical disk, a NFS server, a iSCSI target,
a host adapter, an LVM group.
These two concepts are mapped through to two libvirt objects, a
virStorageVolPtr
and a virStoragePoolPtr
,
each with a collection of APIs for their management.