Ok.. I am needing to setup a 4-node apache cluster and 2-node mysqld cluster or master/slave setup with replication.
It will all run on 2 xenserver6.1 hosts in a pool...
A lot of this ls already done.. I just need a few things finished to tie it all together....
Here's what I've got...
On Host 1:
node0 - apache 1st apache server
node1 - apache 2nd apache server
mysql0 - mysqld 1st mysql server (master)
On host 2:
node2 - apache 3rd apache server
node3 - apache 4th apache server
mysql1 - mysqld 2nd mysql server (slave)
I will give you IP addresses in private message...
But basically I have a load balancer sitting on a public IP that can round robin the apache server with or without persistence OR it can route to the apache server with the least # of sessions... this part works fine.
On each apache server I have webmin and virtualmin installed and I can add the same site to each and it load balances and works perfectly..
That's great until a change is made, script upgraded etc on say node0... then I have to manually (or with crontab) rsync or copy the changes to the other nodes. This is cumbersome and not how I envisioned this working. I need this to sync near instantly if possible.. using inotify, lsyncd or whatever will work...
If virtualmin is not going to work for this sort of thing I'm open to other suggestions... I just have several sites I need to move form a single virtualmin setup to this cluster setup and a restore within virtualmin would be much easier than manually re-creating each site by manually installing its scripts, importing DB etc...
Moving on to MySQL...
I currently have mysql0 on host1 and mysql1 on host2
These are setup in a master/slave replication mode and that works fine... my load balancer routes all mysql traffic to mysql0 until it's not reachable and then switches to mysql1. That works fine but once mysql0 is back up it's out of sync and re-syncing them is a pain... is there a better way to do this where when the mysql server that went down comes back up, syncing can occur automatically? This would actually allow me to load balance between them also instead of routing all traffic to one and only to the 2nd one once the first goes down.
All servers (apache and mysql) are running CentOS6.3. I'm open to other suggestions and have nothing but test data on the system.. so if you need to wipe it clean and start over that's fine too.
Everything is running on 2 identical Dell PowerEdge R710 hosts running XenServer6.1... storage is on iSCSN SAN (Dell Equallogic PS6000XV)
In SUMMARY what I want ideally:
I want to create a site say [url removed, login to view] on node0.... The site [url removed, login to view], the users/groups etc and web files for it should automatically sync with node1, 2 and 3.
The mysql db should be created on mysql0 and mysql1 as well as users and db permissions for those users.
Anytime I make a change to the site on node0 those changes should be immediately pushed to the other apache servers.
Should a mysql server reboot or go down, upon it coming back up data should sync up automatically if possible.
I'd prefer to use CentOS6.3 but if that's not possible I am open to suggestions.
I'd also prefer to use virtualmin as my control panel for managing virtual servers (domains etc), but again I'm open to suggestions there as well.
I hope this is clear.. if you have questions, feel free to ask and I will clarify anything you might be missing.
I will require pretty detailed explanations of how you plan on doing this prior to selecting you.
I am an experienced Linux cluster system administrator. I will perform the setup, tuning and provide further support of the project for you. I'm online in Yahoo!/GTalk/MSN and ready to start right away.