You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/clustering/disaster-recovery.adoc
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,8 @@ A database can become unavailable due to issues on different system levels.
7
7
For example, a data center failover may lead to the loss of multiple servers, which may cause a set of databases to become unavailable.
8
8
9
9
This section contains a step-by-step guide on how to recover *unavailable databases* that are incapable of serving writes, while possibly still being able to serve reads.
10
+
The guide recovers the unavailable databases and make them fully operational, with minimal impact on the other databases in the cluster.
10
11
However, if a database is not performing as expected for other reasons, this section cannot help.
11
-
By following the steps outlined here, you can recover the unavailable databases and make them fully operational, with minimal impact on the other databases in the cluster.
12
12
13
13
[CAUTION]
14
14
====
@@ -62,7 +62,7 @@ See xref:clustering/setup/routing.adoc#clustering-routing[Server-side routing] f
62
62
63
63
==== State
64
64
====
65
-
The Neo4j process is started on all _offline_ servers.
65
+
The Neo4j process is started on all servers which are not _lost_.
66
66
====
67
67
68
68
==== Path to correct state
@@ -117,14 +117,14 @@ This causes downtime for all databases in the cluster until the processes are st
117
117
. On each server, run `bin/neo4j-admin database info system` and compare the `lastCommittedTransaction` to find out which server has the most up-to-date copy of the `system` database.
118
118
. On the most up-to-date server, run `bin/neo4j-admin database dump system --to-path=[path-to-dump]` to take a dump of the current `system` database and store it in an accessible location.
119
119
. For every _lost_ server, add a new *unconstrained* one according to xref:clustering/servers.adoc#cluster-add-server[Add a server to the cluster].
120
-
It is important that the new servers are unconstrained, or deallocating servers might be blocked even though enough servers were added.
120
+
It is important that the new servers are unconstrained, or deallocating servers in the next step of this guide might be blocked, even though enough servers were added.
121
121
+
122
122
[NOTE]
123
123
=====
124
124
While recommended, it is not strictly necessary to add new servers in this step.
125
125
There is also an option to change the `system` database mode (`server.cluster.system_database_mode`) on secondary allocations to make them primary allocations for the new `system` database.
126
126
The amount of primary allocations needed is defined by `dbms.cluster.minimum_initial_system_primaries_count`, see the xref:configuration/configuration-settings.adoc#config_dbms.cluster.minimum_initial_system_primaries_count[Configuration settings] for more information.
127
-
Not replacing servers can cause cluster overload when databases are moved from lost servers to available ones in the next step of this guide.
127
+
Be aware that not replacing servers can cause cluster overload when databases are moved from lost servers to available ones in the next step of this guide.
128
128
=====
129
129
+
130
130
. On each server, run `bin/neo4j-admin database load system --from-path=[path-to-dump] --overwrite-destination=true` to load the current `system` database dump.
@@ -143,8 +143,8 @@ All servers in the cluster's view are available and enabled.
143
143
144
144
A lost server will still be in the `system` database's view of the cluster, but in an unavailable state.
145
145
According to the view of the cluster, these lost servers are still hosting the databases they had before they became lost.
146
-
Therefore, removing lost servers is not as easy as informing the `system` database that they are lost.
147
-
It also includes moving requested allocations on the lost servers onto servers which are actually in the cluster, so that those databases' topologies are still satisfied.
146
+
Therefore, informing the cluster of servers which are lost is not enough.
147
+
The databases hosted on the lost servers also need to be moved onto servers which are actually in the cluster.
148
148
149
149
==== Example verification
150
150
The cluster's view of servers can be seen by listing the servers, see xref:clustering/servers.adoc#_listing_servers[Listing servers] for more information.
@@ -157,7 +157,7 @@ SHOW SERVERS;
157
157
158
158
==== Path to correct state
159
159
The following steps can be used to remove lost servers and add new ones to the cluster.
160
-
They include moving any potential database allocations from lost servers to available servers in the cluster.
160
+
That includes moving any potential database allocations from lost servers to available servers in the cluster.
161
161
These steps might also recreate some databases, since a database which has lost a majority of its primary allocations cannot be moved from one server to another.
0 commit comments