Go to main content

Oracle® Solaris Cluster Geographic Edition Data Replication Guide for EMC Symmetrix Remote Data Facility

Exit Print View

Updated: April 2016
 
 

Solutions Enabler Client/Server Configuration Example

This appendix provides a sample Solutions Enabler client/server configuration. Use EMC documentation and storage experts to bring up your configuration.

Example Solutions Enabler Client/Server 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:

  1. Install symcli on all nodes of global clusters and zone clusters.

  2. Setup virtual network for netcnfg for client server comunication. Execute the following step on the Paris cluster.

    1. 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
    2. 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
    3. 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:~#
    4. 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.

    5. 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.

  3. 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
  4. 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:~#
  5. 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:~# 
  6. 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:~#
  7. 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:~#
  8. 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:~#
  9. 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:~#
  10. Create access group and access pool for devices LUNs that will be presented to the zone cluster nodes.

    1. 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.

    2. 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.

    3. 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:~#
    4. 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:~#
  11. 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