0% found this document useful (0 votes)
68 views11 pages

VMAX SAN Commands

The document provides commands for managing storage configurations on a VMAX array, including managing initiator groups, port groups, storage groups, devices, pools, and fast policies. Some key commands are for creating and modifying initiator groups, storage groups, port groups, devices, pools, and associating storage groups with fast policies.

Uploaded by

Thomas Petrescu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views11 pages

VMAX SAN Commands

The document provides commands for managing storage configurations on a VMAX array, including managing initiator groups, port groups, storage groups, devices, pools, and fast policies. Some key commands are for creating and modifying initiator groups, storage groups, port groups, devices, pools, and associating storage groups with fast policies.

Uploaded by

Thomas Petrescu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 11

########## VMAX #################

List HOSTNAME
===============================
symaccess -sid xxxx list -v | grep -i HOSTNAME

-------------INITIATOR--------------------

Create initiator group


================================
symaccess -sid xxxx -type initiator -name (IG_)NAME create (-consistent_lun)

Rename initiator group


================================
symaccess -sid xxxx -type initiator -name (IG_)NAME rename -new_name (IG_)NAME

Set consistent lun after IG creation


=================================
symaccess -sid xxxx -name NAME -type init set consistent_lun on

Show initiator group


=================================
symaccess -sid xxxx -type init show NAME

List logins to see if box can see WWNs


=================================
symaccess -sid xxxx list logins -wwn WWN -v

Add WWN to initiator group


=================================
symaccess -sid xxxx -name (IG_)NAME -type initiator -wwn WWN add

Add initiator in PARENT initiator group


=================================
symaccess -sid xxxx -type initiator -name (IG_)PARENT-IG-NAME add -ig (IG_)NAME

Find a wwn's initiator group on VMAX


=================================
symaccess -sid xxxx -type init list -wwn WWN

set bit flags disabled on IG


=================================
symaccess -sid xxx -type init -name <IG_NAME> set ig_flags on V -disable

remove initiator from parent IG


=================================
symaccess -sid xxxx -name PARENT-IG-NAME -type initiator -ig CHILD-IG-NAME remove

delete IG
=================================
symaccess -sid xxxx -name <IG-NAME> -type init delete

Delete LOGINS from symmetrix database


==================================
symaccess -sid xxxx remove -login -wwn WWN (fara : !!!)

Rename aliases on BOX


==================================
symaccess -sid xxxx -wwn <WWN> rename -alias <NEW ALIAS>

------------PORT-----------------------

List all port groups


==================================
symaccess -sid xxxx list -type port (-detail)

list a FA port from a PG


==================================
symcfg -sid xxxx list -fa all | grep -i <FA-XX>

show a PG
==================================
symaccess -sid xxxx show <PG> -type port

Port Group ListAvailAdrr


================================
symcfg -sid xxxx list -addr -avail -dir xxx -P 1/0

Check pool allocated tracks


================================
symcfg -sid xxxx show -thin -pool <POOL_NAME> -detail (| grep -i yyyy)

Check how many TB are allocated to a port


===============================
symfasum -sid xxx -fa 11E -p 0

Check FA port flags


===============================
symcfg list -fa <07G> -p 0/1 -v
------------STORAGE---------------------

Create storage group


================================
symaccess -sid xxxx -name SG_NAME (!!naming convention on CCH!!) -type stor create

List devs from a storage group


================================
symdev -sid xxx list -sg <SG_NAME>

add devs to SG
=================================
symaccess -sid xxxx -type storage -name <SG_NAME> add devs xxxx,xxxx

move devs from one SG to another


=================================
symsg -sg EXISTING moveall CURRENT_SG
symsg -sg EXISTING -dev A,B,C,D moveall CURRENT_SG
symsg -sg EXISTING -dev X moveall CURRENT_SG

show SG
=================================
symsg -sid xxxx show <SG_NAME>

rename SG
=================================
symaccess -sid xxxx -type storage -name OLD-SG-NAME rename -new_name NEW-SG-NAME

delete storage group


=================================
symaccess -sid xxxx -name <SG_NAME> -type stor delete (-force)

Set Host IO limit on SG


=================================
symsg -sid xxxx -sg <SG_NAME> set -iops_max 100 -dynamic always

Add child SG to parent SG


============================
symsg -sid xxx -sg PARENT-SG-NAME add sg ChildSG1,ChildSG2,ChildSG3

----------------FAST ASSOCIATION----------------------

list fast policy


==================================
symfast -sid xxxx list -fp
show fast policy
==================================
symfast -sid xxxx show -fp_name <FAST-POLICY-NAME>

list to which FP is a SG associated


==================================
symfast -sid xxxx list -association -demand -sg <SG_NAME>

associate SG to FP
==================================
symfast -sid xxxx -fp_name <FAST-POLICY-NAME> associate -sg <SG-NAME> -prio 2

modify priority for SG


==================================
symfast -sid xxx -fp_name F_Policy1 modify -sg MySg -priority 1

list association to all SGs


==================================
symfast -sid xxxx list -association

deassociate FAST Policy


==================================
symfast -sid xxxx list -fp
symfast -sid xxxx list -association
symfast -sid xxxx -fp_name <FAST-POLICY-NAME> disassociate -sg <SG-NAME>

check FAST VP relocation rate & change


==================================
symfast -sid xxxx set -control_parms <- check + -vp_reloc_rate 4 <- change (1-5
unde 5 default)

--------------------------POOL AND DISK_GROUP-----------------------------

bind to pool
==================================
symconfigure -sid xxxx -cmd "bind tdev xxxx to pool <POOL-NAME>;" -v prepare

Check bound pool for more devs(use input file)


==================================
for i in `cat input`; do symdev -sid xxxx show $i | grep "Bound Thin Pool Name";
done

list disk group total capacity


==================================
symdisk -sid xxxx list -dskgrp_summary

list thin pool


==================================
symcfg -sid xxxx list -thin -pool -GB (-detail ptr subscription)
Show the Thin Pool details
==================================
symcfg -sid xxxx show -pool <POOL-NAME> -thin -detail -GB

How to calculate THIN pool allocation


==================================
Available GBs*max allocation% - Available GBs*current pool allocation% = Usable GBs

Change the "Max. Subscription Percent" of the Pool


==================================
symconfigure -sid xxxx -cmd "set pool <POOL-NAME>, type=thin,
max_subs_percent=170;" -v -nop prepare

Unbind from pool


==================================
symconfigure -sid xxx -cmd "unbind tdev XXXX from pool pool_name;" prepare

or with FILE, but then use:

symconfigure -sid xxx -f FILENAME.txt -v -nop prepare

OR

symdev unbind -dev 2D64:2D6B

list pool allocation for device


==================================
symcfg -sid xxxx show -thin -pool POOL_NAME -detail | grep -i yyyy

check devices pool bound


==================================
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "Bound Thin Pool
Name"; done

See after unbind how much is unbinded


==================================
symcfg -sid xxx list -tdev -dev xxxx -gb -i 15

for i in `cat input`; do echo $i; symcfg -sid xxxx list -tdev -dev $i -GB -i 60;
done

See devs in a pool


==================================
symcfg -sid xxxx list -tdev -pool POOL_NAME -gb -detail

Check in which pool dev has data


==================================
symcfg -sid xxx list -tdev -sg SG_NAME -det -v | more

Pool Migration
==============================
1. Validate the migration:
symmigrate -sid xxxx -sg <SG-NAME> -tgt_pool -pool <POOL-NAME> -name VP_migration
validate

2. Establish the migration:


symmigrate -sid xxxx -sg <SG-NAME> -tgt_pool -pool <POOL-NAME> -name VP_migration
establish

3. Monitor the migration progress:


symmigrate –sid xxxx -name VP_migration query

4. Verify the migration has completed:


symmigrate –name VP_migration verify –migrated

5. Terminate the migration:


symmigrate –name VP_migration terminate

----------------DEVICES-------------------------

List devices in different ways


===================================
symdev list -sg sg_aownlms038 -v|grep Pool
symdev list -dev 19f8,1a00,1a04 -v|grep Pool
symdev list -dev 19f8,1a00,1a04 -v|grep -E "Device Symmetrix Name|Pool|MegaBytes"
symdev list -sg sg_til_hpsap21_n1_go -v | grep -E "Device Symmetrix Name|Group
Number|Remote Device Symmetrix Name|Remote Symmetrix ID"

create TDEVs
===================================
symconfigure -sid xxx -cmd "create dev count=<4>, size=<16386> cyl, emulation=FBA,
config=TDEV;" -v prepare (emulation=as/400_d910_099 pentru mainframe!!!)
symconfigure -sid xxx -cmd "create dev count=<1>, size=<273104>
config=TDEV,emulation=fba, meta_member_size=<34138> meta_config=Striped binding to
pool=<tfcsod12dg01>,(dynamic_capability=dyn_rdf,device_attr=SCSI3_persist_reserv);"
-v -nop prepare

form meta with file (use vi formmeta.txt)


===================================
form meta from dev xxxx config=striped;
add dev xxxx to meta xxxx;
add dev xxxx to meta xxxx;
add dev xxxx to meta xxxx;

symconfigure -sid xxxx -f formmeta.txt -v -nop prepare

dissolve meta
====================================
symconfigure -sid xxxx -cmd "dissolve meta dev xxxx;" -v prepare

Check which SG is a device from


====================================
symaccess -sid xxxx -type stor list -dev xxxx

Check LUN assignment


====================================
symaccess -sid xxxx list assignment -dev xxxx

Check not reserved devs to be used (CCH CLIENT - THICK DEVICES)


====================================
symdev -sid xxxx list -noport -noreserve -cap <MB!!!> -disk_group 1 (| grep RAID |
tail -10) \\\ disk_group 1 for RAID5 // disk_group 2 for BCVs

copy devices
====================================
symconfigure -sid xxx -cmd "configure 5 devices copying dev xxxx;" -v -nop prepare

set dev not_ready


====================================
symdev -sid xxxx not_ready xxxx

Convert a concatenated meta to stripe meta


====================================
symconfigure -sid xxx -CMD "convert meta xxxx config=striped,
protect_data=TRUE,bcv_meta_head=xxxx;" -v prepare

Convert a device
====================================
symconfigure -sid XXX "convert dev YYY to BCV+R-5;" preview

set Dynamic RDF Capability for a device


====================================
symconfigure -sid xxxx -cmd "set device yyy attribute=dyn_rdf;" -v -nop prepare

remove dev from SG AND UNMAP


====================================
symaccess -sid xxxx -name <SG-NAME> -type stor remove dev xxxx -unmap

Unmap dev from FA ports


====================================
symconfigure -sid xxxx -cmd "unmap dev yyyy from dir ALL:ALL;" -v prepare

Reserve a LUN
==============================
symconfigure -sid xxxx -cmd "reserve dev xxxx;" -owner a586790 -comment "ch CHG-
000383465" -expire MONTH/DAY reserve -nop

Show a reserved LUN


==============================
symconfigure -sid xxxx show -Reserve_id x

Find reserved_id for LUNs


==============================
symconfigure -sid xxxx list -reserved

Find reserved LUNs by capacity


==============================
symdev -sid xxxx list -reserved -cap <MB!!!> (| grep RAID-5)

Manually delete reservation


=============================
symconfigure -sid xxxx release -reserve_id <ID NO.> -nop

Show Meta Members before dissolving a meta


=============================
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep -e "Meta Device
Members" -A 20; done

Delete device
=============================
symconfigure -sid xxxx -cmd "delete dev yyyy:yyyy;" -v prep

Find device after MegaBytes (and show only first MegaBytes line)
=============================
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep -m 1 "MegaBytes";
done

Creating a clone (create a clone file .txt and add devs on two columns X Y where X
is source and Y target)
=============================
symclone -sid xxxx -f <clone-file> query
symclone -sid xxxx -f <clone-file> create (-precopy)
symclone -sid xxxx -f <clone-file> activate
symclone -sid xxxx -f <clone-file> terminate

Check the Clones


=======================
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "Time of Last
Clone Action"; done
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "Source (SRC)
Device Symmetrix Name"; done
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "Target (TGT)
Device Symmetrix Name"; done

RDF
======
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "Time of Last
Device Link Status Change"; done
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "Remote Device
Symmetrix Name"; done
for i in `cat input`; do echo $i; symdev -sid xxxx show $i | grep "RDF (RA) Group
Number"; done

List rdf group


=============================
symcfg -sid xxxx -rdfg xxx(all) list
symrdf -sid xxxx -rdfg yy list

list mirror pair


==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx query
create async relation without movepair needed
==============================
symrdf -sid xxx -f Asrdf -rdfg xxx createpair -type R1 -estab -rdf_mode async -
cons_exempt

create adaptive copy relation


==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx -type r1 createpair -est -rdf_mode acp_disk

create sync relation


==============================
symrdf -sid 5007 -f srdf -rdfg 3 createpair -invalidate R2 -type RDF1
symrdf -sid 5007 -f srdf -rdfg 3 query
symrdf -sid 5007 -f srdf -rdfg 3 establish

create new pair similar to -est but with -invalidate


==============================
symrdf -sid xxx -rdfg xxx -f <FILE> createpair -type R1 -invalidate R2

create pair directly to syncronized mode without any rdf mode (NEW DEVICES - nu mai
trebuie sa se faca sync cu -format)
==============================
symrdf -sid xxx -rdfg xxx -f <FILE> createpair -type R1 -format

Set group async


==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx set mode async

Move pair to other RDF group


==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx movepair -new_rdfg xxx -cons_exempt (PENTRU
A MUTA UN GROUP SYNCHRON NU SE FOLOSESTE -const_exempt!!!)

Split pair
==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx split

Suspend pair
==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx suspend

Enable/disable pair
==============================
symrdf -sid xxxx -f <FILE> -rdfg xxx enable/disable

Make a SCSI-3 PERSISTENT RESERVATION for dev ENABLED/DISABLED


==============================
symconfigure -sid xxx -cmd "set device 06C6 ATTRIBUTE=SCSI3_persist_reserv;” –v –
nop prepare
symconfigure -sid xxx -cmd "set device 06C6 ATTRIBUTE=NO SCSI3_persist_reserv;” –v
–nop prepare [DISABLED]

Extending devices
==============================
Method 1:

a. copy original dev overriding its config to BCV+TDEV


b. unbind NEW dev from its pool then rebind it with preallocate size = all
c. create members to extend original devices (check one member of original device
to see how many new devs need to be created)
d. add new members to original meta with bcv meta head NEW dev

Method 2:

a. create a new device with the exact same size (and members) as original dev bound
and preallocated = all
b. create members to extend original devices (check one member of original device
to see how many new devs need to be created)
c. add new members to original meta with bcv meta head NEW dev

ACCESS CONTROL LIST commands


===============================
symacl -f FILE -v prepare
symacl -f FILE -v commit

Creating a accgroup & accpool (grupul cu CAPSLOCK!!!)


-------------------------------
create accgroup NLSMEMS062_063; file 1
add host accid 3DE86CBD-0F10719E-351BB460 name mems062 to accgroup NLSMEMS062_063;
add host accid CC546C48-700A7811-8B18E341 name mems063 to accgroup NLSMEMS062_063;
create accpool dsm01-esx01;
add dev 211D to accpool dsm01-esx01;
grant access=RDF to accgroup NLSMEMS062_063 for accpool dsm01-esx01;
grant access=BASE to accgroup NLSMEMS062_063 for accpool dsm01-esx01;
grant access=BASECTRL to accgroup NLSMEMS062_063 for accpool dsm01-esx01;
grant access=BASE to accgroup NLSMEMS062_063 for ALL devs;

View ACL group


====================================
symacl list -accgroup

View ACL pool


====================================
symacl list -accpool

Creating a backup of the ACL


====================================
symacl backup -file acl5399.txt

AUDIT commands
====================================
symaudit -sid xxxx list -symdev_range 1113:1113 -start 7/01/2015
symaudit -sid xxxx list -rec 56151 -n 1 -v

-------------MASKING VIEW-----------------------

create view
====================================
symaccess -sid xxxx create view -name <MV-NAME> -sg <SG-NAME> -ig <IG-NAME> -pg
<PG-NAME>
show masking view
====================================
symaccess -sid xxxx show view <MV-NAME>

delete masking view and unmap


====================================
symaccess -sid xxxx delete view -name <MV-NAME> (-unmap)

rename masking view


====================================
symaccess -sid xxxx view -name Host1_Allocation rename -new_name Host2_Allocation

-------------OTHER-----------------------------

USEFUL
===============================
symCOMMAND COMMAND |clip

===============================
(cat) `which devinfo.sh`

Check VMAX details (Faulty power supplies, LCC, etc)


===============================
symcfg -sid xxxx list -env_data -v
symcfg -sid xxxx list -env_data -detail

Check tdev lun utilization


============================
symcfg -sid xxx list -tdev -gb -sg SG_NAME -detail

D + SHIFT + G - delete with VI

You might also like