Part 11 - Create Sybase ASE Cluster





Start of Unified Agent on both nodes: oralin11 and oralin12


Connect (or reconnect) to both node (to be sure to have environment variable set)

[sybase@oralin11 ~]$ 

UAF-2_5/bin/uafstartup.sh &

[sybase@oralin12 ~]$ 

UAF-2_5/bin/uafstartup.sh &

Result:

2011-07-16 23:46:47,363 INFO  [main] Bootstrap completed successfully.


Create Cluster


Run sybcluster

[sybase@oralin11 ~]$

sybcluster -U uafadmin -P -C mycluster -F "oralin11,oralin12"

Type following command in sybcluster (except prompt as "sybcluster>" or "mycluster>")

Check Agents

Check all services have status as "running".

sybcluster> 

Show Agents

Result:

Verifying the supplied agent specifications...

Agent Information: service:jmx:rmi:///jndi/rmi://oralin11:9999/agent
-----------------------------------------------------

            Node Name:       oralin11
            Agent Port:      9999
            Agent Version:   2.5.0
            Agent Build:     1003

            OS Name:         Linux
            OS Version:      2.6.32-100.28.5.el6.x86_64
            OS Architecture: amd64

            Agent Service Info:
              Agent Service (Agent)  Build: 1003  Status: running
              BootstrapService (BootstrapService)  Build: <unavailable>  Status: running
              Configuration Service (ConfigService)  Build: 1003  Status: running
              Deployment Service (DeploymentService)  Build: 20  Status: running
              Environment Service (EnvironmentDiscoveryService)  Build: 1003  Status: running
              File Transfer Service (FileTransferService)  Build: 1003  Status: running
              Plugin Registration Service (PluginRegisterService)  Build: 1003  Status: running
              RMI Service (RMIService)  Build: 1003  Status: running
              Remote Shell Service (RemoteShellService)  Build: 1003  Status: running
              Security Service (SecurityService)  Build: 1003  Status: running
              Self Discovery Service (SelfDiscoveryService)  Build: 1003  Status: running
              Service Registration Service (ServiceRegistrationService)  Build: 1003  Status: running
              Session Service (SessionService)  Build: 1003  Status: running
              SNMP Service (SnmpService)  Build: 9  Status: running
              Sybase Home Service (SybaseHomeService)  Build: 14  Status: running
              TDS Service (TdsService)  Build: 10  Status: running

            Agent Plugin Info:

              ASE SNMP Agent Plugin (com.sybase.ase.snmp) Version: 2.0.0 Build: 8 Instance: 1  Status: running

              Sysam Agent Plugin (com.sybase.sysam) Version: 2.0.0 Build: <unavailable> Instance: 1  Status: running

Agent Information: service:jmx:rmi:///jndi/rmi://oralin12:9999/agent
-----------------------------------------------------

            Node Name:       oralin12
            Agent Port:      9999
            Agent Version:   2.5.0
            Agent Build:     1003

            OS Name:         Linux
            OS Version:      2.6.32-100.28.5.el6.x86_64
            OS Architecture: amd64

            Agent Service Info:
              Agent Service (Agent)  Build: 1003  Status: running
              BootstrapService (BootstrapService)  Build: <unavailable>  Status: running
              Configuration Service (ConfigService)  Build: 1003  Status: running
              Deployment Service (DeploymentService)  Build: 20  Status: running
              Environment Service (EnvironmentDiscoveryService)  Build: 1003  Status: running
              File Transfer Service (FileTransferService)  Build: 1003  Status: running
              Plugin Registration Service (PluginRegisterService)  Build: 1003  Status: running
              RMI Service (RMIService)  Build: 1003  Status: running
              Remote Shell Service (RemoteShellService)  Build: 1003  Status: running
              Security Service (SecurityService)  Build: 1003  Status: running
              Self Discovery Service (SelfDiscoveryService)  Build: 1003  Status: running
              Service Registration Service (ServiceRegistrationService)  Build: 1003  Status: running
              Session Service (SessionService)  Build: 1003  Status: running
              SNMP Service (SnmpService)  Build: 9  Status: running
              Sybase Home Service (SybaseHomeService)  Build: 14  Status: running
              TDS Service (TdsService)  Build: 10  Status: running

            Agent Plugin Info:

              ASE SNMP Agent Plugin (com.sybase.ase.snmp) Version: 2.0.0 Build: 8 Instance: 1  Status: running

              Sysam Agent Plugin (com.sybase.sysam) Version: 2.0.0 Build: <unavailable> Instance: 1  Status: running

Create Cluster

sybcluster> 

Create Cluster

Result:

Cluster mycluster - Enter the maximum number of instances:  [ 4 ]
<ENTER>

How many agents will participate in this cluster:  [ 4 ] 
2

Verifying the supplied agent specifications...
        1) oralin11 9999 2.5.0 Linux
        2) oralin12 9999 2.5.0 Linux
Enter the number representing the cluster node 1:  [ 2 ] 
1

        2) oralin12 9999 2.5.0 Linux
Enter the number representing the cluster node 2:  [ 2 ]
<ENTER>

Will this cluster be configured using private SYBASE installations? (Y/N) :   [ N ]
<ENTER>

------------------ Quorum Device  ---------------------
The quorum device is used to manage a cluster.  It contains information shared between instances and nodes.
Enter the full path to the quorum disk: 
/dev/sybase/quorum

Enter any traceflags:
<ENTER>

-------------------- Page Size  --------------------
Enter the page size in kilobytes:  [ 2 ]
<ENTER>

--------------- Master Database Device  ----------------
The master database device controls the operation of the Adaptive Server and stores information about all user databases and their associated database devices.

Enter the full path to the master device:
/dev/sybase/master

Enter the size the Master Device (MB):  [ 30 ]
<ENTER>

Enter the size the Master Database (MB):  [ 13 ]
<ENTER>

------------ Sybase System Procedure Device --------
Sybase system procedures (sybsystemprocs) are stored on a device.

Enter the System Procedure Device path: 
/dev/sybase/sybsystemprocs

Enter System Procedure Device size (MB):  [ 152 ]
<ENTER>

Enter the System Procedure Database size (MB):  [ 152 ]
<ENTER>

-------------- System Database Device ------------------
The system database (sybsystemdb) stores information about distributed transactions.

Enter the System Database Device path: 
/dev/sybase/system

Enter the System Database Device size (MB):  [ 6 ]
<ENTER>

Enter the System Database size (MB):  [ 6 ]
<ENTER>

--------------- PCI Device  ----------------
Pluggable Component Interface (PCI) provides support for Java in database by loading off-the-shelf JVMs from any vendor. If you want to use JVM, create a device for it.

Enable PCI in Adaptive Servier (Y/N):  [ N ]
<ENTER>

--------------- Secondary Network and Starting Port  ----------------
A secondary network is for backup in case the primary network is down.

Does this cluster have a secondary network:  [ Y ] 
N

The clustered instances require several ports to communicate with the other instances.
The starting port entered will be used to determine the range of ports allocated on all nodes on all network.

Enter the starting port:  [ 15100 ]
<ENTER>

--------------------------------------------------------
Enter the SYBASE home directory:  [ /opt/sybase ]
<ENTER>

Enter the environment shell script path:  [ /opt/sybase/SYBASE.sh ]
<ENTER>

Enter the ASE home directory:  [ /opt/sybase/ASE-15_0 ]
<ENTER>

Enter path to the dataserver config file:  [ /opt/sybase/mycluster.cfg ]
<ENTER>

--------------------------------------------------------

You will now be asked for the instance information on a node by node basis.

-- Cluster: mycluster - Node: oralin11 - Agent: oralin11:9999 --

Enter the name of the cluster instance: 
SYB11

Enter any traceflags:
<ENTER>

Enter the interface file query port number for instance SYB11:
10011

Enter the primary protocol address for SYB11:  [ oralin11 ]
<ENTER>

--------------- Local System Temporary Database ---------
The Local System Temporary Database Device contains a database for each instance in the cluster.
Enter the LST device name: 
tempdb1dev

Enter the LST device path: 
/dev/sybase/tempdb1

Enter LST device size (MB): 
500

Enter the LST database name:  [ mycluster_tdb_1 ]
<ENTER>

Enter the LST database size (MB):  [ 500 ]
<ENTER>

--------------------------------------------------------
Do you want to add another instance to this node? (Y or N):  [ N ]
<ENTER>

-- Cluster: mycluster - Node: oralin12 - Agent: oralin12:9999 --

Enter the name of the cluster instance: 
SYB12

Enter any traceflags:
<ENTER>

Enter the interface file query port number for instance SYB12: 
10012

Enter the primary protocol address for SYB12:  [ oralin12 ]
<ENTER>

--------------- Local System Temporary Database ---------
The Local System Temporary Database Device contains a database for each instance in the cluster.
Enter the LST device name: 
tempdb2dev

Enter the LST device path: 
/dev/sybase/tempdb2

Enter LST device size (MB): 
500

Enter the LST database name:  [ mycluster_tdb_2 ]
<ENTER>

Enter the LST database size (MB):  [ 500 ]
<ENTER>

--------------------------------------------------------
Do you want to add another instance to this node? (Y or N):  [ N ]
<ENTER>

Would you like to save this configuration information in a file?  [ Y ]
<ENTER>

Enter the name of the file to save the cluster creation information:  [ /opt/sybase/mycluster.xml ]
<ENTER>

--------------------------------------------------------
Create the cluster now?  [ Y ]
<ENTER>

INFO  - Creating the Cluster Agent plugin on host address oralin11 using agent: oralin11:9999
2011-07-17 00:40:59,890 INFO  [RMI TCP Connection(25)-10.1.0.11] Plugin registered. Updating lookup info...

Following errors are normal !

2011-07-17 00:41:01,179 ERROR [RMI TCP Connection(25)-10.1.0.11] The cluster mycluster quorum device could not be loaded: /dev/sybase/quorum

com.sybase.ase.sdcadmin.quorum.QuorumException:
       at com.sybase.ase.sdcadmin.config.impl.Entry.loadQuorum(Entry.java:650)
       at com.sybase.ua.plugins.ase.cluster.ASEClusterConfiguration.getQuorumConfiguration(ASEClusterConfiguration.java:415)
       at com.sybase.ua.plugins.ase.cluster.ASEClusterConfiguration.getQuorumConfiguration(ASEClusterConfiguration.java:344)
       at com.sybase.ua.plugins.ase.cluster.ASEClusterConfiguration.getQuorumConfiguration(ASEClusterConfiguration.java:72)
       at com.sybase.ua.plugins.ase.cluster.ASEClusterAgentPlugin.updateDiscoveryValues(ASEClusterAgentPlugin.java:532)
       at com.sybase.ua.plugins.ase.cluster.ASEClusterAgentPlugin.doLoad(ASEClusterAgentPlugin.java:420)
       at com.sybase.ua.plugin.AgentPluginBase.loadPlugin(Unknown Source)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:513)
       at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
       at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
       at com.sybase.ua.services.Agent.invokeAgentPluginMethod(Unknown Source)
       at com.sybase.ua.services.Agent.invokeAgentPluginMethod(Unknown Source)
       at com.sybase.ua.services.plugin.PluginRegisterService.loadPlugin(Unknown Source)
       at com.sybase.ua.services.plugin.PluginRegisterService.registerPlugin(Unknown Source)
       at com.sybase.ua.services.plugin.PluginRegisterService.registerPluginInstance(Unknown Source)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:513)
       at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
       at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
       at com.sybase.ua.services.Agent.invokeAgentServiceMethod(Unknown Source)
       at com.sybase.ua.services.Agent.invokeAgentServiceMethod(Unknown Source)
       at com.sybase.ua.services.deployment.PluginConfig.registerPlugin(PluginConfig.java:134)
       at com.sybase.ua.services.deployment.PluginConfig.createPluginFromTemplate(PluginConfig.java:117)
       at com.sybase.ua.services.deployment.DeploymentService.createPluginFromTemplate(DeploymentService.java:260)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:513)
       at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
       at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
       at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)
       at javax.management.remote.rmi.RMIConnectionImpl.access$200(Unknown Source)
       at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source)
       at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source)
       at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
       at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
       at sun.rmi.transport.Transport$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at sun.rmi.transport.Transport.serviceCall(Unknown Source)
       at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
       at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
       at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)
2011-07-17 00:41:01,187 WARN  [RMI TCP Connection(25)-10.1.0.11] Unable to obtain the quorum configuration. The cluster may not be configured.
INFO  - Creating the Cluster Agent plugin on host address oralin12 using agent: oralin12:9999
2011-07-17 00:41:06,526 WARN  [RMI TCP Connection(25)-10.1.0.11] The Process ps -aef | grep vcs has not returned anything, probably VCS isn't running
Enter the interfaces directory:  [ /opt/sybase ]
<ENTER>

2011-07-17 00:43:43,164 ERROR [RMI TCP Connection(28)-10.1.0.11] The Resource key: com.sybase.ase.sdcadmin.clustercfg.interfaceshelper.error needs to be implemented in the res.properties file.
2011-07-17 00:43:43,165 ERROR [RMI TCP Connection(28)-10.1.0.11] The Resource key: com.sybase.ase.sdcadmin.clustercfg.interfaceshelper.error needs to be implemented in the res.properties file.
2011-07-17 00:43:43,165 ERROR [RMI TCP Connection(28)-10.1.0.11] The Resource key: com.sybase.ase.sdcadmin.clustercfg.interfaceshelper.error needs to be implemented in the res.properties file.

Would you like to check whether this device supports IO fencing capability (Y/N)?  [ Y ]
<ENTER>

Validating the device /dev/sybase/master for IO Fencing Capabilities.
This device does not have SCSI-3 PGR capability. It does not support I/O fencing
Do you want to continue (Y/N)?  [ N ]
Y

Validating the device /dev/sybase/sybsystemprocs for IO Fencing Capabilities.

This device does not have SCSI-3 PGR capability. It does not support I/O fencing
Do you want to continue (Y/N)?  [ N ]
Y

Validating the device /dev/sybase/system for IO Fencing Capabilities.

This device does not have SCSI-3 PGR capability. It does not support I/O fencing
Do you want to continue (Y/N)?  [ N ]
Y

INFO  - Cluster "mycluster" creation in progress.

INFO  - Choosing the first instance to be created using the connected agent...
INFO  - The Sybase home directory is /opt/sybase.
INFO  - The ASE home directory is /opt/sybase/ASE-15_0.
INFO  - Retrieving environment variables from /opt/sybase/SYBASE.sh.
INFO  - The first instance created will be SYB11.
INFO  - Port number '10011' is being reserved or currently in use by a running server.
INFO  - Building Adaptive Server 'SYB11':
INFO  - Writing entry into directory services...
INFO  - Directory services entry complete.
INFO  - Building master device...
INFO  - Master device complete.
INFO  - Starting server...
INFO  - Server started.
INFO  - Building sysprocs device and sybsystemprocs database...
INFO  - sysprocs device and sybsystemprocs database created.
INFO  - Running installmaster script to install system stored procedures...
INFO  - installmaster: 
10% complete.
INFO  - installmaster: 20% complete.
INFO  - installmaster: 30% complete.
INFO  - installmaster: 40% complete.
INFO  - installmaster: 50% complete.
INFO  - installmaster: 60% complete.
INFO  - installmaster: 70% complete.
INFO  - installmaster: 80% complete.
INFO  - installmaster: 90% complete.
INFO  - installmaster: 100% complete.
INFO  - installmaster script complete.
INFO  - Creating two-phase commit database...
INFO  - Two phase commit database complete.
INFO  - Installing common character sets (Code Page 437, Code Page 850, ISO Latin-1,
INFO  - Macintosh and HP Roman-8)...
INFO  - Character sets installed.
INFO  - Server 'SYB11' was successfully created.
INFO  - Connecting to the dataserver using the host and query port oralin11:10011.
INFO  - Creating the Local System Temporary device tempdb1dev at /dev/sybase/tempdb1 of size 500M.
INFO  - Creating the Local System Temporary device tempdb2dev at /dev/sybase/tempdb2 of size 500M.
INFO  - SYB11: Creating the Local System Temporary database mycluster_tdb_1 on lst1 of size 500M.
INFO  - SYB12: Creating the Local System Temporary database mycluster_tdb_2 on lst2 of size 500M.
INFO  - The cluster is now configured. Shutting down this first instance.

The cluster mycluster was successfully created.


sybcluster> 

exit