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, where TIMESTAMP is the current Unix time.

  • By the pair of tags vc-revert=GLOBALID and vc-ts=TIMESTAMP, where GOBALID 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.