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