Sys::Virt::StoragePool - Represent & manage a libvirt storage pool
The Sys::Virt::StoragePool module represents a storage pool managed by libvirt. There are a variety of storage pool implementations for LVM, Local directories/filesystems, network filesystems, disk partitioning, iSCSI, and SCSI.
Sys::Virt::StoragePool
Returns a 16 byte long string containing the raw globally unique identifier (UUID) for the storage pool.
Returns a printable string representation of the raw UUID, in the format 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'.
Returns a string with a locally unique name of the storage pool
Returns a true value if the storage pool is currently running
Returns a true value if the storage pool has a persistent configuration file defined
Returns an XML document containing a complete description of the storage pool's configuration
Start a storage pool whose configuration was previously defined using the define_storage_pool method in Sys::Virt.
define_storage_pool
Remove the configuration associated with a storage pool previously defined with the define_storage pool method in Sys::Virt. If the storage pool is running, you probably want to use the shutdown or destroy methods instead.
define_storage pool
shutdown
destroy
Immediately terminate the machine, and remove it from the virtual machine monitor. The $pool handle is invalid after this call completes and should not be used again.
$pool
Return a true value if the storage pool is configured to automatically start upon boot. Return false, otherwise
Set the state of the autostart flag, which determines whether the storage pool will automatically start upon boot of the host OS
Refresh the storage pool state. Typically this will rescan the list of storage volumes. The $flags parameter is currently unused and if omitted defaults to zero.
$flags
Construct the storage pool if it does not exist. As an example, for a disk based storage pool this would ensure a partition table exists. The $flags parameter allows control over the build operation and if omitted defaults to zero.
Delete the storage pool. The $flags parameter allows the data to be optionally wiped during delete and if omitted defaults to zero.
Retrieve information about the current storage pool state. The returned hash reference has the following keys
The current status of the storage pool. See constants later.
The total logical size of the storage pool
The current physical allocation of the storage pool
The available space for creation of new volumes. This may be less than the difference between capacity & allocation if there are sizing / metadata constraints for volumes
Return the number of running volumes in this storage pool. The value can be used as the maxnames parameter to list_storage_vol_names.
maxnames
list_storage_vol_names
Return a list of all volume names in this storage pool. The names can be used with the get_volume_by_name method.
get_volume_by_name
Return a list of all volumes in the storage pool. The elements in the returned list are instances of the Sys::Virt::StorageVol class. This method requires O(n) RPC calls, so the list_all_volumes method is recommended as a more efficient alternative.
list_all_volumes
Return a list of all storage volumes associated with this pool. The elements in the returned list are instances of the Sys::Virt::StorageVol class. The $flags parameter can be used to filter the list of return storage volumes.
Return the volume with a name of $name. The returned object is an instance of the Sys::Virt::StorageVol class.
$name
Create a new volume based on the XML description passed into the $xml parameter. The returned object is an instance of the Sys::Virt::StorageVol class. If the optional clonevol is provided, data will be copied from that source volume
$xml
clonevol
Create a new volume based on the XML description passed into the $xml parameter. The returned object is an instance of the Sys::Virt::StorageVol class. The new volume will be populated with data from the specified clone source volume.
The following sets of constants may be useful in dealing with some of the methods in this package
The following constants are useful for interpreting the state key value in the hash returned by get_info
state
get_info
The storage pool is not currently active
The storage pool is still being constructed and is not ready for use yet.
The storage pool is running and can be queried for volumes
The storage pool is running, but its operation is degraded due to a failure.
The storage pool is not currently accessible
Delete the pool without any attempt to scrub data
Fill the allocated storage with zeros when deleting
Construct a new storage pool from constituent bits
Resize an existing built storage pool preserving data where appropriate
Repair an existing storage pool operating in degraded mode
Do not overwrite existing storage pool data
Overwrite existing storage pool data
When creating a storage pool it can be built at the same time. The following values are therefore close to their BUILD counterparts.
Just create the storage pool without building it.
When creating new storage pool also perform pool build without any flags.
Create the pool and perform pool build using the BUILD_OVERWRITE flag. This is mutually exclusive to CREATE_WITH_BUILD_NO_OVERWRITE.
Create the pool and perform pool build using the BUILD_NO_OVERWRITE flag. This is mutually exclusive to CREATE_WITH_BUILD_OVERWRITE.
The following constants are useful when requesting XML for storage pools
Return XML describing the inactive state of the storage pool.
The following constants are used to filter object lists
Include storage pools which are active
Include storage pools which are inactive
Include storage pools which are marked for autostart
Include storage pools which are not marked for autostart
Include storage pools which are persistent
Include storage pools which are transient
Include directory storage pools
Include disk storage pools
Include filesytem storage pools
Include iSCSI storage pools
Include LVM storage pools
Include multipath storage pools
Include network filesystem storage pools
Include RBD storage pools
Include SCSI storage pools
Include sheepdog storage pools
Include gluster storage pools
Include ZFS storage pools
Daniel P. Berrange <berrange@redhat.com>
Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2009 Daniel P. Berrange
This program is free software; you can redistribute it and/or modify it under the terms of either the GNU General Public License as published by the Free Software Foundation (either version 2 of the License, or at your option any later version), or, the Artistic License, as specified in the Perl README file.
Sys::Virt, Sys::Virt::Error, http://libvirt.org
http://libvirt.org
To install Sys::Virt, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sys::Virt
CPAN shell
perl -MCPAN -e shell install Sys::Virt
For more information on module installation, please visit the detailed CPAN module installation guide.