You are on page 1of 14

EMC SYMCLI

by sanaswati on 30/10/2012 in EMC



If I get a dollar for each time I searched for a sym command to achieve something, I would have
been a one tenth of a millionaire by now Below is the cheat sheet I compiled to prevent me
from becoming that one tenth of a millionaire.
============================================================================
=========
SYMMASKDB
=========
Initialize the VCMDB (a device masking database)
# symmaskdb -sid 1234 init -f vcmdb.db
Backup the VCMDB backups the VCMDB database to a specified file
# symmaskdb -sid 1234 -file <backup_filename> backup
Restore the VCMDB restores a database file
# symmaskdb -sid 1234 -file <restore_filename> restore
Refresh the database (This is sometimes needed after masking on DMXs. It refreshes the array
configuration and VCMDB)
# symmask -sid 1234 refresh
Check whether devices are masked to any host
# symmaskdb -sid 1234 -dev 7D5,03A4:03A7 list assignment (DMX)
# symaccess -sid 1234 -dev 7D5,03A4:03A7 list assignment (VMAX)
Check which devices are masked to given host
# symmaskdb sid 1234 list database
# symmaskdb -sid 1234 list capacity -host hostA (DMX)
# symmaskdb -sid 1234 list capacity -host hostA -dir 07a -p 1 (DMX)
# symmaskdb -sid 1234 list database -wwn 10000000c979bf7e
# symmaskdb -sid 1234 list database -wwn 10000000c9598ed5 -dir 07a -p 1
# symmaskdb -sid 1234 list devs -wwn 10000000c9598ed5 (shows one line per device
and its size, lun number etc)
Check which devices are masked to given FA port
# symmaskdb -sid 1234 list database -dir 11f -p 0
============================================================================
=========
SYMDEV
======
List all devices within the array
# symdev list
# symdev -v list (will take a long time to run because of the sheer amount of output)
See the detailed information about given device
# symdev -sid 1234 show 0200
Find out whether device is MAPPED to any ports (Note: ???:? indicates it is not mapped to any port;
***:* indicates it is mapped to more than one port)
# symdev -sid 1234 show 513 (single device)
# symdev -sid 1234 -range 6d0:6d4 list (multiple devices)
# symdev -sid 1234 -range 6d0:6d4 list -multiport (multiple devices mapped to
multiple ports works with range only could specify same device twice in the range if needed for a
single device for example 513:513)
List which devices are mapped to FA ports
# symdev -sid 1234 list -sa 09c -p 0
List which devices (hypers/metas) are not mapped to any ports
# symdev -sid 1234 -noport list
How to write disable several devices
# cat devs
1200
1201
# symdev -sid 1234 write_disable -file devs -SA 8c -p 0
# symdev -sid 1234 write_disable -file devs
(This will disable devs on all ports)
How to write disable only a single device
# symdev -sid 1234 write_disable 0123 -SA all
# symdev -sid 1234 write_disable 0123 -SA 3A -p 0
How to change the status of device to not_ready
# cat devs
1200
1201

# symdev -sid 1234 not_ready -file devs -SA 8c -p 0
# symdev -sid 1234 not_ready -file devs (This will disable devs on all ports)
# symdev -sid 1234 not_ready 0A2B -SA all (This will disable devs on all ports)
# symdev -sid 1234 not_ready 0A2B -SA 3A -p 0 (This will disable devs on 3a:0 ports)
============================================================================
====
SYMCFG
======
List of FA ports/WWN on given array
# symcfg -sid 1234 -FA all list
# symcfg -sid 1234 -FA 8C list
List detailed information on a FA port
# symcfg sid 1234 -FA 11E list -v
Find out the failed director (front end FA and disk DA)
# symcfg -sid 1234 list -dir all => get the FA or DA number from here
# symcfg -sid 1234 list -fa 5g -v | egrep "Negotiated Speed
(GB/Second)" => speed should be a number
# symcfg -sid 1234 list -da 5d -v | egrep "Director Status"
Display details about array
# symcfg sid 1234 list -v
List LUN addresses available on a given FA (and also to see which luns are mapped to which
devices)
# symcfg sid 1234 list -address -available -fa 7e p 0
To find out which lun number is used to map a device for given host
On VMAX # symaccess -sid 1234 show view hostname_vwa (Column Host Lun under
Storage group name)
On DMX # symmasksdb -sid 1234 list devs -wwn 50001234567890 (Column HOST
under LUN)
List which applications (symcfg/stpdaemon etc) are running the commands against given array
# symcfg sid 1234 -application list
Display details (OS/IP/Hardware/hostname) about hosts that are accessing given array
# symcfg sid 1234 -connections list
Check the consumed capacity of TDEV (space consumed by a TDEV)
# symcfg -sid 1234 list -pool poolname -tdev -detail -gb | grep 1C4B
# symcfg -sid 1234 list -pool poolname -tdev -range 1A11:1A1B -detail -gb
============================================================================
====
SYMDISK
=======
Display the summary information about diskgroups on given array
# symdisk -sid 1234 list -dskgrp_summary -disk_group all
# symdisk -sid 1234 list -dskgrp_summary -disk_group 1
# symdisk -sid 1234 list -dskgrp_summary
Display details about disks in array separated by disk groups
# symdisk -sid 1234 list -by_diskgroup
Display details about disks in given diskgroup
# symdisk -sid 1234 list -disk_group 1
Display the list of disks configured as hotspares in the array
# symdisk -sid 1234 list -hotspare
Display the details of all hotspares in the array
# symdisk -sid 1234 list -v -spare_info
Display the list of failed drives in the array
# symdisk -sid 1234 list -failed
Display list of all disks installed in the array
# symdisk -sid 1234 list
Ident Symb Int TID
Vendor Type Hypr Total Free Actual
------ ---- --- --- ---------- ---------- ---- ---------- ---------- -----
-----
DF-5A 05A C 0
SATAHGST C02THJK 24 953870 32940 1823565

Disk ID would be 5A:C0
Display the detailed information such as speed/make/model/diskgroup/hypers on disk
# symdisk -sid 1234 show 5A:C0
Display the gaps (available space) on given disk
# symdisk -sid 1234 show 5A:C0 -gaps
Display only the gaps (available space) on given disk
# symdisk -sid 1234 show 5A:C0 -gaps_only
How to find out datadevs in degraded status
# symdev -sid 1234 -datadev -service_state notnormal list
============================================================================
====
SYMMASK
=======
Set or clear the FC ID lockdown
# symmask set lockdown
Set or clear visibility in masking database so that host should find all devices, even if they are
noncontiguous LUNs
# symmask set visibility
Set or clear LUN base/offset skip for noncontiguous LUNs
# symmask set lunoffset
Set the record in the database to hold information on the host type that may differ than the current
setting on the corresponding FA
# symmask set heterogeneous
Discover the WWN or iSCSI names of the HBAs on the host and writes the ASCII names to the login
history table, if empty
# symmask discover hba
Display list of devices seen by WWN of given HBA for given host
# symmask list hba
# symmask list hba -v
Display WWNs logged into given FA port (displays the login history table contents)
# symmask -sid 1234 list logins (for the whole array)
# symmask -sid 1234 list logins -dir 3a -p 0 (on given port)
# symaccess sid 1234 list logins dirport 5e:0 (on VMAX)
How to mask the devices to given WWN (Add a device to the list of devices that a WWN can access
only for DMX)
# symmask -sid 1234 -dir 8a -p 0 -wwn 100000012345678 add devs 200,200:205
# symmask -sid 1234 -dir 9d -p 1 -wwn 100000012345679 add devs 46a:479,4b8
-dynamic_lun (in case dynamic_lun is in use)
# symaccess sid 1234 name hostname_sga type storage add devs
200,200:205 lun 2c (on VMAX to map from lun number 2c onwards)
How to unmask the devices from given WWN (Remove a device from the list of devices that a WWN
can access)
# symmask -sid 1234 -dir 8a -p 0 -wwn 100000012345678 remove devs
20c,201:203
# symaccess sid 1234 name hostname_sga type storage remove devs
200,200:205 unmap (on VMAX removing and unmapping)
Delete the login entries for a host on FA port
# symmask -sid 1234 -wwn 100000012345678 delete -dir 8a -p 0 -login
How to assign an alias name to a wwn logged into a FA port
# symmask -sid 1234 -dir 8a -p 0 -wwn 10000001234567 rename
hostname/hba1 (DMX)
# symaccess -sid 1234 rename -wwn 10000001234567 -alias
hostname/hba1 (VMAX)
How to refresh masking database after masking the new luns to a WWN or removing the luns from a
WWN (refresh WWN related memory tables with the contents of VCMDB)
# symmask -sid 1234 refresh
Turn on the flag for different OSs (D for Solaris; C,SC3,OS2007,SPC2 for Windows/VMWare, SPC2
for linux)
On DMX
# symmask -sid 1234 set hba_flags on D enable -wwn 10000001234567 -dir 8C
-p 1 (DMX)
# symmask sid 1234 refresh
On VMAX
# symaccess sid 1234 type init show hostname_ig -detail
# symaccess -sid 1234 set hba_flags on C,SC3,OS2007,SPC2 -enable wwn
100000000123456
# symaccess -sid 1234 set hba_flags on C,SC3,OS2007,SPC2 -enable name
hostname_ig type init
Globally on FA port
set port 1d:0
SCSI_3=enable,SPC2_Protocol_Version=enable,SCSI_Support1=enable;
============================================================================
====
SYMCONFIGURE
============
Verify that the changes can be made to the array
# symconfigure -sid <sid> -f <filename> verify
Confirm that the syntax is correct
# symconfigure -sid <sid> -f <filename> preview
Confirm that the change is correct
# symconfigure -sid <sid> -f <filename> prepare
Commit the changes to the database
# symconfigure -sid <sid> -f <filename> commit
Create IO Fencing devices for cluster
# symconfigure -sid 1234 -cmd "create dev count=24, size=2184 cyl,
emulation=FBA, config=2-Way-Mir disk_group=3;" prepare
Create gatekeepers
# symconfigure -sid 1234 -cmd "create dev count=24, size=6 cyl,
emulation=FBA, config=2-Way-Mir disk_group=3;" prepare
Create raid5 (7+1) thick device (when emulation mode is disabled number of cylinders should be
halved to achieve the same size)
# symconfigure -sid 1234 -cmd "create dev count=64, size=49604 cyl,
emulation=FBA, data_member_count=7, config=raid-5 disk_group=3;" prepare
# symconfigure -sid 1234 -cmd "create dev count=64, size=24802 cyl,
emulation=FBA, data_member_count=7, config=raid-5 disk_group=3;" prepare
Create new replicated tdevs on local and remote arrays, bind them to pool, srdf pairing relationship
between them
# symconfigure -sid 1234 -cmd "create dev count=64, size=24802,
emulation=FBA, config=RDF1+TDEV, dynamic_capability=dyn_rdf,
remote_config=RDF2+TDEV, ra_group=1, binding to pool=source_rep_pool,
remote_pool=target_rep_pool;" prepare
Modify FA Port settings
# symconfigure -sid 1234 cmd set port1C:1
volume_set_addressing=enabled; prepare (this is a setting for HP systems)
How to create metas from hypers
# symconfigure -sid 1234 cmd form meta from dev 001 config=striped,
stripe_size=1920; add dev 002:004 to meta 001; prepare
How to dissolve hypers from meta
# symconfigure -sid 1234 cmd dissolve meta dev 04BE; prepare
How to map the devices to FA port (if devices are not contiguous, then you would need a new line
for each device you cant use commas to separate them)
# cat map_devs
map dev 0200:0202 to dir 08b:0, starting lun=06e;
map dev 0200:0202 to dir 09b:1, starting lun=06e;
OR
map dev 0200 to dir 08b:0, lun=06e;
map dev 0200 to dir 09b:1, lun=06e;
map dev 0201 to dir 08b:0, lun=06f;
map dev 0201 to dir 09b:1, lun=06f;
# symconfigure -sid 1234 -file map_devs prepare
Rule of pair mapping (rule of 17):
On DMXs Ports are [3,4,7,8,9,10,13,14][a-d]. a to d, b to c with rule of 17 and ports opposed. So
3a:0 will be partnered with 14d:1. 4b:1 will be paired with 13c:0.
On VMAXs Ports are [5-12][e-h]. e to e, f to f, g to g, h to h with rule of 17. so 5f:0 will be 12f:0,
8g:0 will be 9g:0 and so on.
How to unmap devices from FA ports (if devices are not contiguous, then you would need a new line
for each device you cant use commas to separate them)
# cat unmap_devs
unmap dev 0200:0204 from dir 07B:1;
unmap dev 0200:0204 from dir 04B:0;
unmap dev 0206 from dir all:all;
# symconfigure -sid 1234 -file unmap_devs prepare
How to set device attribute dyn_rdf on/off
# symconfigure -sid 1234 -cmd 'set dev 1001:1004 attribute=dyn_rdf;'
prepare
How to set SCSI3-Persistent Reserve
# symconfigure -sid 1234 -cmd set dev 2500:2502
attribute=SCSI3_persist_reserv; prepare
How to reclaim wasted space from a TDEV (Zero Space Reclaim)
# symconfigure -sid 1234 -cmd 'free tdev 1A1B start_cyl=0 end_cyl=last_cyl
type=zero;' prepare
============================================================================
====
SYMDG/SYMLD
===========
Create a device group
# symdg create testdg
Delete a device group
# symdg delete testdg -force (if it has members, use -force)
Display the list of device groups
# symdg list <-sid 1234>
Show the details of a particular device group
# symdg show testdg
Display all the devices in a device group
# symld -g testdg list
Add the devices to a device group
# symld -sid 1234 addall -range 0200:0205 -g testdg (bulk)
# symld -sid 1234 add dev 0200 -g testdg(individual)
Remove the devices from a device group
# symld -sid 1234 rmall -range 0200:0205 -g testdg (bulk)
# symld remove dev DEV001 -g testdg (individual must be logical name)
How to write_disable disks in a device group
# symld -sid 1234 -g testdg -sa ALL write_disable (disables devices in DG on all
FAs)
# symld -sid 1234 -g testdg -sa 9c -p 0 write_disable DEV001 (device number
must be DEVXXX and can be obtained by symld -g testdg list)
============================================================================
====
VMAX
====
Bind TDEV to pool with preallocated storage
# symconfigure -sid 1234 -cmd 'bind tdev 1001 to pool fast_pool
preallocate size = 24802 CYL;' prepare
# symconfigure -sid 1234 -cmd 'start allocate on tdev 1001 start_cyl=0
end_cyl=<last_cyl>;' prepare (in case above command fails or to allocate the storage later)
Set the maximum subscription of a pool
# symconfigure -sid 1234 -cmd "set pool fast_pool, type=thin,
max_subs_percent=100;" prepare
How to list the views created on the array
# symaccess -sid 1234 list view [v]
How to display details of a view created
# symaccess -sid 1234 show view hostname_vwa -detail
How to list the groups created on the array
# symaccess -sid 1234 list -type storage|port|initiator
How to display the details of a group created
# symaccess sid 1234 show hostname_sga -type storage
# symaccess sid 1234 show hostname_iga -type initiator
# symaccess sid 1234 show arrayname_5e0_pga -type port
How to create initiator group
# symaccess -sid 1234 create -name hostname_iga -type initiator (just create)
# symaccess -sid 1234 create -name hostname_iga -type initiator -wwn
100000000000001
How to add (or remove) a WWN from a Initiator group
# symaccess -sid 1234 add -name hostname_iga -type initiator -wwn
100000000000001
# symaccess -sid 1234 remove -name hostname_iga -type initiator -wwn
100000000000001
How to create Storage Group and add devs at the same time
# symaccess -sid 1234 create -name hostname_sga -type storage (just create)
# symaccess -sid 1234 create -name hostname_sga -type storage devs
1001:1005
How to add (or remove) devices to storage group
# symaccess -sid 1234 add -name hostname_sga -type storage dev 1001
# symaccess -sid 1234 remove -name hostname_sga -type storage dev 1001 -
unmap
How to create a port group
# symaccess -sid 1234 create -name arrayname_5e0_pga -type port (just create)
# symaccess -sid 1234 create -name arrayname_5e0_pga -type port -dirport
5E:0
How to add (or remove) director ports to a port group
# symaccess -sid 1234 add -name arrayname_5e0_pga -type port -dirport 5E:0
# symaccess -sid 1234 remove -name arrayname_5e0_pga -type port -dirport
5E:0
How to create a view
# symaccess -sid 1234 create view -name hostname_vwa -sg hostname_sga ig
hostname_iga -pg arrayname_5e0_pga
How to rename a group
# symaccess -sid 1234 rename -name hostname_sga -type storage -new_name
newhost_sga
How to rename a view
# symaccess -sid 1234 rename view -name hostname_vwa -new_name
newviewname_vwa
How to delete a view (unmapping the devs at the same time)
# symaccess -sid 1234 delete view -name hostname_vwa -unmap
How to delete a initiator group
# symaccess -sid 1234 delete -name hostname_iga -type initiator
Error: Cannot perform the requested operation because the group is not
empty
# symaccess -sid 1234 delete -name hostname_iga -type initiator -nop -
force
How to delete a storage group
# symaccess -sid 1234 delete -name hostname_sga -type storage
Error: Cannot perform the requested operation because the group is not
empty
# symaccess -sid 1234 delete -name hostname_sga -type storage -nop -force
How to replace a wwn in a initiator group
# symaccess -sid 1234 replace -wwn 100000000000001 -new_wwn
2000000000000002
How to rename (alias) for a given WWN
# symaccess -sid 1234 rename -wwn 100000000000001 -alias
hostname/hba_a (this can be done from local symcli server only)
How to check which storage group a device belongs to
# symaccess sid 1234 list -type storage dev 1001
How to check which initiator group a wwn belongs to
# symaccess sid 1234 list -type initiator -wwn 100000000000001
How to check which port group a FA port belongs to
# symaccess sid 1234 list -type port -dirport 7f:1
How to list all tdevs defined on the array
# symdev -sid 1234 -tdev list
How to check the consumed capacity of a given tdev
# symcfg -sid 1234 list -pool poolname -tdev -detail -gb | grep 1C4B
# symcfg -sid 1234 list -pool poolname -tdev -range 1A11:1A1B -detail -gb
How to list all datadevs defined on the array
# symdev sid 1234 datadev list
How to list all tdevs not bound to any pool
# symdev -sid 1234 -tdev list -unbound
How to list all tdevs bound to given pool
# symcfg -sid 1234 -tdev -pool testpool
How to list all tdevs not assigned to any host
# symdev -sid 1234 -tdev list -noport -unbound
# symdev -sid 1234 -tdev list -noport -bound
How to see details of a pool (or list all tdevs bound to a pool or list all datadevs constituting the pool)
# symcfg -sid 1234 show -pool fast_pool -thin -detail
How to unbind a tdev from pool
# symconfigure -sid 1234 -cmd 'unbind tdev 1001 from pool fast_pool;'
prepare
# symconfigure -sid 1234 -cmd 'unbind tdev 1001:1004 from pool fast_pool;
prepare
How to check the status of device being unbound
# symcfg -sid 1234 show -pool fast_pool -thin -detail | grep Unbind
How to create TDEVs
# symconfigure -sid 1234 -cmd "create dev count=1000, size=32GB,
config=TDEV, emulation=fba, dynamic_capability=dyn_rdf, binding to
pool=poolname;" prepare
How to create VDEVs
# symconfigure -sid 1234 -cmd "create dev count=24, size=24802,
emulation=FBA, config=VDEV;" prepare
How to create metas from TDEVs (TDEVS should not have been bound to any pool)
# symconfigure -sid 1234 -cmd 'form meta from dev 1000, config=STRIPED,
stripe_size=1920; add dev 1001:100F to meta 1000;' prepare
How to list the pools created on the array
# symcfg -sid 1234 list -pool -thin -GB
How to rebalance the pool after adding extra datadevs
# symconfigure -sid 1234 -cmd "start balancing on pool fast_pool
type=thin;" prepare
# symconfigure -sid 1234 -cmd "stop balancing on pool fast_pool
type=thin;" prepare
============================================================================
=========
SYMLMF
========
Display the array based license
# symlmf sid 1234 list -type emclm
Display the host based license
# symlmf list type host
Display host based and array based licenses that apply to Symm array
# symlmf sid 1234 list type sym
Display the state and usage number for all activated licenses on Symm 1234
# symlmf sid 1234 query type emclm
Install the array based license
# symlmf sid 1234 add type emclm file <filename> -v
Install the host based license
# symlmf add type se license LicenseNumber
Delete the license
# symlmf delete type se license <licensename> where <licensename> is
FAST, SRDF, SRDf/Async etc
============================================================================
=========
SYMINQ & SYMPD
==============
To see the status of all paths
# syminq -fibre hba
List the devs that the host can access from an array (to be run on the target host)
# sympd list
# sympd list
List device ids and symmetrix serial number of devices server can see
# sympinq -pdevfile
============================================================================
=========
SYMSTAT
=======
To get the stats for disks
# symstat -sid 1234 -type disk -disk all -i 5 -c 1
To get the stats for FAs IOPS and KBPS
# symstat -sid 1234 -type port -dir all -i 5 -c 1
# symstat -sid 1234 -type port -dir 5f -i 5 -c 1
============================================================================
=========
STORDAEMON
==========
To see the status of daemons
# stordaemon list -all
To show details of a daemon
# stordaemon show <name_of_daemon>
To start a daemon
# stordaemon start <name_of_daemon>
To stop a daemon
# stordaemon shutdown <name_of_daemon>
============================================================================
=========
cheat sheet, emc, sym commands, symcli

You might also like