This appendix provides a sample Solutions Enabler client/server configuration. Use EMC documentation and storage experts to bring up your configuration.
In this example, global clusters are named paris and newyork. Cluster paris has two nodes named phys-paris-1 and phys-paris-2. Cluster newyork has two nodes named phys-newyork-1 and phys-newyork-2. Cluster paris has a zone cluster named pariszc with nodes pariszc-1 and pariszc-2. Cluster newyork has a zone cluster named newyorkzc with nodes newyorkzc-1 and newyorkzc-2.
The following steps show how Solutions Enabler client/server can be configured:
Install symcli on all nodes of global clusters and zone clusters.
Setup virtual network for netcnfg for client server comunication. Execute the following step on the Paris cluster.
Create VNIC on phy-paris-1.
root@phys-paris-1:~# dladm create-etherstub etherstub0 root@phys-paris-1:~# dladm create-vnic -l etherstub0 vnic1 root@phys-paris-1:~# dladm create-vnic -l etherstub0 vnic2 root@phys-paris-1:~# ipadm create-ip vnic1 root@phys-paris-1:~# ipadm create-addr -T static -a 192.168.0.1/30 vnic1/v4 root@phys-paris-1:~# dladm show-link
Create VNIC on phy-paris-2.
root@phys-paris-2:~# dladm create-etherstub etherstub0 root@phys-paris-2:~# dladm create-vnic -l etherstub0 vnic1 root@phys-paris-2:~# dladm create-vnic -l etherstub0 vnic2 root@phys-paris-2:~# ipadm create-ip vnic1 root@phys-paris-2:~# ipadm create-addr -T static -a 192.168.3.1/30 vnic1/v4 root@phys-paris-1:~# dladm show-link
Configure the pariszc-1 zone cluster on the phy-paris-1 zone cluster.
root@phys-paris-1:~# clzc configure pariszc clzc:pariszc> select node physical-host=phys-paris-1 clzc:pariszc:node> add net clzc:pariszc:node:net> set physical=vnic2 clzc:pariszc:node:net> end clzc:pariszc:node> end clzc:pariszc> select node physical-host=phys-paris-2 clzc:pariszc:node> add net clzc:pariszc:node:net> set physical=vnic2 clzc:pariszc:node:net> end clzc:pariszc:node> end clzc:pariszc> exit root@phys-paris-1:~# root@phys-paris-1:~# clzc reboot pariszc ... root@phys-paris-1:~# zlogin pariszc root@pariszc-1:~# ipadm create-ip vnic2 root@pariszc-1:~# ipadm create-addr -a 192.168.0.2 vnic2 vnic2/v4 root@pariszc-1:~#
Configure the pariszc-2 zone cluster on the phy-paris-2 zone cluster.
root@phys-paris-2:~# zlogin pariszc root@pariszc-2:~# ipadm create-ip vnic2 root@pariszc-2:~# ipadm create-addr -a 192.168.3.2 vnic2 vnic2/v4 root@pariszc-2:~#
Repeat the same configuration steps on the newyork cluster.
On all nodes of global cluster and zone cluster add the following lines to /etc/hosts file.
192.168.0.1 seserver1 192.168.0.2 client1 192.168.3.1 seserver2 192.168.3.2 client2
Ensure that phys-paris-1 and pariszc-1 can ping 192.168.0.1 and 192.168.0.2 and that these IPs are up on the correct hosts. Also ensure that 192.168.3.1 and 192.168.3.2 can be pinged from phys-paris-2 and pariszc-2 and are up on the correct hosts. This should remain true across reboots.
On all nodes of global cluster nodes start storsrvd and set it to start automatically at bootup.
# stordaemon list # stordaemon start storsrvd -args -autostart # stordaemon list
On all nodes of global cluster nodes update /var/symapi/config/options file.
root@phys-newyork-1:~# grep -v ^# /var/symapi/config/options | grep -v ^$ SYMAPI_ALLOW_RDF_SYMFORCE = TRUE SYMAPI_USE_GNS = ENABLE SYMAPI_USE_ACCESS_ID = CLIENT root@phys-newyork-1:~#
On all nodes of zone cluster nodes update the /var/symapi/config/options file.
root@newyorkzc-1:~# grep -v ^# /var/symapi/config/options | grep -v ^$ SYMAPI_ALLOW_RDF_SYMFORCE = TRUE SYMAPI_USE_GNS = ENABLE SYMAPI_ALTERNATE_ACCESS_ID = ENABLE SYMAPI_CLIENT_SIDE_ACCESS_ID = ENABLE root@newyorkzc-1:~#
On pariszc-1 of zone clusters update /var/symapi/config/netcnfg file.
root@pariszc-1:~# grep -v ^# /var/symapi/config/netcnfg | grep -v ^$ SYMAPI_SERVER2 - TCPIP seserver1 192.168.0.1 2707 NONSECURE root@pariszc-1:~#
On pariszc-2 of zone clusters update /var/symapi/config/netcnfg file.
root@pariszc-2:~# grep -v ^# /var/symapi/config/netcnfg | grep -v ^$ SYMAPI_SERVER2 - TCPIP seserver2 192.168.3.1 2707 NONSECURE root@pariszc-2:~#
Confirm that the service is listed in zone cluster nodes.
root@pariszc-1:~# symcfg list -service
S Y M A P I N E T S E R V I C E S
Pairing Port Security
Name Method Type Node Name Address Number Level
------------ ------ -------- -------------------- --------------- ------ ---------
SYMAPI_SERVER2 Single TCPIP seserver 192.168.0.1 2707 NONSECURE
root@pariszc-1:~#
On both nodes of global clusters update /var/symapi/config/daemon_options options.
root@phys-paris-1:~# grep -v ^# /var/symapi/config/daemon_options | grep -v^$
storsrvd:port = 2707
storsrvd:security_level = NONSECURE
storstpd:logfile_type = dated
root@phys-paris-1:~#
root@phys-paris-1:~# stordaemon shutdown storsrvd
root@phys-paris-1:~# stordaemon start storsrvd
Waiting for daemon to start. This may take several seconds.
root@phys-paris-1:~# stordaemon action storsrvd -cmd show server storsrvd
ANR0123I Show Server Details:
SYMAPI Version : V8.1.2.0 (Edit Level: 2112)
SYMAPI Session Total/Active : 0/0
SYMAPI Session Port : 2707
Security Level : NONSECURE Show ANR
Category : Disabled
Show ANR Message Id : Enabled
Enhanced Authentication : Disabled
Transfer Protocol Version : 3
Maximum Sessions : 100
Maximum Sessions per Host : NOLIMIT
Maximum Sessions per User : NOLIMIT
Symapi Debug Permitted : SERVER
Allow Wildcarded Certificates : Disabled
ANR0123I Show OS Information Details:
Process ID : 2915
Host OS Name/Version : SunOS/5.11
Processor Model/CPUs : sun4v/64
ANR0123I Show Symapi Debugging Details:
SYMAPI_DEBUG : 0x00000000
SYMAPI_DEBUG2 : 0x00000000
SYMAPI_DEBUG_CONTROLS : 0x00040100
SYMAPI_DEBUG_FILENAME : /var/symapi/log/debug/storsrvd_debug.log
root@phys-paris-1:~#
Create access group and access pool for devices LUNs that will be presented to the zone cluster nodes.
Ensure that the global cluster nodes are defined as admin hosts for ACL.
The physical cluster nodes of both clusters must be defined as admin hosts for ACL. This is done at the time the ACL feature is enabled and is initially done once by the EMC support personnel. Admin hosts are part of a pre-existing group called AdminGrp, which has total control on all devices and Access Pools in the Symmetrix to which it is attached.
Ensure that SYMAPI_ALTERNATE_ACCESS_ID = ENABLE entry is set in /usr/emc/API/symapi/config/options of all zone cluster nodes. This enables symacl -unique to return a different value between global cluster node and zone cluster node.
From one node of paris cluster, for example, phys-paris-1 type the following commands.
root@phys-paris-1:~# cat /var/tmp/acl
create accgroup emcgeozcgrp;
add host accid 68233E1F-50C551E9-3A11024C name pariszc-1 to accgroup emcgeozcgrp;
add host accid 78434024-C67F5F0B-1218FD50 name pariszc-2 to accgroup emcgeozcgrp;
add host accid 396616F7-07DF176D-F6994F7A name newyorkzc-1 to accgroup emcgeozcgrp;
add host accid D2003D5F-11F48B55-1CBB926D name newyorkzc-2 to accgroup emcgeozcgrp;
create accpool emcageozcpool;
add dev 00047:00047 to accpool emcageozcpool;
add dev 00048:00048 to accpool emcageozcpool;
add dev 00049:00049 to accpool emcageozcpool;
add dev 0004A:0004A to accpool emcageozcpool;
add dev 0004B:0004B to accpool emcageozcpool;
add dev 0004C:0004C to accpool emcageozcpool;
add dev 0004D:0004D to accpool emcageozcpool;
add dev 0004E:0004E to accpool emcageozcpool;
add dev 0004F:0004F to accpool emcageozcpool;
add dev 00050:00050 to accpool emcageozcpool;
add dev 00051:00051 to accpool emcageozcpool;
add dev 00052:00052 to accpool emcageozcpool;
grant access=BASE to accgroup emcgeozcgrp for ALL devs;
grant access=RDF to accgroup emcgeozcgrp for accpool emcageozcpool;
grant access=BASECTRL to accgroup emcgeozcgrp for accpool emcageozcpool;
grant access=CFGSYM to accgroup emcgeozcgrp for ALL devs;
grant access=BASE to accgroup emcgeozcgrp for accpool emcageozcpool;
root@phys-paris-1:~#
root@phys-paris-1:~# date; symacl -sid 000196800793 -file /var/tmp/acl
commit Thu Apr 7 15:01:30 PDT 2016
Enter Access PIN:
Command file: (/var/tmp/acl)
PREVIEW............................................................................................Started.
PREVIEW............................................................................................Done.
PREPARE............................................................................................Started.
Creating group emcgeozcgrp......................................................................Done.
Adding Host access id pariszc-1 to
group emcgeozcgrp...............................................................................Done.
Adding Host access id pariszc-2 to
group emcgeozcgrp...............................................................................Done.
Adding Host access id newyorkzc-1 to
group emcgeozcgrp...............................................................................Done.
Adding Host access id newyorkzc-2 to
group emcgeozcgrp...............................................................................Done.
Creating pool emcageozcpool.....................................................................Done.
Adding 1 devs, dev 00047 through 00047 to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 00048 through 00048 to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 00049 through 00049 to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 0004A through 0004A to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 0004B through 0004B to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 0004C through 0004C to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 0004D through 0004D to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 0004E through 0004E to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 0004F through 0004F to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 00050 through 00050 to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 00051 through 00051 to
pool emcageozcpool..............................................................................Done.
Adding 1 devs, dev 00052 through 00052 to
pool emcageozcpool..............................................................................Done.
Granting access BASE to group emcgeozcgrp
for ALL devs....................................................................................Done.
Granting access RDF to group emcgeozcgrp
for pool emcageozcpool..........................................................................Done.
Granting access BASECTRL to group emcgeozcgrp
for pool emcageozcpool..........................................................................Done.
Granting access CFGSYM to group emcgeozcgrp
for ALL devs....................................................................................Done.
Granting access BASE to group emcgeozcgrp
for pool emcageozcpool..........................................................................Done.
PREPARE............................................................................................Done.
Starting COMMIT....................................................................................Done.
root@phys-paris-1:~#
root@phys-paris-1:~# symacl show accgroup emcgeozcgrp -acl
Symmetrix ID: 000196800793
Group Name Pool Name Access Type
---------------------------------- --------------------------------- -----------
emcgeozcgrp emcageozcpool BASE
emcgeozcgrp ALL_DEVS CFGSYM
emcgeozcgrp emcageozcpool BASECTRL
emcgeozcgrp emcageozcpool RDF
emcgeozcgrp ALL_DEVS BASE
root@phys-paris-1:~#
From one node of the newyork cluster, for example phys-newyork-1, type the following commands.
root@phys-newyork-1:~# cat /var/tmp/acl
create accgroup emcgeozcgrp;
add host accid 68233E1F-50C551E9-3A11024C name pariszc-1 to accgroup emcgeozcgrp;
add host accid 78434024-C67F5F0B-1218FD50 name pariszc-2 to accgroup emcgeozcgrp;
add host accid 396616F7-07DF176D-F6994F7A name newyorkzc-1 to accgroup emcgeozcgrp;
add host accid D2003D5F-11F48B55-1CBB926D name newyorkzc-2 to accgroup emcgeozcgrp;
create accpool emcbgeozcpool;
add dev 00053:00053 to accpool emcbgeozcpool;
add dev 00054:00054 to accpool emcbgeozcpool;
add dev 00055:00055 to accpool emcbgeozcpool;
add dev 00056:00056 to accpool emcbgeozcpool;
add dev 00057:00057 to accpool emcbgeozcpool;
add dev 00058:00058 to accpool emcbgeozcpool;
add dev 00059:00059 to accpool emcbgeozcpool;
add dev 0005A:0005A to accpool emcbgeozcpool;
add dev 0005B:0005B to accpool emcbgeozcpool;
add dev 0005C:0005C to accpool emcbgeozcpool;
add dev 0005D:0005D to accpool emcbgeozcpool;
add dev 0005E:0005E to accpool emcbgeozcpool;
grant access=BASE to accgroup emcgeozcgrp for ALL devs;
grant access=RDF to accgroup emcgeozcgrp for accpool emcbgeozcpool;
grant access=BASECTRL to accgroup emcgeozcgrp for accpool emcbgeozcpool;
grant access=CFGSYM to accgroup emcgeozcgrp for ALL devs;
grant access=BASE to accgroup emcgeozcgrp for accpool emcbgeozcpool;
root@phys-newyork-1:~#
root@phys-newyork-1:~# symacl -sid 000196800795 -file /var/tmp/acl commit
Enter Access PIN:
Command file: (/var/tmp/acl)
PREVIEW............................................................................................Started.
PREVIEW............................................................................................Done.
PREPARE............................................................................................Started.
Creating group emcgeozcgrp......................................................................Done.
Adding Host access id pariszc-1 to
group emcgeozcgrp...............................................................................Done.
Adding Host access id pariszc-2 to
group emcgeozcgrp...............................................................................Done.
Adding Host access id newyorkzc-1 to
group emcgeozcgrp...............................................................................Done.
Adding Host access id newyorkzc-2 to
group emcgeozcgrp...............................................................................Done.
Creating pool emcbgeozcpool.....................................................................Done.
Adding 1 devs, dev 00053 through 00053 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 00054 through 00054 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 00055 through 00055 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 00056 through 00056 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 00057 through 00057 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 00058 through 00058 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 00059 through 00059 to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 0005A through 0005A to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 0005B through 0005B to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 0005C through 0005C to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 0005D through 0005D to
pool emcbgeozcpool..............................................................................Done.
Adding 1 devs, dev 0005E through 0005E to
pool emcbgeozcpool..............................................................................Done.
Granting access BASE to group emcgeozcgrp
for ALL devs....................................................................................Done.
Granting access RDF to group emcgeozcgrp
for pool emcbgeozcpool..........................................................................Done.
Granting access BASECTRL to group emcgeozcgrp
for pool emcbgeozcpool..........................................................................Done.
Granting access CFGSYM to group emcgeozcgrp
for ALL devs....................................................................................Done.
Granting access BASE to group emcgeozcgrp
for pool emcbgeozcpool..........................................................................Done.
PREPARE............................................................................................Done.
Starting COMMIT....................................................................................Done.
root@phys-newyork-1:~#
root@phys-newyork-1:~# symacl show accgroup emcgeozcgrp -acl
Symmetrix ID: 000196800795
Group Name Pool Name Access Type
---------------------------------- --------------------------------- -----------
emcgeozcgrp emcbgeozcpool BASE
emcgeozcgrp ALL_DEVS CFGSYM
emcgeozcgrp emcbgeozcpool BASECTRL
emcgeozcgrp emcbgeozcpool RDF
emcgeozcgrp ALL_DEVS BASE
root@phys-newyork-1:~#
Create SRDF device groups, add LUNs, and manage those device groups in zone clusters after setting required environment variables.
root@pariszc-1:~# SYMCLI_CONNECT_TYPE=REMOTE; export SYMCLI_CONNECT_TYPE root@pariszc-1:~# SYMCLI_CONNECT=SYMAPI_SERVER2; export SYMCLI_CONNECT