Sync user accounts over multiple linux servers

Solution 1:

I'd recommend starting to use a config management system (Puppet and Chef are two good options at the moment) to deploy user/group data to your servers.

Ideally, you'd have one central LDAP or NIS server, but due to your distributed nature, using a config management system to keep your local user/group databases in sync would be a better option for you.

Solution 2:

You can use LDAP for central user management, with replicas on all servers. And some cluster filesystem for the home directories, like: GlusterFS or XtreemFS.