VolumeCare control tool
Note
In older storpool versions the storpool_vcctl
tool is in the
/root/storpool/volumecare
directory.
About
To control VolumeCare, StorPool provides the storpool_vcctl
tool. It is used
in the following way:
usage: storpool_vcctl [-h] [-C CONFIGFILE] {show,list,status,revert} ...
The available sub-commands are described in the following sections.
config
Show the present configuration:
usage: storpool_vcctl config show
Edit the configuration:
usage: storpool_vcctl config edit
The above opens an editor and validates the configuration before overwriting the present config in the key-value store. For details about VolumeCare’s configuration options, see Configuration options and Retention policies.
show
usage: storpool_vcctl show vm VMTAG=VMID
storpool_vcctl show volume VOLUME
This sub-command shows the snapshots created for a volume or virtual machine. Below are two examples:
# storpool_vcctl show volume test
volume: test (loc) -- stopgap-short
State ID: 1581928784 -- spvc___1581928784___loc___test (loc) -- stopgap-short -- 2020-02-17 10:39:44 (0h 12m ago)
State ID: 1581925184 -- spvc___1581925184___loc___test (loc) -- stopgap-short -- 2020-02-17 09:39:44 (1h 12m ago)
State ID: 1581921584 -- spvc___1581921584___loc___test (loc) -- stopgap-short -- 2020-02-17 08:39:44 (2h 12m ago)
test (loc) total: 3; local: 3; remote: 0
Here you can see three snapshots for a single volume, 1 hour apart.
# storpool_vcctl show vm nvm=2
vm: nvm=2 (loc) -- stopgap-short
State ID: 1581928784 -- NVM 2 @ 1581928784 (loc) -- volumes: test5, test6, test7, test8 -- stopgap-short -- 2020-02-17 10:39:44 (0h 9m ago)
State ID: 1581925184 -- NVM 2 @ 1581925184 (loc) -- volumes: test5, test6, test7, test8 -- stopgap-short -- 2020-02-17 09:39:44 (1h 9m ago)
State ID: 1581921584 -- NVM 2 @ 1581921584 (loc) -- volumes: test5, test6, test7, test8 -- stopgap-short -- 2020-02-17 08:39:44 (2h 9m ago)
nvm=2 (loc) total: 3; local: 3; remote: 0
In this example, the orchestration uses the nvm
tag to mark the volumes
belonging to a virtual machine. The status shows that there are 4 drives on
the VM, and they have 3 previous snapshots, 1 hour apart.
list
usage: storpool_vcctl list {volumes,vms,policies}
This sub-command lists the affected volumes, VMs and active policies. Examples:
# storpool_vcctl list vms
cvm=1 (loc)
cvm=1024 (loc)
nvm=1 (loc)
nvm=2 (loc)
A setup of three VMs, two identified with nvm
tag and one with a cvm
tag.
# storpool_vcctl list volumes
bridge-test (loc)
company-test (loc)
one-img-9 (loc)
35f12f61-5c43-48f1-8036-3b3c254e8a54 (loc)
one-img-93 (loc)
one-img-94 (loc)
one-img-95 (loc)
one-img-96 (loc)
one-img-97 (loc)
one-img-98 (loc)
8a293540-33fc-4f33-8aa2-a761cbe0684e (loc)
This is a short list of the standalone volumes the service takes care of.
# storpool_vcctl list policies
[policy:stopgap-short]
mode=stopgap
snapshots=3
interval=1
[policy:cust-main]
mode=exp
[policy:no]
mode=nosnap
[policy:keep-daily]
mode=keep-daily
interval=2
days=7
status
This sub-command is the same as show
for all VMs and volumes.
node info
Shows information for the VolumeCare daemon running on the node. Json output available with -J/--json
.
# storpool_vcctl nodeinfo
package version: 1.27
running version: 1.27
config in StorPool KVS: True
pid: 3531823
status: active
The active status indicates whether the daemon on this node is the active one.
revert
For a specific volume revert (OpenNebula) check Revert OpenNebula volume from a snapshot.
Warning
Make sure you have read and understood the implications before using this command.
usage: storpool_vcctl revert [-h] {rename,delete} {volume,vm} ...
storpool_vcctl revert {rename,delete} vm [-N] vm_id state_id
storpool_vcctl revert {rename,delete} volume [-N] volume_id state_id
This sub-command reverts a specified volume or VM to a previous state. Consider the following constraint: the volumes must not be attached to any node.
The first argument (rename
or delete
) specifies what will be done
to the existing volumes that will be reverted:
- rename
Snapshot the volumes before reverting. If a virtual machine with multiple volumes is being reverted an atomic group snapshot will be created. You can recognize these snapshots in one of the following ways:
By their name in the
vcrevert_VOLUMENAME_TIMESTAMP
format, whereTIMESTAMP
is the current Unix time.By the pair of tags
vc-revert=GLOBALID
andvc-ts=TIMESTAMP
, whereGOBALID
is the StorPool global ID of the volume.
Anonymous (unnamed) volumes will have anonymous tagged snapshots, while named volumes will have named snapshots.
Note
These snapshots have to be removed manually.
- delete
Only revert the volumes, effectively deleting the current data.
Note
Use delete only if you are absolutely sure you will not need the current data stored in the volumes.
A state is defined by an Unix timestamp and can be obtained via the list
sub-command.
The -N
option will not do any changes, but will report what will be done. It is
strongly recommended to run every command first with -N
, to make sure it
does what is expected.