Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
10-21-2021 10:08 AM
Hi everyone. I'm a DevOps engineer at the startup I work at and I'm currently experimenting with an architecture for a Neo4j database: basically I want to have two Causal Clusters of 3 nodes each, one of which will always be off at any given time (i.e. the two clusters, let's call them A and B, are mutually exclusive). Now, what I also want is to separate the data out from the VMs of the clusters, so what I did is I created a NFS server that exports directories for the following file locations: /var/lib/neo4j/data
, /var/lib/neo4j/import
, /var/lib/neo4j/logs
, /var/lib/neo4j/metrics
. What I also want is that the data is shared between the two clusters (that is, if I turn cluster A off and turn cluster B on I expect the data that was added while cluster A was on to still be present when querying using cluster B). I created a proof of concept of my desired architecture, and at first it seemed to work: I logged into the DB using cypher-shell
from cluster A, changed the password because of the change in data
location, added a node, no issue at all. Then I tried to turn cluster A off and turn cluster B on to see if it worked like I wanted, but I ran into the following problem: at first I couldn't connect to the DB using cypher-shell
using the neo4j
scheme, I had to fall back to bolt
. I quickly checked if the data that was added from cluster A was present, and to my delight it was there. However, what happened next was very disturbing: in the output of :show databases
all the VMs in cluster B were FOLLOWER
for all databases. That means, no writes could be processed at all. I turned off cluster B and turned on cluster A to see if that was still working, but the situation was exactly the same (all followers, no writes allowed). Can somebody help me figure out what's going on? Is there a way to trigger a Leader election manually? Or is there a better solution that I'm not seeing? Is what I want to achieve even possible?
I'm sorry for hitting you with a bunch of words and no actual outputs and diagrams. I don't have time to draw them and fetch logs and post them right now, but I'll be sure to do that tomorrow if that could help in understanding the architecture I'm trying to create and solving the problem.
Thanks in advance for any help with this.
10-21-2021 02:00 PM
per Linux file system tuning - Operations Manual
Neo4j does not recommend and support the usage of NFS or NAS as database storage.
10-21-2021 02:15 PM
I see. Thank you for your answer, I will plan accordingly
10-25-2021 06:06 AM
@dana.canzano Following up on this: why is it that Neo4j doesn't support nor recommend NFS or NAS though? Is it because of performance issues? Is it because of some guarantees that "physical" filesystems like Ext4 or XFS can provide and NFS, being network-based, can not? There is no elaboration on the documentation page you linked, and I would like to know more
10-25-2021 06:32 AM
10-25-2021 06:53 AM
I see. Alright, thanks for your answer Dana I will try something else
All the sessions of the conference are now available online