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.