Symaccess Cheatsheet | Vmax/PowerMax | Symcli | Solutions Enabler Cli Reference

Photo of author
Written By Amit Singh

I am a technology enthusiast with 15 years of experience in SAN and NAS Storage. 

The symaccess command is a powerful utility used in Dell EMC Symmetrix storage arrays to manage storage access control. It is primarily utilized for masking view operations, allowing administrators to define and control which hosts can access specific storage resources.

With symaccess, users can create and manage initiator groups, port groups, and storage groups, which collectively form masking views. These views ensure that only authorized hosts can communicate with designated storage devices. Additionally, the command facilitates security settings, backup and restore operations, and various administrative tasks related to Fibre Channel (FC) and iSCSI connectivity.

By leveraging symaccess, storage administrators can efficiently manage and enforce storage access policies, enhancing both security and operational efficiency in a Symmetrix storage environment.

Symaccess Summary

HeadingSummary
ActionsThe symaccess command enables the management of initiator, port, and storage groups. It allows creating and deleting masking views, modifying groups, setting attributes, associating aliases, backing up and restoring data, and verifying database consistency.
ArgumentsVarious arguments define the operation being performed. Examples include add for adding elements, delete for removal, rename for name changes, restore for restoring configurations, and list for retrieving group information.
KeywordsKeywords refine the scope of operations, such as assignments for listing initiators, hba_flags for modifying HBA settings, sg for storage group lists, and view to specify actions on masking views.
Supported HBA Port FlagsA set of flags that configure port behaviors for HBAs, including options like Disable_Q_Reset_on_UA, OpenVMS support, Avoid_Reset_Broadcast, and SPC2_Protocol_Version.
Supported Initiator Group Port FlagsSimilar to HBA port flags but applied to initiator groups, these include Volume_Set_Addressing, Common_Serial_Number, and SCSI_3 support.

Symaccess Action

The symaccess command provides the ability to perform the following actions:

  • Create initiator, port, and storage groups.
  • Create masking views, each one containing a single initiator, port, and storage group.
  • Delete a masking view.
  • Delete initiator, port, and storage groups when they are not part of a masking view.
  • Rename masking views or initiator, port, or storage groups.
  • Associate an ASCII name with the initiator as a convenience. To NULL the alias, use a slash (/) as input.
  • Add or remove devices for a specifed storage group.
  • Add or remove ports or endpoints for a specified port group.
  • Add or remove initiators for a specified initiator group.
  • Copy masking views or initiator, port, or storage groups from one Symmetrix array to another.
  • Replace the host HBA without losing established permissions.
  • Set HBA port flags on a per initiator basis. This feature allows the user to change some attributes for a different host type on the FA or SE for the specified initiator.
  • Set the consistent LUN flag for an initiator group to force that any device masked to this group has the same LUN for all ports.
  • Display the login history table.
  • Associate the Fibre Channel ID (FCID) of a switch in a fabric to the path from a host HBA to a Symmetrix array. This further restricts the path by which a host can connect to a Symmetrix array.
  • Set, enable, disable, or delete CHAP credentials from the database for either the director/port or a specified iSCSI initiator.
  • Back up the Auto-provisioning Group data to a user-named file on the host.
  • Restore the Auto-provisioning Group data from a backup file stored on the host.
  • List the host HBA information.
  • List the group information.
  • List the view information.
  • Verifies that the AutoProvisioning Database is consistent.

Symaccess Arguements

CommandDescription
addAdds elements to the specified group.
backupCreates a file containing all of the group and view information currently on the array.
copyCopies views or groups from one Symmetrix array to another.
createCreates a view or group of the specified type.
deleteDeletes the masking view or security information that was previously set for either a director/port or an iSCSI initiator.
disableDisables security information that was previously set for a director/port or an iSCSI initiator.
discoverDiscovers the WWN or iSCSI names of the HBAs on the host which has paths to the Symmetrix and writes the ASCII alias names to the login history table (if empty).
enableEnables security information that was previously set for a director/port or an iSCSI initiator.
listLists the group, view, or security information.
removeRemoves elements from the specified group.
renameRenames the ASCII name of a group or view, or renames the alias for the specified initiator within a group and the login history table.
replaceReplaces the WWN or iSCSI name within an initiator group with the specified new WWN or iSCSI name.
restoreRestores all of the group, view, and security information from the specified backup file.
setSets initiator attributes or CHAP credentials.
showShows detailed information about the groups or views.
verifyChecks the Auto-provisioning database to verify that it is consistent.

Symaccess keywords

KeywordDescription
assignmentsLists the currently assigned initiators for the specified devices.
bw_limitSets the bandwidth limits in MB per second for an initiator group.
chapSpecifies the iSCSI CHAP credential.
consistent_lunSets the consistent LUN for the specified initiator group.
devinfoLists the device information by initiator group.
devsSpecifies devices to be added or removed.
hbaSpecifies the WWN or iSCSI name of the HBA on the host.
hba_flagsSets the HBA port settings for an initiator within a group for any settings that should differ from the current settings on the port.
ig_flagsSets the port settings for an initiator group for any settings that should differ from the current settings on the port.
lockdownSets the FCID value for an initiator within a group.
loginsSpecifies the entries in the login history table.
no_assignmentLists devices that are mapped, but not yet assigned within a masking view.
sgIndicates a list of storage group names.
srcLimits the action to the source devices in a device file.
tgtLimits the action to the target devices in a device file.
viewIndicates that the action will be performed on a view.

Supported HBA Port Flags

Flag NameCode
Common_Serial_NumberC
Disable_Q_Reset_on_UAD
Environ_SetE
Avoid_Reset_BroadcastARB
AS400AS4
OpenVMSOVMS
SCSI_3SC3
SPC2_Protocol_VersionSPC2
SCSI_Support1OS2007

Supported Initiator Group Port Flags

Flag NameCode
Volume_Set_AddressingV
Common_Serial_NumberC
Disable_Q_Reset_on_UAD
Environ_SetE
Avoid_Reset_BroadcastARB
AS400AS4
OpenVMSOVMS
SCSI_3SC3
SPC2_Protocol_VersionSPC2
SCSI_Support1OS2007

Symaccess Example: Masking View, Initiator Group, Port Group, Storage Group

ActionCommand
Create an initiator group named igroup_alpha, adding WWN 210000e08b04abcdsymaccess -sid 567 -type initiator -wwn 210000e08b04abcd -name igroup_alpha create
Create a storage group named sgroup_beta, adding device 0034symaccess -sid 567 -type storage devs 0034 -name sgroup_beta create
Create a port group named pgroup_gamma, adding director 5F and port 2symaccess -sid 567 -type port -dirport 5F:2 -name pgroup_gamma create
Add device 0035 to storage group sgroup_betasymaccess -sid 567 -type storage -name sgroup_beta add devs 0035
Add storage groups storgrp_X and storgrp_Y to storage group storgrp_Zsymaccess -sid 567 -type storage -name storgrp_Z add -sg storgrp_X,storgrp_Y
Remove WWN 210000e08b04abcd from initiator group igroup_alphasymaccess -sid 567 -type initiator -wwn 210000e08b04abcd -name igroup_alpha remove
Delete initiator group igroup_alphasymaccess -sid 567 -type initiator -name igroup_alpha delete
List all initiator, port, and storage groupssymaccess -sid 567 list
Create a view named view_delta, containing initiator group igroup_alpha, port group pgroup_gamma, and storage group sgroup_betasymaccess -sid 567 -name view_delta -sg sgroup_beta -pg pgroup_gamma -ig igroup_alpha create view
Delete a view named view_deltasymaccess -sid 567 -name view_delta delete view
Rename view view_delta to view_omegasymaccess -sid 567 rename view -name view_delta -new_name view_omega
Create a view, storage, port, and initiator group named TESTVIEW, adding devices, initiators, and portssymaccess -sid 567 create view -name TESTVIEW -wwn 210000e08b04abcd -dirport 5F:2 devs 0034
Backup groups and views of Symmetrix ID 567 to file backup_file123symaccess -sid 567 backup -file backup_file123
Restore group and view information from file backup_file123 to Symmetrix ID 567symaccess -sid 567 restore -file backup_file123

1. Discovery & Array Configuration (symcfg)

Table

CommandDescriptionExample
symcfg discoverDiscover all manageable arrayssymcfg discover
symcfg listList discovered arrayssymcfg list -status
symcfg list -env_dataOverall hardware health checksymcfg list -sid 1234 -env_data
symcfg list -env_data -vDetailed hardware healthsymcfg list -sid 1234 -env_data -v
symcfg list -env_data -service_state_failedShow only failed componentssymcfg list -sid 1234 -env_data -service_state_failed
symcfg list -srpList Storage Resource Poolssymcfg list -sid 1234 -srp
symcfg list -srp -detailDetailed SRP infosymcfg -sid 1234 list -srp -detail
symcfg list -sloList available SLOssymcfg list -sid 1234 -slo
symcfg list -slo -detail -by_resptime -allSLOs sorted by response timesymcfg list -sid 1234 -slo -detail -by_resptime -all
symcfg list -dir allList director (FA/RA) statussymcfg -sid 1234 list -dir all
symcfg list -pool -thin -GBList thin pools in GBsymcfg -sid 1234 list -pool -thin -GB

2. Device Management (symdevsymconfigure)

Table

CommandDescriptionExample
symdev listList all devices on arraysymdev -sid 1234 list
symdev list -vVerbose device listingsymdev -sid 1234 -v list
symdev showShow details of one devicesymdev -sid 1234 show 0200
symdev list -rangeList a range of devicessymdev -sid 1234 -range 6D0:6D4 list
symdev list -multiportShow multi-port mappingssymdev -sid 1234 -range 6D0:6D4 list -multiport
symdev list -noportDevices not mapped to any portsymdev -sid 1234 -noport list
symdev list -tdevList all thin devices (TDEVs)symdev -sid 1234 -tdev list
symdev list -tdev -unboundTDEVs not bound to any poolsymdev -sid 1234 -tdev list -unbound
symdev list -tdev -noport -boundBound TDEVs not assigned to hostsymdev -sid 1234 -tdev list -noport -bound
symdev list -datadevList data devicessymdev -sid 1234 -datadev list
symdev write_disableWrite-disable a devicesymdev -sid 1234 write_disable 0123 -SA all
symdev write_disable -fileWrite-disable devices from filesymdev -sid 1234 write_disable -file devs -SA 8C -p 0
symconfigureCreate/modify devicessymconfigure -sid 1234 -cmd "create dev count=1, size=1 GB, emulation=FBA, config=TDEV, device_name=test_vol;" commit
symconfigureCreate multiple TDEVssymconfigure -sid 1234 -cmd "create dev count=5, config=TDEV, emulation=FBA, size=2048 GB, sg=myapp_sg;" preview
symconfigureBind TDEV to poolsymconfigure -sid 1234 -cmd 'bind tdev 1001 to pool fast_pool preallocate size = 24802 CYL;' prepare
symconfigureUnbind TDEV from poolsymconfigure -sid 1234 -cmd 'unbind tdev 1001:1004 from pool fast_pool;' prepare
symconfigureForm meta devicesymconfigure -sid 1234 -cmd 'form meta from dev 1000, config=STRIPED, stripe_size=1920; add dev 1001:100F to meta 1000;' prepare
symconfigureZero-space reclaimsymconfigure -sid 1234 -cmd 'free tdev 1A1B start_cyl=0 end_cyl=last_cyl type=zero;' prepare
symconfigureSet device attributessymconfigure -sid 1234 -cmd 'set dev 1001:1004 attribute=dyn_rdf;' prepare
symconfigureSet SCSI3 persistent reservesymconfigure -sid 1234 -cmd 'set dev 2500:2502 attribute=SCSI3_persist_reserv;' prepare
symconfigureRebalance thin poolsymconfigure -sid 1234 -cmd "start balancing on pool fast_pool type=thin;" prepare

3. Storage Groups (symsg)

Table

CommandDescriptionExample
symsg listList all storage groupssymsg -sid 1234 list
symsg list -srp -demand -type sloSRP consumption by SLOsymsg -sid 1234 list -srp -demand -type slo
symsg list -by_SLO -detailStorage groups by SLOsymsg -sid 1234 list -by_SLO -detail
symsg createCreate a storage groupsymsg -sid 007 create myapp_sg -slo gold -workload oltp
symsg setChange SLO on existing SGsymsg -sid 123 -sg test set -slo Platinum -wl OLTP_REP
symsg move devMove devices between SGssymsg -sid 123 -sg staging_sg move dev 345 gold_sg
symsg set -compressionEnable compression on SGsymsg -sid 1234 -sg data_sg set -srp SRP_1 -compression

4. Masking & Access Control (symaccess)

Table

CommandDescriptionExample
symaccess list viewList all masking viewssymaccess -sid 1234 list view
symaccess list view -vDetailed view listingsymaccess -sid 1234 list view -v
symaccess show viewShow view detailssymaccess -sid 1234 show view hostname_vwa -detail
symaccess list -type
List groups by type
symaccess -sid 1234 list -type storage
symaccess showShow group detailssymaccess -sid 1234 show hostname_sga -type storage
symaccess create (initiator)Create initiator groupsymaccess -sid 1234 create -name hostname_iga -type initiator -wwn 100000000000001
symaccess add (initiator)Add WWN to IGsymaccess -sid 1234 add -name hostname_iga -type initiator -wwn 100000000000001
symaccess remove (initiator)Remove WWN from IGsymaccess -sid 1234 remove -name hostname_iga -type initiator -wwn 100000000000001
symaccess create (storage)Create storage groupsymaccess -sid 1234 create -name hostname_sga -type storage devs 1001:1005
symaccess add (storage)Add device to SGsymaccess -sid 1234 add -name hostname_sga -type storage dev 1001
symaccess remove (storage)Remove device from SGsymaccess -sid 1234 remove -name hostname_sga -type storage dev 1001 -unmap
symaccess create (port)Create port groupsymaccess -sid 1234 create -name arrayname_5e0_pga -type port -dirport 5E:0
symaccess add (port)Add port to PGsymaccess -sid 1234 add -name arrayname_5e0_pga -type port -dirport 5E:0
symaccess create viewCreate masking viewsymaccess -sid 1234 create view -name hostname_vwa -sg hostname_sga -ig hostname_iga -pg arrayname_5e0_pga
symaccess delete viewDelete view (unmap devs)symaccess -sid 1234 delete view -name hostname_vwa -unmap
symaccess deleteDelete group (force if not empty)symaccess -sid 1234 delete -name hostname_sga -type storage -nop -force
symaccess renameRename a groupsymaccess -sid 1234 rename -name hostname_sga -type storage -new_name newhost_sga
symaccess rename viewRename a viewsymaccess -sid 1234 rename view -name hostname_vwa -new_name newviewname_vwa
symaccess replaceReplace WWN in IGsymaccess -sid 1234 replace -wwn 100000000000001 -new_wwn 2000000000000002
symaccess rename -aliasAlias a WWNsymaccess -sid 1234 rename -wwn 100000000000001 -alias hostname/hba_a
symaccess list loginsShow logged-in WWNssymaccess -sid 1234 list logins -dirport 5E:0

5. Legacy Masking (symmasksymmaskdb) โ€” Pre-VMAX3 / DMX

Table

CommandDescriptionExample
symmask list databaseList masking databasesymmaskdb -sid 1234 list database -wwn 10000000c979bf7e
symmask list database -dirPer-port masking DBsymmaskdb -sid 1234 list database -dir 07A -p 1
symmask list devsDevices masked to WWNsymmaskdb -sid 1234 list devs -wwn 10000000c9598ed5
symmask list loginsLogged-in WWNssymmask -sid 1234 list logins
symmask list logins -dirLogins on specific portsymmask -sid 1234 list logins -dir 3A -p 0
symmask add devsMask devices to WWNsymmask -sid 1234 -dir 8A -p 0 -wwn 100000012345678 add devs 200,200:205
symmask remove devsUnmask devicessymmask -sid 1234 -dir 8A -p 0 -wwn 100000012345678 remove devs 20C,201:203
symmask refreshRefresh masking DBsymmask -sid 1234 refresh
symmask discover hbaDiscover host HBAssymmask discover hba
symmask list hbaList host HBAssymmask list hba -v

6. Snapshots โ€” SnapVX (symsnapvx)

Table

CommandDescriptionExample
symsnapvx establishCreate a snapshotsymsnapvx -sid 1234 -sg test -snapshotname hourlysnapshot establish -ttl -delta 1 -nop
symsnapvx listList snapshotssymsnapvx -sid 1234 -sg groupname list -detail
symcfg list -srp -demand -type sgSnapshot capacity by SGsymcfg list -sid 1234 -srp -demand -type sg

7. SRDF / Remote Replication (symrdf)

Table

CommandDescriptionExample
symrdf queryQuery SRDF pair statussymrdf -g mydg query
symrdf establishEstablish SRDF pairsymrdf -g mydg establish -full
symrdf splitSplit SRDF pairsymrdf -g mydg split
symrdf addgrpCreate dynamic RDF groupsymrdf -sid 1234 -label dynagrp100 -dir 1E:4,2E:4,3E:4,4E:4 -rdfg 100 -remote_sid 5678 -remote_dir 1E:4,2E:4,3E:4,4E:4 -remote_rdfg 100 addgrp
symrdf modifygrpModify RDF groupsymrdf -sid 1234 -rdfg 100 modifygrp -add -dir 1E:24,2E:24
symrdf modifygrpAdd remote portssymrdf -sid 1234 -rdfg 100 modifygrp -add -dir 1E:24,2E:24 -remote_dir 3E:24,4E:24
symrdf modifygrpRemove local portssymrdf -sid 1234 -rdfg 100 modifygrp -remove -dir 1E:24,2E:24

8. Device Groups (symdgsymld)

Table

CommandDescriptionExample
symdg createCreate device groupsymdg create testdg
symdg deleteDelete device groupsymdg delete testdg -force
symdg listList device groupssymdg list -sid 1234
symdg showShow DG detailssymdg show testdg
symld listList devices in DGsymld -g testdg list
symld addallBulk add devices to DGsymld -sid 1234 addall -range 0200:0205 -g testdg
symld addAdd single device to DGsymld -sid 1234 add dev 0200 -g testdg
symld rmallBulk remove from DGsymld -sid 1234 rmall -range 0200:0205 -g testdg
symld removeRemove single devicesymld remove dev DEV001 -g testdg
symld write_disableWrite-disable DG devicessymld -sid 1234 -g testdg -sa ALL write_disable

9. Monitoring & Events (symstatsymeventsymdisk)

Table

CommandDescriptionExample
symstat -type diskDisk performance statssymstat -sid 1234 -type disk -disk all -i 5 -c 1
symstat -type portFA port IOPS/KBPSsymstat -sid 1234 -type port -dir all -i 5 -c 1
symstat -type port -dirSpecific director statssymstat -sid 1234 -type port -dir 5F -i 5 -c 1
symevent listList array eventssymevent -sid 1234 list
symdisk list -failedList failed diskssymdisk -sid 1234 list -failed

10. Host Inquiry (syminqsympd)

Table

CommandDescriptionExample
syminq -fibre hbaCheck all path statussyminq -fibre hba
sympd listList accessible devicessympd list
syminq -pdevfileDevice IDs & serial numberssyminq -pdevfile

11. Licensing (symlmf)

Table

CommandDescriptionExample
symlmf listArray-based licensessymlmf -sid 1234 list -type emclm
symlmf listHost-based licensessymlmf list -type host
symlmf queryLicense state & usagesymlmf -sid 1234 query -type emclm
symlmf addInstall array licensesymlmf -sid 1234 add -type emclm -file <filename> -v
symlmf addInstall host licensesymlmf add -type se -license <LicenseNumber>
symlmf deleteDelete licensesymlmf delete -type se -license FAST

12. Utilities

Table

CommandDescriptionExample
symcli -vShow SYMCLI versionsymcli -v
symapierrTranslate error codessymapierr <error_code>
symauditList audit log recordssymaudit -sid 1234 list
symcfg refreshRefresh Symmetrix DBsymcfg -sid 1234 refresh
symaccess list -type storage -devFind SG for a devicesymaccess -sid 1234 list -type storage -dev 1001
symaccess list -type initiator -wwnFind IG for a WWNsymaccess -sid 1234 list -type initiator -wwn 100000000000001
symaccess list -type port -dirportFind PG for a portsymaccess -sid 1234 list -type port -dirport 7F:1

Notes

  • Replace 1234 with your actual array SID (last 4 digits of serial number work too).
  • Most symconfigure commands use prepare first to validate, then commit to execute.
  • On PowerMax/VMAX3+, use symaccess for masking; symmask is legacy for DMX/VMAX.
  • Commands are typically located at /opt/emc/SYMCLI/bin/ on Linux hosts.

I am a technology enthusiast with 15 years of experience in SAN and NAS Storage. I work with one of the fortune 500 companies as SAN Storage Architect.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.