Neo4j community edition on AWS additional storage options

Greetings!
I am quite new to Neo4j, especially, the cloud editions. I am planning to start with the community edition on AWS. I checked the neo4j AMIs and noticed that the actual database is stored on the root volume itself - which I would like to avoid.

What I would like is to store the actual data on a separate EBS volume attached to the instance. This way, (1) My data will be separate from the root volume, (2) I can pick/scale the storage size, (3) I can take/manage backups.

Is it possible to attach a separate EBS volume to the neo4j instance and store the data on it?

Thanks

Am I the only one who doesn't want to store the data on root disk? :thinking:

Generally just an AMI won't do this "out of the box" because it's just an AMI, but of course you can do it.

To do it, you would:

  • Provision an EBS volume for your data directory (/var/lib/neo4j/data)
  • Stop neo4j inside of the VM
  • Mount the EBS volume to the right spot
  • Restart Neo4j

Then you'd be good to go. For our enterprise offerings on AWS we do just this -- the data is on a separate EBS volume. But those are done with CloudFormation templates so we can automate a lot of this stuff like provisioning EBS and attaching it. When you launch an AMI you just get the operating system as it is.

I created an additional EBS volume to do just this. But when I mounted it to /var/lib/neo4j/data directory, it starts throwing errors with pam.

pam_unix(sudo:auth): auth could not identify password for

and the service doesn't come up. Any resolution on this?

We'd need more of an error to figure out what's going on there but my best guess is the file permissions may be off. The drive needs to be readable/writable by neo4j:neo4j (user & group in linux). If it's only root writable, neo4j would constantly fail to use it, since the service runs under that user.