[Libvir] Concepts in storage management

Mark McLoughlin markmc at redhat.com
Wed Oct 17 13:55:21 UTC 2007

Hi Dan,
	FWIW, this looks pretty much spot on to me ... I'm not sure there's a
lot to discuss :-)

On Tue, 2007-10-16 at 16:19 +0100, Daniel P. Berrange wrote:

> Application users
> =================
>  - virt-manager / virt-install
>     - Enumerate available pools
>     - Allocate volume from pool
>     - Create guest with volume

	Nice that you list these and concentrate on them.

> Two core concepts
>  - Volume
>     - a chunk of storage
>     - assignable to a guest
>     - assignable to a pool
>     - optionally part of a pool
>  - Pool
>     - a chunk of storage
>     - contains free space
>     - allocate to provide volumes
>     - compromised of volumes
> Recursive! 
>   n x Volume -> Pool -> n x Volume 
> Nesting to many levels...

	Hmm, I'd try and avoid the confusion associated with this nesting
concept ...

	What kind of uses for it are you thinking? 

	(e.g. something like allocate a big raw sparse volume, create a pool
from it and and then allocate volumes from that pool?)

	Is it that you need to somehow represent the storage that a pool can
allocate from and that that winds up being similar to how you represent
storage that is assignable to a pool?

	If that's the case, maybe fold the concept of "what a pool allocates
from" into the pool concept and make the volume concept just about "what
are assignable to guests".

> Operations
> ==========
> Limited set of operations to perform
>  - List host volumes   (physical attached devices)
>  - List pools          (logical volume groups, partitioned devs, filesystems)
>  - List pool volumes   (dev partitions, LVM logical volumes, files)

	Perhaps there should be a default pool for each host so that to list
host volumes you just list the volumes from the default pool?


More information about the libvir-list mailing list