Skip to main content
Use the ZEDEDA CLI (ZCLI) to manage volumes from the command line. A volume provides storage on an edge node for an edge application to store its working copy, runtime data, and logs, and lets applications on the same node share data with each other. This article covers zcli volume-instance commands, with syntax and examples for each operation. The console GUI calls these resources volumes; the CLI command name is volume-instance.

Before You Start

  • ZCLI is installed and authenticated against your enterprise. See Get Started.
  • You have the SysManager or SysAdmin role in your enterprise. See Manage Roles.
  • The project and the edge node or node cluster that will host the volume already exist. List them with zcli project show, zcli edge-node show, or zcli edge-node-cluster show.
  • For GUI-based volume management, see Volumes Overview, Create Volumes, and Manage Volumes.

Volume Types and Access Modes

The --volume-type flag selects the kind of volume to create. The console GUI exposes the following two types. The CLI also accepts HOSTFS, TMPFS, SECRET, NFS, AWS-BLOCKSTORAGE, and EMPTDIR (an empty directory) for other deployment scenarios. These types are not exposed in the console GUI. The zcli volume-instance --help text lists the empty-directory type as EMTDIR, but ZCLI rejects that spelling. Use EMPTDIR. The --access-mode flag sets the permission applications have on the volume.

Manage Volumes

Create a volume

Create a volume on a single edge node with --edge-node, or on a node cluster with --edge-node-cluster. You must pass exactly one of the two. The --size value is the maximum size in bytes. If you omit --title or --description, ZCLI sets both to the volume name.
Example (block storage volume with a 10 GB maximum size on a single node):
Example (image volume backed by an application image):
Example (block storage volume initialized from an existing image volume on a node cluster):
The volume name is the label that an edge application drive uses to attach the volume. When you define an edge application, add a drive and set its tag to the volume name. EVE-OS (Edge Virtualization Engine) maps the drive to the volume on the node by that tag, so the volume must already exist on the node before the application instance starts. For the GUI procedure, see Attach Volumes to Multiple Applications.

View volumes

Run show with no arguments to list every volume in your enterprise. Pass a name or --uuid to view a single volume, and add --detail for the full configuration and run state. To list the volumes on one node, pass --project together with --edge-node. The --edge-node and --edge-node-cluster filters require --project.
Example (list all volumes):
Example (list the volumes on one node):
Example response:
ZCLI currently does not apply the --edge-node-cluster filter. ZCLI checks that the cluster exists, but zcli volume-instance show --project=MY_PROJECT --edge-node-cluster=MY_CLUSTER returns every volume in MY_PROJECT.
Example (match volumes by name substring):
Example (show one volume in detail):
Example response:

Update a volume

You can update only the title and description of a volume. The name, type, access mode, size, and assigned node cannot be changed after creation. If you pass neither flag, ZCLI reports that there is nothing to update.
Example:

Delete a volume

Deleting a volume releases its storage on the node. A volume cannot be deleted while it is attached to more than one application instance; detach it from those applications first. Without -f, ZCLI prompts you to confirm.
Example:
Example response:
The -f flag forces deletion without a confirmation prompt.

Next Steps

Create Volumes

Create image and block storage volumes using the console GUI.

Manage Volumes

View, update, and delete volumes using the console GUI.

Attach Volumes to Multiple Applications

Share one block storage volume between edge applications on the same node.

Overview

All ZCLI command procedures, organized by resource type.