Please see my other blog for Oracle EBusiness Suite Posts - EBMentors

Search This Blog

Note: All the posts are based on practical approach avoiding lengthy theory. All have been tested on some development servers. Please don’t test any post on production servers until you are sure.

Thursday, October 31, 2013

Exadata: Understanding key OS Processes for a cell

Exadata' s unique software runs different processes on OS to perform different functions. There are three main programs that run on the Exadata Storage Servers to facilitate cell operations cellsrv, MS and RS.  You can identify the OS processes by using ps.


[root@exacell1 ~]# ps -ef|grep oracle
root      2072     1  0 16:33 ?        00:00:01 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrssrm -ms 1 -cellsrv 1
root      2081  2072  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsbmt -ms 1 -cellsrv 1
root      2082  2072  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsmmt -ms 1 -cellsrv 1
root      2083  2082  0 16:33 ?        00:00:30 /usr/java/jdk1.5.0_15/bin/java -Xms256m -Xmx512m -Djava.library.path=/opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/lib -Ddisable.checkForUpdate=true -jar /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/oc4j/ms/j2ee/home/oc4j.jar -out /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/log/ms.lst -err /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/log/ms.err
root      2084  2072  0 16:33 ?        00:00:25 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsomt -ms 1 -cellsrv 1
root      2085  2081  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsbkm -rs_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsos.state -debug 0
root      2086  2084  4 16:33 ?        00:09:54 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellsrv 100 5000 9 5042
root      2090  2085  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrssmt -rs_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsos.state -debug 0
[root@exacell1 ~]# ps -ef|grep oracle
root      2072     1  0 16:33 ?        00:00:01 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrssrm -ms 1 -cellsrv 1
root      2081  2072  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsbmt -ms 1 -cellsrv 1
root      2082  2072  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsmmt -ms 1 -cellsrv 1
root      2083  2082  0 16:33 ?        00:00:30 /usr/java/jdk1.5.0_15/bin/java -Xms256m -Xmx512m -Djava.library.path=/opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/lib -Ddisable.checkForUpdate=true -jar /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/oc4j/ms/j2ee/home/oc4j.jar -out /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/log/ms.lst -err /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/log/ms.err
root      2084  2072  0 16:33 ?        00:00:25 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsomt -ms 1 -cellsrv 1
root      2085  2081  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrsbkm -rs_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsos.state -debug 0
root      2086  2084  4 16:33 ?        00:09:55 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellsrv 100 5000 9 5042
root      2090  2085  0 16:33 ?        00:00:00 /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/bin/cellrssmt -rs_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell11.2.3.2.0_LINUX.X64_120713/cellsrv/deploy/config/cellrsos.state -debug 0
root      8295  7920  0 19:53 pts/2    00:00:00 grep oracle
[root@exacell1 ~]#

Startup sequence:
- Oracle runs /etc/init.d/celld. /etc/init.d/celld executes as the celladmin operating system account and runs "alter cell startup services rs" to start the Restart Server.
- After sleeping for a bit, the script runs "alter cell startup services all", which starts up remaining processes including cellsrv and MS. 

you can get the status of celld as below
[root@exacell1 init.d]# ./celld status
         rsStatus:               running
         msStatus:               running
         cellsrvStatus:          running
[root@exacell1 init.d]# service celld status
         rsStatus:               running
         msStatus:               running
         cellsrvStatus:          running

Processes Definitions:
cellsrv: Primary multithreaded process that runs on the storage servers essentially facilitating I/O requests from the compute/DB nodes. It receives and unpacks iDB messages transmitted over the InfiniBand interconnect and examines metadata contained in the messages to determine the appropriate course of action. For example:
• If the request contains information that indicates a full scan via direct read, cellsrv can perform a Smart Scan.
• If the request is for a single-block read, cellsrv performs as a traditional block I/O server.
• If the request is tagged with data that falls within a bucket of conditions specified by an enabled I/O Resource Management plan, cellsrv will queue and prioritize I/O requests accordingly.

RS, is a set of processes responsible for managing and restarting other processes.
cellrssrm: The cellrssrm process is the main Restart Server process. It launches three helper processes:
cellrsomt, cellrsbmt, and cellrsmmt
  - cellrsomt => ultimately responsible for launching cellsrv.
  - cellrsbmt and cellrsmmt ==>  responsible for launching cellrsbkm and the main Management Server Java process
  - cellrssmt is called by cellrsbkm, and its ultimate goal is to ensure cell configuration files are valid, consistent, and backed up.

MS, provides a Java interface to the CellCLI command line interface, as well as providing an interface for Enterprise Manager plugins. If MS is down, you won’t be able to use cellcli.

OSWatcher: To collect performance metrics and publishes these to the OSWatcher archive directories

No comments: