After creating and starting your active data center(s), you can add a passive data center through the following steps:
Obtain a data center in a remote location that contains suitable machines and reliable storage.
Start one or more Admin Processes (APs) in that data center. For protection from single-point failures, it is best to run three Admin Processes.
The configuration of each AP in each data center of the database should include an "initialMembership" property that includes one AP from each data center. See notes about initialMembership.
Create as many archives as you want to run Asynchronous Storage Managers (ASMs). For protection from single-point failures, it is best to create two archives on distinct storage volumes and run two Storage Managers (SMs).
--passiveflag when creating these archives. For example,
nuocmd create archive --passive --db-name ... --server-id ... --archive-path ...
Archive(archive_path=..., db_name=..., id=..., server_id=..., state=PROVISIONED)
Start SMs to serve each archive. They will be ASMs because they are started on archives that have the
--passiveflag set for all storage groups that they serve. For example,
nuocmd start database --db-name ... --incremental
Establish your procedures to decide when the active data center is unusable and hand off the responsibility to the passive data center.
When using storage groups, you can make each ASM serve all storage groups, or you can improve performance by spreading the load across ASMs.
Any SM started on an archive created with the
--passive flag becomes an ASM for all storage groups that it serves.
This ensures that all SMs in the passive data center are asynchronous SMs so long-distance network latency has no impact on database performance.
For protection from single-point failures, it is best to create two archives on distinct storage volumes for each distinct subset of storage groups. Archives that serve different subsets of storage groups can share a volume if the storage hardware provides sufficient performance.