Oracle VM And PCA….

Let’s continue the discussion of Oracle VM Architecture and Oracle PCA.
Repositories– repositories are used to store virtual resources. The virtual resource include ISO image file, and also virtual machine configuration file, and also template files, and also virtual disks, and also include virtual appliances as well. And this repository can be a local repository, and also this can be a shared repository.

In Oracle PCA, there is a shared repository that is default. Its name is a Rack1-Repository And also in Oracle PCA compute nodes are clustered. So there’s one default server pool named Rack1_ServerPool. And this is a group of a compute node in Oracle PCA. As an option, you can also create tenant group as well, and we will discuss this topic in later lessons.

All compute servers are members of Rack1_ServerPool. So from Oracle VM Manager, we can access to server’s compute nodes in Oracle PCA. And compute nodes are the members of a Rack1_ServerPool. And these servers access the repository to leverage your virtual resources. And as an option, we can also configure local repository and also external repository as well.

We also have a local repository as well. The structure under the repository is the same. So we have ISO and VM file, VM template, virtual appliances, and virtual desks disks. And so, we have ISO image, and your virtual machine configuration files are stored in this directory. And when you import template and virtual appliances, all those files are stored in these two folders. And also, when you create virtual disk, it goes to this location.

But, under the server pools, there are more server pools. These are actually tenant group. You can subdivide your environment by creating a tenant group. So we have an account, server pool, PCA-PM-1 server pool, sales server pool. So in order to isolate environment, you can further divide your environment by creating tenant pool. In addition default server pool, you can create additional server pools by going through a tenant group. The Rack1_ServerPool, it is a clustered server pool, which mean that if you have a virtual machine running out of these servers, those servers can be migrated to different ones, Oracle VM server to another Oracle VM server.

OK. So let’s talk about server pool. Oracle VM Server pool consists of one or more Oracle VM servers. In an Oracle PCA context, Oracle VM servers are computer nodes. And it represent a logical view of available memory and CPUs. And also, clustered Oracle VM Server pool enables high availability at the VM level, which means that if a VM is running out of a compute node 1, in the clustered server pool, it can be failed over or restarted in one of the Oracle VM servers in the same Oracle VM clustered server pool. And also, it’s possible to perform the live migration as well, as long as Oracle VM Server pool is clustered.

All private Cloud Appliance Oracle VM Servers in the server pool share the same network and storage configuration, and these are all preconfigured. So in the Oracle PCA, our server pull name is Rack1_ServerPool precreated. And also, there are networks predefined. And also, we have a Rack1_Repository, that’s a default repository. And then, also, you can create additional custom network, and you can also configure external storage as well. And network or storage shared by a subset of serves cause a problem.

A server pool is scalable, which mean that if we need more resource, then we can add a more Oracle VM Servers and more repositories as well. So by doing so, we can add more power, and then we support more the workload through the additional resources through Oracle VM Servers and repositories. And private Cloud Appliance server pool, it’s a clustered server pool, and also work load balancing, live migration, and high availability is a possible. Because the Rack1_ServerPool is the clustered server pool, which is default in Oracle PCA, we can achieve work load of balancing, and live migration, and HA. Especially in work load balancing, it’s available through distributed the resource scheduling feature of a VM.

So VMs can be relocated based on availability of a resource. And also, we can migrate VM from the heavily-loaded server to least-loaded server. And the clustered server pool supports up to 32 Oracle VM Servers.

Server pool functions– each server pool can act as the following– resource group, and also server pool can act as HA group, and also live migration group, and also policy group. Outside the PCA, Oracle VM can support multiple server pools. There’s only one server pool preconfigured in Oracle PCA, which is a Rack1_ServerPool1. The Server Pool is an essential unit in Oracle VM.

The Oracle VM administrator, you can assign resources to Oracle PCA Server Pool. And resources include the repositories and storage element within the internal storage appliance and any external storage. All Oracle VM Servers access this storage. You also manage network infrastructure by configuring and using networks from Oracle VM Manager. So in addition to default network and default storage, through Oracle VM Manager you can configure additional network and additional storage as well.

And configuring a new network triggers the creation of new network devices on Oracle VM servers, especially virtual network devices. You ensure that all Oracle VM servers in the server pool share the same storage and network profile. This is important for all the functions of a server pool.

And also, our server pool provides HA to the VMs deployed to the clustered server pool. And HA feature is implemented by Oracle VM and clustering capability of repositories shared by all Oracle VM servers. Like Oracle PCA, we have a Rack1_ServerPool, and it is a clustered server pool. They share same cluster– the repository. So the HA at the VM level is possible.

And also, we can use the server pool for the live migration as well. And live migration moves running VM. So while VM is up and running, out of one Oracle VM server, we can move it to another Oracle VM Server. And in this case, we have to use live migration network to isolate traffic, and this feature is available if your server pool is your clustered server pool.

And we can also use a server pool and create policies to manage VMs as well. Especially there is DRS– Distributed Resource Scheduling– feature in the server pool. So we can monitor the workload for a certain amount of time when the current workload, the resource consumption exceeds the service level requirement, then automatically migrate VM from heavily-loaded server to a least-loaded VM server. So that is possible. So Server Pool also can act as your live a migration group and also actual policy group as well.

So high availability for virtual machines– in Oracle PCA, we have a predefined server pool which is Rack1_ServerPool. And compute servers, compute nodes are clustered. And then we can create a VM instance out of an Oracle VM Server.

In case if a VM fails on an Oracle VM Server, then we can restart VM on the same server as a part of a HA solution. When you create Oracle Virtual Machine, you have options. So do you want to restart failed VM in the same server or not? So that’s possible.

And also, in addition, as part of another high availability solution, when you create VM, you can choose high availability feature. So by doing so, Oracle VM can be failed over from one Oracle VM Server to another Oracle VM Server. So that is a possible thing.

Now, this high availability feature, this is possible even without Oracle VM Manager. So when you create virtual machine, you choose whether you want to perform a failover operation of a VM in case of a failure. And also, you want to restart failed VM in the same Oracle VM server or not. So you have choices.

So the next one is live migration. It’s a process to move a running VM from one Oracle VM Server to another within the same server pool. Technically, you can think about it this way, when you create a VM, it’s physical structure is stored in the repository. It could be shared repository or local repository.

Let’s say I created a VM in the default repository in Oracle PCA. The VM configuration file is stored in the default repository. And also, system disk, which is a virtual disk, it is stored in shared repository. And then, when you start virtual machine, it’s instance is created in one of the Oracle VM Servers in the server pool. Because VM config file includes how many CPUs must be allocated for the running VM, how much memory space must be allocated for that running VM.

So based on configuration file information, the VM instance will be started out of one of the Oracle VM Servers. And when you create virtual machine, you can specify where to start the virtual machine. You can tell best server, meaning start VM in the least-loaded server. So that’s what you can do.

And also, if you need to migrate a VM instance from one Oracle VM Server to another Oracle VM server, you can perform the live migration. In order to use this feature, you must share the repository. That’s a requirement. Now, this live migration, it’s also used by the VM policy, which has distributed the resource scheduling feature.

So watch the work load a pattern for a certain amount of time. If a current work load exceeds your requirement, then perform live migration automatically behind the scenes. So that’s also possible. So by creating a policy, you can also implement live migration behind the scenes. It’s only available between servers in the same server pool.

And also, storage live migration is possible in the case where VM is running and also it uses a local repository. So, in that case, we can use storage live migration. It takes place between servers in the same pool, it requires virtual disk in the local repository on the source server, and also requires local repository on the target server. So storage live migration edge is a migrating of the files from local repository to the target local repository. But the live migration– this is the instance level, not the storage level– This requires share the repository.

So live migration process– VM memory content migrated. Again, this in the VM instance level migration. It’s not moving a physical disk, physical files. And then file synchronization and securely copied over dedicated Live Migration network. So as a part of a live migration, to isolate this task we use our Live Migration network.

So the content in memory is copied over to the target Oracle VM server. Again, this is not copying a virtual machine, physical virtual machine files. It’s only copying the instance to instance.

So now we have a server processor compatibility group. Live migration is only possible among or between compatible hardware. And Appliance 2.2 only Oracle X-2. So in order to create a compatibility group, you check your hardware, and then you can group servers that are compatible.

For example, in a single server pool, you may have X7-2, X6-2, X5-2, X4-2, also X3-2. So you can group all these together by creating a clustered server pool. However, live migration, it’s not possible between Oracle Server X7-2 and Oracle Server other than 7-2.

So in order to implement live migration properly, you create compatibility group. So you group Oracle Server X-2 together. You group Oracle Server X6-2 together. You group Oracle Server X4-2 together. These are all different compatibility groups.

So within the same clustered server pool, you can subdivide based on compatibility. And then, live migration is possible only within the compatibility group. So you can actually create compatibility groups for this purpose.

So this is a screenshot of Oracle VM Manager. Under Server Pool we have a Rack1_ServerPool that is composed of compute node 07, compute node 08. And also, in the server pool, we have a compatibility– server processor compatibility. And you can also create new compatibility when needed.

So you can click the green plus to create a new server processor compatibility. And in this example, in the default Intel family 6 model 58, in this compatibility group, two compute nodes are assigned. So these two computer servers are members of this compatibility group.

And also, we can create anti-affinity group as well. Anti-affinity means to not start VMs that belong to anti-affinity groups in the same Oracle VM Server. So that is the purpose of anti-affinity groups.

One example, if you are a dba, you want to create a VM cluster to create multi-instance database. You don’t want to run the rack instance one– that it is running out of VM 1– and rack instance 2– that is you’re running out of VM 2– rack instance 3, running auto a VM 3, physically in the same location. It doesn’t make sense, because real application cluster database is to provide high availability solution to protect your database from system failure. However, when you create rack database instances out of a three VMs but out of the same physical Oracle VM Server, if one Oracle VM Server goes down, all of the three virtual machines, where three instances are running, will get affected.

So whatever you want to create virtual machine for rack database, you may want to start VMs in physically different locations. So you can actually assign rack VMs as a members of anti-affinity groups, and we start VMs out of physically different Oracle VM Servers. And that’s possible. When a live migration is performed, Oracle VM always checks anti-affinity group first. So VMs will not be placed in the same Oracle VM Servers if VMs belong to the same anti-affinity group.