Friday, June 10, 2016

ODA -- configuring memory & cpu for ODA Virtualized Environments

I want to shed a light on Cpu and memory configuration of ODA virtualized environments.
As the ODA machine is actually used mostly for providing a small considolation environment for both applications and databases, it is good to configure it in the appropriate way .

Well, as documented in "Solution-in-a-box: Best practices for deploying Oracle E-Business Suite Release 12.2.4 on Oracle Database Appliance 12.1.2.2" ( I think, this can be considered as appropriate even for the applications other than EBS),  it is good to give %50 of the ODa hardware resources to ODA_BASE and leave the rest to dom0 and other vm machines.

That is , it is a good start to configure the CPU and MEmory of ODA_BASE nodes to be %50 percent of the total resources.
oakcli configure oda_base command will help you on that. (run it from dom0 and run it once for every node.. That is, run it from node0 and then node1)
configure oda_base command will let you specify the cpu and memory resources for ODA_BASE nodes.
At this point, it is important to mention that, the cpu cores that we see in ODA_BASE nodes using cat /proc/cpuinfo command are actually the virtual cores. 1 physical core equals 2 virtual core, and in this sense, if we give 8 cores to an ODA_BASE node using oakcli configure, then we see 16 cores when we check it using the OS tools from the ODA_BASE.

So, after configuring the ODA_BASE, the remaining cores and memory, can be scattered among the necessary vm servers.
For the vm servers, what needs to be done is to use oackli configure vm command.
Here is an example;

oakcli configure vm ermanvm -vcpu 8 -maxcpu 8 -> these are virtual cpus. ( run it from oda_base)oakcli configure vm ermanvm -memory 8g -maxmemory 8g

As suggest in my earlier post, we recommend using the ODA_BASE domains for placing the databases. (even the TEST database environments should be placed there, as the performance of the VM domain will not be sufficient for handling a serious database IO activity) )

An example configuration can be giving 12 cores to ODA_BASE nodes and giving 48 GB memory for the ODA_BASE nodes.

It is up to you to decide how to distribute the remaining resources to the available vms in your ODA virtualized environment, but here is an example configuration that can be used in an EBS 11i environment , which is planned to be upgraded to 12.2

Each App VM machine can have 4 physical cores and 8 GB rams. (if PAE is enabled, 16GB ram is preferred)

Each new apps 12.2 servers, which are planned to be used in the upgrade process can have 4 physical cpus and 20GB rams each.

The distribution should be evenly, as it is not good to increase the load of one ODA node , while the other node is sleeping.

Also, as the standard EBS deployments are done in way that, the first node is a little more utilized than the second node (especially in database level); it is better to give a little more mercy to the first node  while evenly distributing the resources to the node.

An example distribution, which can be used for hosting an EBS farm that consist of 3 11i application vm machines, and 2 12.2 application vm machine is given as follows:

1st node:

1 11i app (prod app) --a high utilized apps env.
1 11i app (test app)  -- a semi utilized apps env.

-- Databases are on ODA_BASE...-- Databases are on ODA_BASE... (semi or high utilized db instances)

2nd node:

1 11i app (crp1 app) -- low utilized apps env.
1 12.2 app (crp1 app) -- low utilized apps env.
1 11i app(crp2 app) -- low utilized apps env.
1 12.2 app (crp2 app) -- low utilized apps env.

-- Databases are on ODA_BASE... (low utilized db instances)

No comments :

Post a Comment