I researched this problem for a whole year and never found anything.
But i have my own conclusions anyway.
What i did:
1. changed ram etc..
2. tested everything with everything possible
a) hanging occurs when clustered servers are put together
b) though it is very little possibility, but my conclusion is that somehow xen kernel+ glusterfs (sync) played a big role in this hanging. I played with various kernels and got to the point when only one server hangs constantly but other is ok.
(now i just have drbd+xen, running without problems atm)
Could you please write all the software you are using?