MULTI-CLUSTER DATABASE MANAGEMENT SYSTEM
A multi-cluster database management system includes a first cluster in a database management system of a virtual computing system, a second cluster in the database management system, a server on the first cluster, a first agent on the first cluster, and a second agent on the second cluster. The server provides a database management service to a first database stored on the first cluster via the first agent and to a second database stored on the second cluster via the second agent.
1 . (canceled)
2 . A system comprising:
a first cluster and a second cluster in a virtual computing system;
a server residing on a first virtual machine on the first cluster;
a first agent residing on a second virtual machine on the first cluster, wherein the first agent is configured to communicate with the server; and
a second agent residing on a third virtual machine on the second cluster, wherein the second agent is configured to communicate with the server;
wherein the server is configured to:
provide a first database management service to a first database stored on the first cluster via the first agent; and
provide a second database management service to a second database stored on the second cluster via the second agent.
3 . The system of claim 2 , wherein the first agent is configured to poll the server at regular intervals to receive database management service requests from the server.
4 . The system of claim 2 , wherein the server is configured to store metadata about the first agent and the second agent in a repository on the first cluster.
5 . The system of claim 2 , wherein the first and second database management services include database provisioning services and database protection services.
6 . The system of claim 5 , wherein the database provisioning services include creating new databases and registering existing databases.
7 . The system of claim 5 , wherein the database protection services include capturing snapshots of databases and maintaining transaction logs.
8 . The system of claim 2 , wherein the first cluster and the second cluster are configured as remote sites of each other to enable data replication between the first and second clusters.
9 . A method comprising:
receiving network information for creating an agent virtual machine on a first cluster of a virtual computing system;
creating the agent virtual machine on the first cluster using the network information;
installing a first agent on the agent virtual machine;
splitting a server and a second agent that are co-located on a server virtual machine on the first cluster such that:
the server remains on the server virtual machine; and
the second agent is moved to the agent virtual machine; and
configuring the server to manage databases on the first cluster through the first agent.
10 . The method of claim 9 , further comprising:
receiving a request to register a second cluster with the server;
creating a second agent virtual machine on the second cluster; and
installing a third agent on the second agent virtual machine to enable the server to manage databases on the second cluster through the third agent.
11 . The method of claim 10 , wherein creating the second agent virtual machine comprises:
validating network information received for the second cluster;
preparing an operating system disk for the second agent virtual machine;
replicating the operating system disk to the second cluster; and
creating the second agent virtual machine using the replicated operating system disk.
12 . The method of claim 10 , further comprising configuring the first cluster and the second cluster as remote sites of each other to enable data replication between the clusters.
13 . The method of claim 9 , wherein creating the agent virtual machine comprises:
cloning an operating system disk of the server virtual machine;
updating network configuration information in the cloned operating system disk; and
creating the agent virtual machine using the updated cloned operating system disk.
14 . A method comprising:
upgrading a server on a first cluster of a virtual computing system;
upgrading, in parallel, multiple agents on multiple clusters of the virtual computing system, wherein:
a first agent of the multiple agents is on the first cluster; and
a second agent of the multiple agents is on a second cluster; and
upon successful upgrade of each agent:
identifying database server virtual machines on the cluster corresponding to the successfully upgraded agent; and
upgrading the identified database server virtual machines.
15 . The method of claim 14 , wherein upgrading the identified database server virtual machines comprises upgrading all database server virtual machines on a particular cluster in parallel.
16 . The method of claim 14 , further comprising:
determining that upgrading of a particular agent has failed; and
terminating upgrade of database server virtual machines on the cluster corresponding to the particular agent.
17 . The method of claim 14 , further comprising placing a hold on new operations during the upgrading of the server.
18 . The method of claim 14 , wherein upgrading the server comprises:
completing existing operations on the server;
downloading an upgrade package; and
installing the upgrade package on the server.
19 . The method of claim 14 , wherein upgrading an agent comprises:
sending an upgrade package to the agent; and
receiving confirmation of successful installation of the upgrade package from the agent.
20 . The method of claim 14 , wherein upgrading database server virtual machines comprises:
creating an upgrade operation for each database server virtual machine;
sending the upgrade operation to the agent on the cluster containing the database server virtual machine; and
receiving confirmation of successful upgrade from the agent.
21 . The method of claim 14 , further comprising:
determining that upgrading of a particular database server virtual machine has failed; and
rolling back the agent on the cluster containing the particular database server virtual machine to a pre-upgrade state.