Adding and Removing Storage to a DSX

Storage can be added to a DSX node after the initial installation have completed. The following steps need to be followed:

  1. Add storage [External task]
  2. Refresh the configuration [Product task]
  3. Create logical volume [Product task]
  4. Register the new volume [Product task]

Step 1: Add Storage

This step is done outside of product interface. This example adds storage using the VMware vCenter interface. DSX automatically detects this storage and adds the new block devices at the operating system level. Additional steps are required before the new storage is usable.

It is also possible to use a fiber channel storage area network (FC SAN) or an internet small computer systems interface storage area network (iSCSI SAN) as a method to add new storage. However, multi-pathing may not be supported. It is recommended for VMware environment that the Hypervisor is presenting the storage to the virtual machine in such a way that the Hypervisor is configured to support multi-pathing.

Step 2: Refresh the DataCore vFilO Configuration

On DataCore vFilO, log in as admin and execute node-refresh on the DSX where you added the new storage. The following options are available for node-refresh:

  • --rescan: Forces the DSX to discover new block devices. Does not affect existing, already discovered devices. This is a required option when adding new storage.
  • --id: ID of the DSX node. Use the node-list command to identify the correct DSX.
# node-refresh --id e3d46105-f27a-5c23-ada9-37d591fad283 --rescan
Name: dsx1.selab.local
Type: PD
ID: e3d46105-f27a-5c23-ada9-37d591fad283
HW State: OK
Node State: MANAGED
Node Mode: ONLINE
SW version: 3.0.0-9
Management IP: 172.27.102.142/22
Applicable Software: 3.0.0-9
Vendor: VMware, Inc.
Product name: VMware Virtual Platform

There is additional output from this command which is not shown here.

Step 3: Create New Logical Volume

Identify the added block device(s) first. In this example, the device added is /dev/sdd.

# drive-list --node-name dsx1.selab.local
total 4
Type: SSD
ID: 1d59f84c-b2ce-465e-a31f-7422c39cf46d
Name: /dev/sda
State: OK
Type: SSD
ID: 10a02152-1c15-48cc-969d-7afa77a22bf9
Name: /dev/sdb
State: OK
Type: SSD
ID: bc320a77-4196-4c24-b8f3-02bac6f38a92
Name: /dev/sdc
State: OK
Type: SSD
ID: 8695bebc-0d26-47fe-93e1-49938a01bbd6
Name: /dev/sdd
State: OK

Create a logical volume using the new device path with the –device-path option.

# logical-volume-create --node-name dsx1.selab.local --device-path /dev/sdd
Type: LOGICAL_VOLUME
ID: ab4d17e3-249a-421f-adec-943b1e339ae7
Name: /hsvol02
Exported Path: /pd_export2
IPs: [172.27.102.142/22]
Node: dsx1.selab.local
Usage: DS
Reserved: false
Filesystem Type: XFS
Capacity: [Total: 75GB]
Hardware:
[Type: SSD, ID: 8695bebc-0d26-47fe-93e1-49938a01bbd6, Name: /dev/sdd, State: OK, Capacity: 75GB, Product name: Virtual disk
Vendor: VMware]

Step 4: Register the New Volume

This step creates a new file system on the logical volume and adds the new volume into the available storage configuration. Depending on how the system objectives are configured, it is possible that data will be placed on the new volume as soon as this step is complete.

The logical-volume-name is found in the output from the previous step.

# volume-add --logical-volume-name /hsvol02 --node-name dsx1.selab.local
ID: 080ca7bd-afec-480d-90ac-08e09ba359b8
Name: dsx1.selab.local::/hsvol02
Internal ID: 16
IPs: [172.27.102.142/22]
Path: /hsvol02
State: OK
Oper state: UP
Node: dsx1.selab.local
Capacity: [Total: 75GB]
Admin state: UP
Created: 2018-05-09 17:28:13 UTC
Modified: 2018-05-09 17:28:13 UTC
Capabilities: Max read IOPs: 10258
Max write IOPs: 2731
Min read latency (usec): 404.21286
Min write latency (usec): 2150.21584
Max read bandwidth (KB/s): 620782
Max write bandwidth (KB/s): 243286
Max NFS READ request size (B): 1048576
Max NFS WRITE request size (B): 1048576
Tolerable read latency (nanosec): 1000000000
Tolerable write latency (nanosec): 1000000000
Utilization threshold: 75%
rootFileHandle: 01000600ab4d17e3249a421fadec943b1e339ae7
Availability: 99%
Durability: 99.9%
Encryption: false
Clone: true
Snapshot: false
Locations:
[Type: STORAGE_VOLUME, ID: 080ca7bd-afec-480d-90ac-08e09ba359b8, Name: dsx1.selab.local::/pd_export2]
[Type: NODE, ID: e3d46105-f27a-5c23-ada9-37d591fad283, Name: dsx1.selab.local]
[Type: VOLUME_GROUP, ID: c38cc380-6eb1-42a8-a8b6-58240446e79f, Name: all]

The new volume will show up in the UI after a short wait as the system refreshes itself.

Removing storage

Removing storage from the environment is a non-disruptive task and can be done at any time. It is important that these steps are followed to ensure continued access to the data.

Step 1. Identify the Volume

Identify the volume in the GUI and decommission the volume by pressing the Decommission icon under the actions column.

Data will non-disruptively be placed on other volumes and the volume will be emptied from data. If there is not enough capacity to re-locate all the data, the decommissioning process will not complete until additional capacity or a cloud/object volume has been added to the system.

Step 2. Delete the Volume

Once the decommissioning task has completed, the GUI will list the status as Decommissioned and the Delete button can be pressed under the actions column.

Step 3. Delete the Logical Volume (CLI only)

Login to the admin CLI and execute logical-volume-delete command. Ensure that the correct device path is specified by referencing information from drive-list or node-list --name <NODE NAME> output.

Note that volumes that are in use cannot be deleted and they have to be decommissioned first.