Question: We have three servers running Ubuntu Server 10.04, load balancing between them through DNS. We use Django, nginx to serve content and PostgresQL as database. 

For PostgresQL, there are some mirroring solutions, but what is the best way to mirror our static files, using "three masters" schema?

I guess just rsyncing them wouldn't be a scalable and easy-to-maintain way.

Answer: 
As long as the files don't change often and must be kept synced at all times, why not rsync? Just make sure you have one master server where you edit the files, that makes syncing easier. 

Other than that, a networked file system like NFS might work, or you implement something like [DRBD](http://www.drbd.org/) to keep the files synced at all times.
When code is deployed to production, it should be deployed to all the servers at once. If this action is properly controlled, it should be mirrored as part of your controls and a technology solution will be unnecessary. Not all administrative solutions are based in technology.

[OpenEFS](http://openefs.org/) is a tool that was designed to enable change control as well as deployments, which you might find helpful. I implemented a lot of what they do on my own but for someone who has no foundation, it would be a good start.

For static servers that are not in scope for change control, I have found rsync to be an appropriate solution in the past. Typically for servers that fall under this category, scaling is unlikely to be an issue but if it is that's where [NFS](http://en.wikipedia.org/wiki/Network_File_System_%28protocol%29) or [AFS](http://www.openafs.org/) might come into play.