NAME¶
Sys::Virt::StorageVol - Represent & manage a libvirt storage volume
DESCRIPTION¶
The "Sys::Virt::StorageVol" module represents a storage volume managed
by libvirt. A storage volume is always associated with a containing storage
pool ("Sys::Virt::StoragePool").
METHODS¶
- my $name = $vol->get_name()
- Returns a string with a locally unique name of the storage vol
- my $name = $vol->get_key()
- Returns a string with a globally unique key for the storage vol
- my $name = $vol->get_path()
- Returns a string with a locally unique file path of the storage vol
- my $xml = $vol->get_xml_description()
- Returns an XML document containing a complete description of the storage
vol's configuration
- $vol->delete($flags)
- Immediately delete the storage volume freeing its storage resources. The
"flags" parameter indicates any special action to be taken when
deleting the volume.
- $vol->resize($newcapacity, $flags=0)
- Adjust the size of the storage volume. The $newcapacity value semantics
depend on the $flags parameter. If $flags specifies
"RESIZE_DELTA" then the $newcapacity is relative to the current
size. If $flags specifies "RESIZE_SHRINK" then the $newcapacity
value is the amount of space to remove
- $vol->wipe($flags = 0)
- Clear the data in the storage volume to avoid future information leak. The
"flags" parameter is currently unused and defaults to zero.
- $vol->wipe_pattern($algorithm, $flags = 0)
- Clear the data in the storage volume to avoid future information leak. The
$algorithm parameter specifies the data pattern used to erase data, and
should be one of the WIPE ALGORITHM CONSTANTS listed later. The
"flags" parameter is currently unused and defaults to zero.
- my $info = $vol->get_info()
- Retrieve live information about the storage volume. The returned $info
hash reference contains three keys. "type" indicates whether the
volume is a file or block device. "capacity" provides the
maximum logical size of the volume. "allocation" provides the
current physical usage of the volume. The allocation may be less than the
capacity for sparse, or grow-on-demand volumes. The allocation may also be
larger than the capacity, if there is a metadata overhead for the volume
format.
- $vol->download($st, $offset, $length);
- Download data from $vol using the stream $st. If $offset and $length are
non-zero, then restrict data to the specified volume byte range.
- $vol->upload($st, $offset, $length);
- Upload data to $vol using the stream $st. If $offset and $length are
non-zero, then restrict data to the specified volume byte range.
CONSTANTS¶
The following sets of constants are useful when dealing with storage volumes
VOLUME TYPES¶
The following constants are useful for interpreting the "type" field
in the hash returned by the "get_info" method
- Sys::Virt::StorageVol::TYPE_FILE
- The volume is a plain file
- Sys::Virt::StorageVol::TYPE_BLOCK
- The volume is a block device
- Sys::Virt::StorageVol::TYPE_DIR
- The volume is a directory
- Sys::Virt::StorageVol::TYPE_NETWORK
- The volume is a network source
- Sys::Virt::StorageVol::TYPE_NETDIR
- The volume is a network directory
CREATE MODES¶
The following constants are useful for the "flags" parameter of the
"create" method
- Sys::Virt::StorageVol::CREATE_PREALLOC_METADATA
- Preallocate header metadata when creating the volume.
DELETE MODES¶
The following constants are useful for the "flags" parameter of the
"delete" method
- Sys::Virt::StorageVol::DELETE_NORMAL
- Do a plain delete without any attempt to scrub data.
- Sys::Virt::StorageVol::DELETE_ZEROED
- Zero out current allocated blocks when deleteing the volume
WIPE ALGORITHM CONSTANTS¶
The following constants specify the algorithm for erasing data
- Sys::Virt::StorageVol::WIPE_ALG_BSI
- 9-pass method recommended by the German Center of Security in Information
Technologies
- Sys::Virt::StorageVol::WIPE_ALG_DOD
- 4-pass Dod 5220.22-M section, 8-306 procedure
- Sys::Virt::StorageVol::WIPE_ALG_GUTMANN
- The canonical 35-pass sequence
- Sys::Virt::StorageVol::WIPE_ALG_NNSA
- 4-pass NNSA Policy Letter NAP-14.1-C (XVI-8)
- Sys::Virt::StorageVol::WIPE_ALG_PFITZNER7
- 7-pass random
- Sys::Virt::StorageVol::WIPE_ALG_PFITZNER33
- 33-pass random
- Sys::Virt::StorageVol::WIPE_ALG_RANDOM
- 1-pass random
- Sys::Virt::StorageVol::WIPE_ALG_SCHNEIER
- 7-pass method described by Bruce Schneier in "Applied
Cryptography" (1996)
- Sys::Virt::StorageVol::WIPE_ALG_ZERO
- 1-pass, all zeroes
VOLUME RESIZE CONSTANTS
The following constants control how storage volumes can be resized
- Sys::Virt::StorageVol::RESIZE_ALLOCATE
- Fully allocate the extra space required during resize
- Sys::Virt::StorageVol::RESIZE_DELTA
- Treat the new capacity as a delta to the current capacity
- Sys::Virt::StorageVol::RESIZE_SHRINK
- Treat the new capacity as an amount to remove from the capacity
AUTHORS¶
Daniel P. Berrange <berrange@redhat.com>
COPYRIGHT¶
Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2009 Daniel P. Berrange
LICENSE¶
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.
SEE ALSO¶
Sys::Virt, Sys::Virt::Error, "
http://libvirt.org"