Introduction
Storage is presented to the application instances in the form of virtual disks which are backed by volume instances. Volume instances are typically created from an image but can also be created as blank/empty.
Types of Volumes
Currently, most of the users follow the below process:
- Download the immutable (cannot modify/edit) application image (for example, Ubuntu ISO).
- Create the volume on the Edge Node.
- Deploy the application instance (for example, a virtual disk image).
- Boot the mutable application instance.
Download, verification, and volume creation processes take more time in case of internet issues or low bandwidth.
ZEDEDA solves these issues and helps spawn the application instance in seconds. Provides real-time application deployment by specifying the appropriate tags. Thus internet issues or low bandwidth are not a problem anymore. Following are types of volume instances:
- Content Tree–A type of volume instance that downloads the application image. This application image is also known as immutable volume. This immutable volume is selected in block storage to convert into mutable volume and then deployed to the application instance on the edge node.
- Block Storage–A type of volume instance that converts the immutable application image to a mutable application image. For example, converting an ISO image to a virtual disk image. The mutable application image is then spawned to run applications etc.,
- Blank Storage–A type of volume instance that is blank. The user deploys an application instance on the edge node. Mounts the data disc (volume) to some directory inside the application instance to write some data to the disc or read from the disc. Here, the data disc is available, but the application instance is not using it. This volume instance is used when the user doesn't care about the disc.
Note Persistent Volume–A data disc attached to an application instance is not dependent on the application instance lifecycle.
The user can evaluate and choose from the following use case examples:
Use Case 1:
Type–Content Tree:
Example: The user ships the Edge Node with the appropriate application pre-downloaded. This process avoids the bandwidth usage and time taken to download the same in a remote location. If the user can solve their problem by creating a content tree type of volume instance, it is unnecessary to select other volume instances.
Use Case 2:
Type–Block Storage:
Example: To create the block storage, a content tree is necessary. The user at the desired location chooses the Edge Node with the appropriate content tree image. If the chosen Edge Node does not have a content tree image, then blank storage is created and attached to the Edge Node.
Use Case 3:
Type–Blank Storage:
Example: The user does not want to deploy the application instance on the go. However, a blank volume can be created on the Edge Node. This volume is available with no application instance(s) using it. Bandwidth is not consumed in this case but reduces the operation execution time.
The following sections detail the operations of all three types of volume instances:
List View
After you log in to ZedControl:
- Step 1 > Click on the 'Library' () icon from the left navigation.
- Step 2 > Select 'Volume Instances' from the top navigation bar.
- Step 3 > Click on the expand () icon to view the summary panel.
Summary Panel shows the total number of application images as 'Volume Instances Run State Distribution' and 'Volume Instances Type Distribution' widgets in the donut view. You can hover around these donuts to get the number in each distribution.
Detail View
- Step 1 > Click on any of the Volume Instances in the list view to show the detailed view of the same.
The detail view has tertiary navigation with the 'Status' and 'Basic info' tabs.
Operations using the ZEDEDA GUI
The following are the Volume Instances operations:
Create
The create operation can be performed in the volume instances list view only. After you log in to ZedControl, create a volume instance using the following steps:
- Step 1 > Click on the Add () icon
- Step 2 > Populate the input field values for the 'Identity' section, as instructed in the table.
- Step 3 > Populate the input field values for the 'Details' section.
- Step 3a > Populate the 'Content Tree' type of volume instance parameters, as instructed in the table.
Identity section
Define the basic identification details of the volume instance.
Input Field | Value |
Name(*) |
This is unique across the enterprise and cannot be changed.
|
Title(*) | This is user-defined and can be changed. |
Description | A detailed explanation of what the volume instance is used for. Not mandatory. |
Details section (Content Tree)
Input Field | Value |
Type(*) | Select 'Content Tree' as a type of storage from the dropdown list. |
Access Mode(*) | Select the mode of access from the dropdown. It must be 'Read' for the 'Content Tree' type. |
Image |
Select the image from the dropdown.
|
Edge Node(*) | Select the Edge Node from the dropdown. |
Tag | Choose preferred volume instances for deployments. It can contain alphabets, numbers, and special characters only. Optional parameter. |
- Step 3b > Populate the 'Block Tree' type of volume instance parameters, as instructed in the table.
- Step 4 > Click on the 'Add' button.
Details section (Block Storage)
Input Field | Value |
Type(*) | Select 'Block Storage' as a type of storage from the dropdown list. |
Access Mode(*) | Select the mode of access from the dropdown. It must be either 'Read, Write,' 'Read' or 'Multi Read, Single Write' for the 'Block Storage' type. |
Edge Node(*) | Select the Edge Node from the dropdown. |
Tag | Choose preferred volume instances for deployments. It can contain alphabets, numbers, and special characters only. Optional parameter. |
Max Storage Size | Specify the storage limit, if any. |
Content Tree | Select the appropriate application image from the dynamic dropdown list. |
Note: A content tree is not required to create blank storage on the Edge Node. Hence the user need not select any application image when creating block storage.
- Step 5 > When you click on the 'Add' button, a toast message appears as shown below:
Volume Instance: test has been added.
- Step 6 > You can see that the new Volume Instance by name is 'test' is added in the Volume Instances list view, as shown below.
The volume instance is created successfully!
Read
The read operation can be performed in the volume instances detail view only. After you log in to ZedControl, click on the 'Library' menu from the left navigation and select 'Volume Instances' to go to the list of already available volume instances. Click on any of the volume instances in the list view to show the detailed view of the same.
The read view shows two main sections, ' Status' and 'Basic Info'.
Status
The 'Status' section shows the reported status of the selected Volume Instance and has three subsections as follows:
a) Information
This subsection shows an overview of the selected Volume Instance such as the 'Run State' and 'Current Size.'
Basic Info
a) Identity
Refer to the tables under the create operation for information on the field values and their descriptions.
b) Details
Refer to the tables under the create operation for information on the field values and their descriptions.
Delete
The delete operation can be performed in both the volume instances list view and detail view. After you log in to ZedControl, if you no longer require the volume instance, you could delete it using the following steps:
Note: You can perform the delete operation on a single volume instance or multiple volume instances on either the list view or detail view screen. We will follow the single volume instance workflow for simplicity, which you can carry out from the list view.
- Step 1 > Click on the checkbox of the volume instance list on which the required operation needs to be performed.
- Step 2 > Click on the More () icon on the top right corner.
- Step 3 > From the dropdown, select 'Delete'.
- Step 4 > Click the 'Confirm' button on the modal dialogue which appears as below:
Deleting these 1 Volume Instance(s) will permanently remove the data about these volume instance(s) from management platform.
Note: There is no way to reclaim the data, after the delete operation is performed.
- Step 5 > When you click on the 'Confirm' button, a toast message announcing the successful submission of the delete request of the volume instance appears.
Volume Instance: test has been deleted.
The selected Volume Instance is deleted successfully!
Operations Using zCLI
To login to ZedControl through zCLI, see here.
Create
You can create a volume instance using the following command:
zcli> zcli volume-instance create <name> --volume-type=<volume-type> --project=<project> --edge-node=<edge-node> --size=<size> --access-mode=<access-mode> [--label=<label>] [--image=<image>] [--title=<title>] [--description=<description>]
Read
You can use the following command to see the created volume instances details:
zcli> zcli volume-instance show [[[<name> | --uuid=<uuid>] [--detail]] | [--name-pattern=<name-pattern>]]
For example, the show command for volume instances displays the following output:
zcli> zcli volume-instance show
VolumeInstance Project Device Type
---------------- -------------------- ------------------------ ----------------
ubuntu_0_m_0 default-project blr-supermicro-e300-1 VOLUME_INSTANCE_TYPE_BLOCKSTORAGE
ubuntu_0_im_0 default-project blr-supermicro-e300-1 VOLUME_INSTANCE_TYPE_CONTENT_TREE
zcli>
Update (Edit)
You can update a volume instance using the following command:
zcli> zcli volume-instance update <name> [--title=<title>] [--description=<description>]
Delete
You can delete a volume instance using the following command:
zcli> zcli volume-instance delete [-f] <name>
Note: -f is to forcefully make the delete request to the ZedControl, without prompting the user.
The Volume Instance operations are successfully executed!