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
+20-6Lines changed: 20 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,15 +53,22 @@ Verifying each state before continuing to the next step, regardless of the disas
53
53
54
54
[NOTE]
55
55
====
56
-
Before beginning this guide, start the Neo4j process on all servers that are _offline_.
57
-
If a server is unable to start, inspect the logs and contact support personnel.
58
-
The server may have to be considered indefinitely lost.
59
-
====
60
-
61
56
Disasters may sometimes affect the routing capabilities of the driver and may prevent the use of the `neo4j` scheme for routing.
62
57
One way to remedy this is to connect directly to the server using `bolt` instead of `neo4j`.
63
58
See xref:clustering/setup/routing.adoc#clustering-routing[Server-side routing] for more information on the `bolt` scheme.
59
+
====
64
60
61
+
=== Neo4j process started
62
+
63
+
==== State
64
+
====
65
+
The Neo4j process is started on all _offline_ servers.
66
+
====
67
+
68
+
==== Path to correct state
69
+
Start the Neo4j process on all servers that are _offline_.
70
+
If a server is unable to start, inspect the logs and contact support personnel.
71
+
The server may have to be considered indefinitely lost.
65
72
66
73
[[restore-the-system-database]]
67
74
=== `System` database write availability
@@ -184,6 +191,7 @@ Depending on the environment, consider extending the timeout for this procedure.
184
191
If any of the primary allocations for a database report `replicationSuccessful` = `TRUE`, this database is write available.
185
192
. For each database that is not write available, recreate it to move it from lost servers and regain write availability.
186
193
Go to xref:clustering/databases.adoc#recreate-databases[Recreate databases] for more information about recreate options.
194
+
If any allocation has `currentStatus` = `QUARANTINED`, recreate them from backup using xref:clustering/databases.adoc#uri-seed[Backup as seed] or define seeding servers in the recreate procedure using xref:clustering/databases.adoc#specified-servers[Specified seeders] so that problematic allocations are excluded.
187
195
Remember to make sure there are recent backups for the databases before recreating them, see xref:backup-restore/online-backup.adoc[Online backup] for more information.
188
196
+
189
197
[NOTE]
@@ -193,7 +201,12 @@ Otherwise, recreating with xref:clustering/databases.adoc#uri-seed[Backup as see
193
201
=====
194
202
. For each `CORDONED` server, run `DEALLOCATE DATABASES FROM SERVER cordoned-server-id` on one of the available servers.
195
203
This will try to move all database allocations from this server to an available server in the cluster.
204
+
+
205
+
[NOTE]
206
+
=====
196
207
This operation might fail if enough unconstrained servers were not added to the cluster to replace lost servers.
208
+
Another reason is that some available servers are also `CORDONED`.
209
+
=====
197
210
. For each deallocating or deallocated server, run `DROP SERVER deallocated-server-id`.
198
211
This removes the server from the cluster's view.
199
212
====
@@ -230,7 +243,7 @@ Therefore, the desired state has been verified when this is true for all databas
230
243
CALL dbms.cluster.statusCheck([]);
231
244
----
232
245
233
-
A stricter verification could be done to verify if all databases are in desired states on all servers.
246
+
A stricter verification can be done to verify that all databases are in their desired states on all servers.
234
247
For the stricter check, run `SHOW DATABASES` and verify that `requestedStatus` = `currentStatus` for all database allocations on all servers.
235
248
236
249
==== Path to correct state
@@ -243,6 +256,7 @@ Recreations might fail for different reasons, but one example is that the checks
243
256
====
244
257
. Run `CALL dbms.cluster.statusCheck([])` on all servers to identify write unavailable databases, see xref:clustering/monitoring/status-check.adoc#monitoring-replication[Monitoring replication] for more information.
245
258
. Recreate every database that is not write available and has not been recreated previously, see xref:clustering/databases.adoc#recreate-databases[Recreate databases] for more information.
259
+
If any allocation has `currentStatus` = `QUARANTINED`, recreate them from backup using xref:clustering/databases.adoc#uri-seed[Backup as seed] or define seeding servers in the recreate procedure using xref:clustering/databases.adoc#specified-servers[Specified seeders] so that problematic allocations are excluded.
246
260
Remember to make sure there are recent backups for the databases before recreating them, see xref:backup-restore/online-backup.adoc[Online backup] for more information.
247
261
. Run `SHOW DATABASES` and check any recreated databases which are not write available.
248
262
Recreating a database will not complete if one of the following messages is displayed in the message field:
0 commit comments