Wednesday 2 October 2013

VMAX and Symmetrix SYMCLI commands

symcfg

Before you can do anything with a VMAX, you need to install the Solution enabler software, which you can get from powerlink.emc.com. You download the software, unzip or untar it, run the emc-install program and get the product licensed.
Now you have your software, but you need to run an initialisation command before you can connect to your DMX. Navigate to /usr/symcli/bin and run;
 symcfg discover
 symcfg list 
The first command gets information from the DMX and uses it to build a configuration database on your host. The second command lists that information out.
However symcfg is a very powerful command that can be used to display and alter the configuration of a VMAX. My preference is to use symconfigure for most of this, but symcfg can be used to manage VMAX locks, RDF and director ports, gatekeeper devices, hosts and host ports, mainframe connections, and more.
Discover all VMAX arrays connected to this host, then build or refresh the Symmetrix configuration database file using this information:
  symcfg discover
Display information held in the Symmetrix configuration database about all attached Symmetrix arrays
  symcfg list
Display more detailed information about the attached Symmetrix arrays and their directors
  symcfg list -v -dir all
Display detailed information about a specific director, in this case 0E
  symcfg list -v -dir 0E
Display information about all front-end directors on Symmetrix array 824
  symcfg list -SA ALL -sid 824
Display information about all the registered hosts that are connected to the Symmetrix array 824
  symcfg list -connections -sid 824
To list all gatekeeper and database access locks, enter:
  symcfg list -semaphores
To verify whether the Symmetrix 824 configuration and the Symmetrix configuration database are in sync, enter:
  symcfg verify -sid 824
list the port flags for port 0 on director 5 position A
  symcfg -sid 38 list -sa 5A -p 0 -v
Take the above port offline (necessary to change port flags - and remember this could make storage unavailable to users so use with caution)
  symcfg -sid 38 offline -sa 5A -p 0 
enable port flag vcm-state on the above port
  symcfg -sid 38 set port 5A:0 vcm-state=enable 
put the port back online
  symcfg -sid 38 online -sa 5A -p 0 

symconfigure

The symconfigure command lets you make changes to your Symmetrix device, for example to add new volumes, add or change port and host assignments and configure remote mirroring RDF devices. It updates the symm.bin file on the symm. device. The command cannot be shortened, symcfg is a different command
As part of making changes, symconfigure lets you save the current configuration, reserve devices to prevent others from using them, and gives you a number of query, list and verify options to check the current status of a symmetrix and validate any proposed changes before applying them.
You run symconfigure from a host server that is connected to the symmetrix, If anything happens to that host or the connection to the symm. while a change was in progress then the symm. could be left in an indeterminate state. To cater for this scenario, symconfigure has an abort option that lets you back out uncompleted changes.
symconfigure itself has a fairly small set of parameters, it does most of its powerful processing by reading a command file. The simplest command is symconfigure -h, the online help facility. The other symconfigue commands require a -sid parameter which identifies the Symmetrix that you are going to change. Before you want to start to make changes you will probably want to see your existing Symmetrix configuration.
If the query command shows that a hung session exists, then no more updates will be possible as any session puts a lock 15 on the symm.

Checking VMAX status using symconfigure and managing reserves

These examples commands are running against a VMAX with a symmetrix ID of 123
Query VMAX 123 to see what total freespace is available
    symconfigure -sid 123 -freespace -unit mb list 
Display the version number of the SYMCLI, SYMAPI and the configuration server. -sid is optional, leave it off and the versions for all attached symms are displayed.
    symconfigure -sid 123 -version -v 
The query command will check for any existing active configuration activity. If this command cannot get the information, it will keep retrying. You can control this with the -i and -c options which are interval between retries and number of retries.
Query a VMAX 8 times at 5 second intervals to see if any updates are running
    symconfigure -sid 123 -i 5 -c 8 -v query
Query a VMAX for reserves
    symconfigure -sid 123 -reserved list
Query a given reserve to get more details
    symconfigure -sid 123 -reserve-id 4567 show
Safely attempt to release reserve 4567
    symconfigure -sid 123 -reserve-id 4567 -noprompt release

Symconfigure examples using the command file

If you are planning updates to your VMAX configuration, then generally the best way to do this is to put all your updates into a command file, then run that file through the symconfigure command. The advantages of doing this is that you can get your commands peer checked by a colleague and syntax checked by the system before you run them. Each command has three options,
'preview' which checks the syntax of your command list;
'prepare', which also checks your syntax, then checks that the VMAX is in a healthy enough state to process the commands, with enough free resources to process the command,
'commit' which does the first two, then applies the updates.
The basic syntax for running symconfigure updates using a command file called command.txt is
    symconfigure -sid 123 -v -file command.txt preview  
    symconfigure -sid 123 -v -file command.txt prepare
    symconfigure -sid 123 -v -file command.txt commit 
Some optional parameters are -noprompt which suppresses the 'do you really want to ...' messages and -v for verbose which means echo results back to the terminal

Command file examples

Changing devices

Create 2 small Gatekeeper devices. Gatekeepers are used to communicate with the VMAX. EMC recommends 4 gatekeepers per port and they are typically created with just 6 cylinders.
    create dev count=2 size=6 emulation=fba;
Create 20 bigger Standard devices
    create dev     count=20,
	 SIZE=50 GB, 
 eMulation=FBA;
Note that the commands are not case sensitive, parameters can be separated by commas or spaces, can span more than one line, can contain extra white space, but must end with a semicolon ';' .
Add 6 a new spare devices
create spare count=4, format = 520;
Older symmetrix devices has 512 bytes in a block, new devices have 520 bytes in a block.
To delete disks use
		delete dev Device-name

Working with Metas

EMC split a physical device into between 1 and 128 hyper volumes, which are then combined together to form meta devices. A meta corresponds to a LUN as presented to a host, so a LUN can be bigger than a physical device. A meta-device can consist of up to 1024 hypers, but all the hypers must be the same size and type and have the same protection. Valid hyper sizes range from between 0.5 and 32GB. A Meta can be concatenated, that is, it can consist of hypers strung together, or it can be striped, when the data is striped across the hypers. The first device in a meta is known as the meta head.
The starting point is to find any unmapped devices using the command symdev list -noport. If any of these devices are allocated as BCV pairs or defined to device groups, then split them out using commands like this
 symmir -g group_name split
 symmir -g group_name rmall

Examples of symconfigure command files working with metas

define a concatenated meta and add 2 more devices to it. Concatenated metas are best for sequential data access, and they are easier to gorw or shrink that striped metas.
   form meta from device 028
      config=concatenated;
   add dev 015:016 to meta 028;
define a striped meta and add 2 more devices to it. Striped metas are best for random data access, but they can't be shrunk and are more difficult to grow.
   form meta from device 02b
      config=striped
	  stripe-size=1920;
   add dev 017:018 to meta 02b;
Split meta 02b back into it's constituent hypers - this will destroy any data on the meta!
	dissolve meta dev 02b;
remove device 016 from meta 028
	remove dev 016 from meta 028;

Examples of symconfigure command files for mainframe disks

Create a mainframe striped meta. This must include at least 4 meta devices. This example creates 4 * 500 cylinder metas, then uses them to create a 2000 cylinder striped CKD meta in a RAID1 configuration.
   create dev count=4 size=2000
    emulation=CKD-3390 config=2-way-mir
	attribute=CKD-meta;
PAV aliases are used to allow multiple concurrent access to mainframe devices. See the PAV section for details. The following commands can be used to allocate PAV aliases. The first command will add 4 aliases to a specific symm. device. The second command allocates a range of aliases to a sub system
  add pav alias to dev 02b alias count=4 
  add pav alias range 127:255 to mvs ssid=B000 

Some other useful commands

symdev

One of the main uses of the symdev command is to see what free hypers are available. The command to do this is
   symdev list -noport
   
   symdev list -da all space   
   
   symdev list -meta 
   
   symdev show meta head address 
The second command will show all backend space available
The third command will list out all the meta heads, and also tell you how many hypers are associated with each meta head.
The last command will list out all the details for one meta. The show command usually gives more detail than list, as it reads its information from the host database.

symapierr

Returns a string with a detailed description of any return code generated by any SYMAPI function
To return a string for error number 10, enter:
   symapierr 10
The following will be output:
 SYMAPI Error Symbol : SYMAPI-C-NO-DEVS-FND-UPGRADE
 SYMAPI Error Message: No Symmetrix devices found with microcode version 5x63 or up.

syminq

This command checks which devices are mapped to a host
To work out directory and port mappings enter:
   syminq -pdevfile

0 comments:

Post a Comment