Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Introduction

This chapter introduces the major components in Mayastor storage management. The components include both the hardware components and the logical components of the storage system.
The storage management commands are issued from the Mayastor Command Line Interface (CLI) program mayacli either by running on the Mayastor storage server system itself or from any other system capable of RPC client.

It is very light-weight ONC RPC/XDR program that is truly cross-platform and can run from any UNIX host and even from Windows.

Major Hardware Components


The following table lists the major hardware components that are involved in the Mayastor networked storage infrastructure.
Table 1-1Major Hardware Components

Hardware Component

Description

Storage Server

The Linux Server system that is running the Mayastor software to provide enhanced disk services. Also referred as MayaNAS while acting as NAS server.

Storage Array

This includes the external direct-attached disks such as fibre channel disks, serial ATA disks and SCSI disks.

Embedded disks

This includes the disks such as IDE and SCSI disks, NVMe that are present inside the storage server.

Controller

The fibre channel HBA port that is running in target mode. For iSCSI operation it represents the attached Ethernet interfaces.  For NVMe Target operation the controller can be any RDMA capable network interfaces.

Host

The Application servers that will make use of the provisioned volumes from the Storage Server over fibre channel or Ethernet interconnect.


Logical Components of Storage Server


The logical components of storage server can be configured from the physical drives provided by Storage Array or Embedded disks.
Table 1-2Logical Components of Storage Server

Component

Description

Volume group

Set of drives that are logically grouped together by the Volume Manager supported in Linux. A volume group can provide appropriate raid-level as required by the application server, if the individual drives themselves are RAID disks. A volume group provides increased data availability and I/O performance and online resizing of volume capacity.

Volume

This is the basic unit that can be created to store data in the networked storage environment. It can represent a physical disk, disk partition, Linux software raid disk, LVM logical volume, LVM snapshot volume or any other block device such as loop device, dm-crypt device.

Unconfigured capacity

Any available storage capacity that is not yet configured as volumes is referred to as Unconfigured Capacity.

Mapped volume

Mapping For block storage mapping is the process of assigning a Logical Unit Number and Controller so that it can appear as SCSI3 compliant direct access disk in the Storage Area Network (SAN). You can optionally associate access controls with mappings.

For file storage mapping defines the protocol NFS or SMB

Mapped volume

Mapping is the process of assigning a Logical Unit Number and Controller so that it can appear as SCSI3 compliant direct access disk in the Storage Area Network (SAN). You can optionally associate access controls with mappings.

Bind volume

Binding is the process of bringing a mapped volume to be online. In case of network shares binding causes the shares to be exported.

Unbind volume

Unbinding changes the online device to become offline.  In case of network shares unbinding will stop sharing.


Major Software Components


The Mayastor Enterprise Storage Software consists of the following major software components listed below.
Table 1-3Major Software Components of Storage Server

Component

Description

fcgate

This is the gateway driver that provides interface to SCSI commands coming from the underlying fibre channel controller or iSCSI driver

qlfctgt

Proprietary target mode driver for Qlogic Fibre-Channel HBAs. Currently it supports target mode operation for Qlogic 2/4/8 Gbps HBA

mayaiscsiProprietary implementation of RFC 3720 iSCSI server protocol.

mayadev

This is the virtual disk driver that implements SCSI-3 SCSI Primary Commands (SPC) and SCSI Block Commands (SBC) for SCSI disks.

mdcache

This module  used for cache management for mayadev operations. (Deprecated)

mayatape

This is the virtual tape driver that implements SCSI-3 SCSI Streaming Commands (SSC) for SCSI tape devices. By default this driver emulates IBM 3580 LTO Ultrium tape drive.

mayatld

This is the virtual tape library driver that implements the SCSI-3 Medium Changer Commands. By default this driver emulates IBM 3584 Tape Library.



maya.configdMayastor service program for configuration and management.

mayacli

Mayastor Command Line Interface utility to manage the storage server.



Mayastor

...

Raid levels supported by Mayastor

...

RAID level

...

Description

...

Raid 0

...

It stripes data across all of the drives in the volume group and offers high performance but does not provide any data redundancy.

...

Raid 1

...

Provides disk mirroring. It offers the best data availability but only half of capacity is available for user data. It can offer higher read performance by load balancing across the drives.

...

Raid 5

...

The user data and error correcting information (parity) is also striped across the drives. This results in good performance and fault tolerance.

...

Raid 10

...

This is a combination of Raid 0 and Raid 1 offering higher performance and data redundancy.

...

Source of Mayastor Volumes

...

Type

...

Description

...

Disk

...

A valid physical SCSI disk recognized by Linux with the following address Host, Channel, Id, and Lun.

...

Partition

...

The block device that represents the partition or the whole disk can be used as Mayastor volume. Most useful to create volumes from IDE devices or SCSI devices.

...

Linux Software Raid

...

Any Linux software raid disk created with appropriated raid level can be used as Mayastor volume.

...

LVM

...

All LVM volumes can be used as Mayastor volume.

...

LVM Snapshot

...

All LVM snapshot volumes can be exported as Mayastor volumes. Most useful to offload backup processing from this server to a different server.

...

Other block devices

...

In short any valid block device recognized by Linux can be used as Mayastor volume. This includes loop devices, dm-crypt or other. By utilizing dm-crypt or loop it is possible to create Mayastor volume that provides transparent block level AES encryption.

...

  1. Identify the device name that will be used as Mayastor volume. The following table covers most of the well know block devices in Linux. The block devices should be made operational before making use of them in Mayastor. For example to make use of Linux raid1 device, it may be required to activate by using mdadm command or through other Linux administration mechanism.

Table 2-3Common device names

...

Name

...

Description

...

/dev/sda ..
/dev/sda1 ..

...

All SCSI disks recognized by Linux. It can include partitions in the disk identified by the number.

...

/dev/hda …
/dev/hda1 …

...

IDE disks and valid partitions in the disk.

...

/dev/md0 …

...

Linux software raid disk created with appropriated level and activated.

...

/dev/vg01/lv01

...

LVM volume group and a volume lv01 created with appropriate size and activated.

...

/dev/loop0 …

...

Loop device that was created on a backing store to do block level AES encryption.

  1. Use the create volume statement in mayacli. If required manually start the Mayastor services.
  1. /opt/mayastor/bin/mayacli
    mayacli> show volume
    No volumes configured.
    mayacli> create volume label=testvol1 disk=/dev/sda
  2. Use the create mapping statement to assign a device address. The following example creates a mapping suitable for iSCSI target, which uses the default portal configuration.

mayacli> create mapping volume=testvol1 targetid=0 lun=0 controller=iscsi

  1. Save the configuration

mayacli> save volume

  1. Apply the newly created volume mapping

mayacli> bind mapping volume=testvol1

  1. View the current mapping for all volumes.

mayacli> show mapping
Configured Volume Mappings:
Stat: A = Active, I = Inactive, E = Error
Volume Device Controller TID LUN Stat Options
---------------- ----------------- ---------- — --- ---- --------
testvol1 /dev/sda iscsi0 0 0 I iqn.2003-05.com.pavitrasoft:storage.disk1

  1. Get a list of configured iSCSI target devices.

...

Command Line Interface Chapter


This chapter describes the Mayastor Command Line Interface program mayacli used for managing Mayastor storage server. The mayacli is a RPC client program and can be used on the same system as Mayastor storage server or from any other Linux system in the network by utilizing the –h parameter to mayacli. By adopting the client-server RPC based architecture model it makes it possible to administer any number of Mayastor storage servers from a single location running mayacli.

mayacli –h mayaserv1
The mayacli program makes use of Linux tcpwrapper library interface to prevent unauthorized access. Please consult the Linux Administrator guide for more information on tcpwrapper.
The mayacli program when invoked without any command statement will enter into interactive mode waiting for commands to be entered. Otherwise it will execute the command statement passed in the command line argument and exit immediately intended for scripting.


Command Description and Syntax


Each CLI command is made up of string of keywords separated by spaces. Each keyword could be a command, system object, parameter, etc. The keywords are case insensitive and so writeCacheEnabled is equivalent to writecacheenabled. Sometimes it can be recognized by partial keywords as long as it is not ambiguous. For example writeCacheEnabled can be recognized simply by writecache. Also some keywords can have aliases, which are easier to type. For example the keyword logicalUnitNumber can also be referred by keyword lun. The special character "*" refers to all the objects. The label name cannot use these reserved names:
command object cmd-statement
The following table gives the notational conventions for the command set.
Table 3-1Command notational conventions

a | b

alternatives (“a or b”)

italicized-word

non-terminals

[ … ] (square braces)

zero or one occurrence

{ … } (curly braces)

zero or more occurrences

( a | b | c )

“choose exactly one of the alternatives”

...

Code Block
themeConfluence
mayacli help

Command component `mayastor' Usage:

Mayastor Command Line Interface version 0.23

(c) Copyright 2003-2008 PavitraSoft Inc.

(c) Copyright 2010-2018 Crossmeta Solutions.


The following are the registered components for management:

    mayastor  disk  controller  volume  mapping  

    host  stats  performance  iscsi  nvmet  

    rg  mirror  vg  zpool  cloud  

    tape  vtl  snapshot  replication  failover  

    license  

Valid operations include:

    create, bind, delete, set, show, and help

    start or stop on mayastor main component

You may try help on individual component to get more information.


Commands


The following table describes the commands that are understood by the Mayastor Command Line Interface program. Each command performs a set of operations on the Mayastor configuration.

...


Command

Description

bind

Apply settings to an object

create

Create a new object

delete

Delete an existing object.

set

Manipulate the settings of an object

show

Show the settings of an object.

start

Start the operation of an object.

unbind

Revoke settings to an object

stop

Stop the operation of an object.




Objects


The components of Mayastor storage server for management are identified by the following system objects.
Table 3-3Mayastor System Objects

Object

Mayastor Configuration section

controller

Represents the fibre channel HBA operating in target mode. For iSCSI operations this refers to all the Ethernet interfaces in the system.

iscsi

Represents the iSCSI targets, sessions and connections for management.

disk

Available physical disks in the system.

host

The application server that will make use of the Mayastor volumes

mapping

Binding a volume to controller and lun for a particular host or for all the hosts.

mayastor

The overall storage server.

perf

Performance object for volumes or controllers.

stats

Statistics object for volumes or controllers.

volume

Mayastor basic unit of storage that is presented as disks to hosts.

...