NFS or rsync for sharing files between FreeBSD servers?

Amitabh Kant amitabhkant at gmail.com
Wed Sep 7 16:25:25 UTC 2016


On Wed, Sep 7, 2016 at 9:48 PM, Solène Rapenne <solene at perso.pw> wrote:

> Le 2016-09-07 18:09, Amitabh Kant a écrit :
>
>> We need to share a number of directories between 3 servers running 9.3 .
>> Most of these directories contain php/html/js/images files which do not
>> change frequently.
>>
>> We need to keep the directories in sync on all three servers. Currently,
>> we
>> run a rsync command every time there is a change in one of the
>> files/directories. Sometimes it does happen that we forget to run the
>> rsync
>> script making one of the servers return old versions.
>>
>> That is where we are planning to introduce a nfs_server on one of the
>> servers, while the other two will be nfs_clients accessing the files
>> through a shared directory. I understand that it would present a single
>> point of failure, but in terms of disk access speed, will it make a huge
>> difference further impacting the web servers running on the nfs_client
>> servers ? The servers are connected to each other over gigabit lines, and
>> the files are themselves not greater than 20-30 kb on an average, with
>> some
>> of  the larger image files somewhere around 4-5 MB.
>>
>>
>> Amitabh
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe
>> @freebsd.org"
>>
>
> Hello,
>
> When does the files changes ? Is it the server changing the files or is it
> when your team push changes ? If the changes come from your team, just
> change your deployment script to push it to the 3 servers. I would
> recommend rsync because if it doesn't change a lot with a NFS you will add
> a SPOF (single point of failure) and overhead for no benefit.
>
> Kind regards
>

As of now, files are only changed when the team pushes the change. But
going ahead, we are looking at a scenario where the files auto-generated
through script on one server would be required on other servers too. Using
rsync while running a web server process doesn't seem ok to me. The other
idea is to use the DB server to store the auto-generated files, and fetch
on any of the servers are required. While this is a feasible idea
technically, this might also bloat the DB.

So if NFS overhead is not too huge, I can take a look at it as an option.

Amitabh


More information about the freebsd-questions mailing list