Introduction

The fast-paced world of system administration is growing on a large scale and picking up steam all the time. The migration of business to the cloud we can see these days is a good example of the above said. Thus, the continuous pursuit of a tool that would simplify the life of a system administrator constantly stays on the agenda of the IT world. The main goal behind the development of the Storage Management Initiative (SMI) is eliminating the long journey of finding the right solution.

To simplify the life of system administrators to an even greater extent, the StarWind team has decided to additionally complete the feature set by developing the StarWind Swordfish Provider.

Having carried the outlined plan, we have finally created an additional tool providing API functionality that makes it possible to simplify the process of storage allocation, monitoring, and management.

What is the StarWind Swordfish Provider

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the Redfish Scalable Platforms Management API Specification.

The benefit of extending Redfish schemes stems from the simplicity of Redfish and a very low learning curve for managing devices in the datacenter. If you are familiar with using a browser, you can start exploring the devices managed by Redfish.

The Swordfish service interface extends the Redfish service interface. As such, a Swordfish service is a Redfish service and includes all required elements of the Redfish model.

The combined Redfish and Swordfish models define information requirements and constraints on the values that are used as input or output of the operations supported by the Swordfish interface. The Swordfish interface relies on the operations specified by the OData REST protocol.

(Each Swordfish service is accessed via well-known URLs on the system supporting the Swordfish Service. Since Swordfish is an extension of Redfish, these URLs are the same as for accessing the Redfish defined aspects of the service.)

StarWind Swordfish Provider Configuration

You must perform several steps to configure the StarWind Swordfish Provider:

Installing the StarWind Swordfish Provider.

StarWind Swordfish Provider Implementation

To use the StarWind Swordfish Provider, all that needs to be done is making sure that the installation was successful. You can do it by accessing http://localhost:9000/redfish/v1 with the web-browser of your choice.

When accessed, the root of the Swordfish web-service contains such resources as Systems, StorageSystems, StorageServices, Chassis, Managers, etc.

Creating the StarWind Cluster.

(<span class="error">[wmiclass]</span>"root\starwind:STARWIND_ClusterService").CreateCluster("Swordfish_cluster", "root", "starwind") 1 ( < span class = "error" > [ wmiclass ] < / span > "root\starwind:STARWIND_ClusterService" ) . CreateCluster ( "Swordfish_cluster" , "root" , "starwind" )

Where:

“Swordfish_cluster”– is the name of the StarWind Cluster;

“root”– is the default StarWind login;

“starwind” – is the default StarWind password.

Adding a Storage Node to the Cluster.

Where:

“StarWind Node Alias” is the alias of the StarWind node;

“StarWind Node IP” is the IP address of the StarWind node;

“3261” is the VSAN from StarWind default port;

“root”– the default StarWind login;

“starwind” – the default StarWind password.

Creating a profile for the Storage Node.

Along with an additional PowerShell command:

(<span class="error">[wmiclass]</span>"root\starwind:STARWIND_ClusterService").BindStorageNode("sup-node-02", "127.0.0.1", "3261", "root", "starwind") 1 ( < span class = "error" > [ wmiclass ] < / span > "root\starwind:STARWIND_ClusterService" ) . BindStorageNode ( "sup-node-02" , "127.0.0.1" , "3261" , "root" , "starwind" )

Where:

“storageNodeUid”– is the storageNode Uid of the StarWind node, which was previously added.

Creating a Datastore.

Where:

“DatastoreName” is the name of the Datastore;

“Size” is the size of the Datastore in megabytes;

“storageNodeProfileUid” is the Uid of the StorageNode Profile which was created previously;

“4E19F23A-0A84-486C-A516-DF96140C7000” is the default capabilityProfileUid.

(<span class="error">[wmiclass]</span>"root\starwind:STARWIND_ClusterService").CreateDatastore("StarWindDatastore", "1048576", "StorageNodeProfileUid", "4E19F23A-0A84-486C-A516-DF96140C7000") 1 ( < span class = "error" > [ wmiclass ] < / span > "root\starwind:STARWIND_ClusterService" ) . CreateDatastore ( "StarWindDatastore" , "1048576" , "StorageNodeProfileUid" , "4E19F23A-0A84-486C-A516-DF96140C7000" )

Creating a Virtual Volume.

(<span class="error">[wmiclass]</span>"root\starwind:STARWIND_ClusterService").CreateVirtualVolume("StarWindVolume", 1024, "Config", "datastoreUid", "4E19F23A-0A84-486C-A516-DF96140C7000") 1 ( < span class = "error" > [ wmiclass ] < / span > "root\starwind:STARWIND_ClusterService" ) . CreateVirtualVolume ( "StarWindVolume" , 1024 , "Config" , "datastoreUid" , "4E19F23A-0A84-486C-A516-DF96140C7000" )

Where:

“VolumeName” is the VirtualVolumeName;

“Size” is the size of the VirtualVolume in megabytes;

“Config” is the type of the volume (currently there are only: Config, Data, Swap, Memory)

“datastoreUid” is the Datastore Uid, which was created previously;

“4E19F23A-0A84-486C-A516-DF96140C7000”– the default capabilityProfileUid.

In addition, all the information could be seen with the help of PowerShell ISE, after running SwordfishDemoScript.ps1 (which uses an Invoke-RestMethod) that can be found here http://www.starwindsoftware.com/tmplink/swordfish_demo_script.zip . PowerShell cmdlets:

Cluster information:

$discoveryinfo.StorageServices.'clusterUid' 1 $ discoveryinfo . StorageServices . 'clusterUid'

StorageNode Information:

$discoveryinfo.StorageSystems.'storageNodeUid' 1 $ discoveryinfo . StorageSystems . 'storageNodeUid'

Datastore Information:

$discoveryinfo.StorageServices.'ClusterUid'.StoragePools.'datastoreUid' 1 $ discoveryinfo . StorageServices . 'ClusterUid' . StoragePools . 'datastoreUid'

VirtualVolume information:

$discoveryinfo.StorageServices.'datastoreUid'.Volumes.volumeUid 1 $ discoveryinfo . StorageServices . 'datastoreUid' . Volumes . volumeUid

Additional information about the Swordfish API can be found here.

Conclusion

Having followed all the instructions, you can see that the integration of the StarWind Swordfish Provider is also capable of allowing you to monitor StarWind Cluster as well as simplifying the control over the StarWind storage infrastructure by using Swordfish API.

Simply put, the integration of Swordfish API simplifies the integration of StarWind into the existing environment. Keeping this in mind, now your storage infrastructure can be monitored and managed from the single pane of glass.

A full set of up-to-date technical documentation can always be found here, or by pressing the Help button in the StarWind Management Console.

For any technical inquiries please visit our online community, Frequently Asked Questions page, or use the support form to contact our technical support department.

Related materials:

Views All Time Views All Time 2 Views Today Views Today 2

Appreciate how useful this article was to you? No Ratings Yet

No Ratings Yet