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.
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. |
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 | 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. |
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 |
mayaiscsi | Proprietary 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.configd | Mayastor service program for configuration and management. |
mayacli | Mayastor Command Line Interface utility to manage the storage server. |
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.
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” |
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. |
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. |
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. |