Sharing storage between multiple Linodes

I'm looking for an effective method (i.e reasonably fast and reliable) to share the storage of one Linode with multiple other Linodes.

Can anyone suggest an effective way in which this could be achieved. In the past people have suggested using NFS but I was under the impression that NFS was not a particularly fast way to share storage. Are there any other options that I could use? Or is NFS an option that would actually work properly?

4 Replies

If one server's storage is being shared with one or more local clients, then NFS is probably the best way to go, from a simplicity/efficiency standpoint. Where NFS starts to break down is when you want to do something more complex (e.g. pooling the storage of multiple systems) or when you've got a lot of network to traverse. Doesn't sound like either is the case here.

Be careful (as always) if multiple clients might write to the same file.

I should probably clarify what I am wanting to do.

I need to host web applications using the traditional web server / app server and database server model.

Clients will sign up for the service and then the web servers will proxy requests to the app servers. When the load reaches a certain level new app servers will either be spawned or the app server will be upgraded to a larger Linode. Since the web servers don't need to share any data (except for configuration files) and the database servers can just implement master / slave replication there is no problem with them. The problem is having multiple app servers running the same application and thus require the sharing of storage between all app servers running the same application.

Does that clarify what I am wanting to do? Hopefully it should, but if you require any more information please let me know.

Hmm… in that case, I'd probably recommend storing the code in a repository (SVN, git, or whatnot), and then having your configuration management system pull and deploy the code when it changes. This will allow the cluster to keep running if the server with the source code goes away.

If you go the NFS route, be sure to make it highly available. Otherwise you're implementing a distributed single point of failure…

Ninja edit: see also puppet and chef for your automation needs.

Thank you for your advice. It was very helpful :).

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct