<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <h1>Storage management architecture</h1> <p> The storage management APIs are based around 2 core concepts </p> <ol> <li> <strong>Volume</strong> - 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. </li> <li> <strong>Pool</strong> - 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. </li> </ol> <p> These two concepts are mapped through to two libvirt objects, a <code>virStorageVolPtr</code> and a <code>virStoragePoolPtr</code>, each with a collection of APIs for their management. </p> </body> </html>