How can I set this up?
Your asking a fairly loaded question that is missing A LOT of details before it can be answered. There are thousands of posts like this so I would do some heavy digging in documentation and in the forums. I would do A LOT of research while designing your LAMP cluster that will fit your business needs and limitations.
Follow the documentation on setting up Moodle for the cluster. https://docs.moodle.org/29/en/Server_cluster
How is your DB set up, Master vs Master or Master vs Slave set up?
+1
It depends on precisely what you want/need to achieve. A "simple" load-balanced scenario will give you quite a bit of redundancy but there are still significant single-points-of-failure. Plus adding any kind of additional complexity itself increases the chances of it all going wrong.
It's only Moodle which I've never known to be life and death. How much redundancy could you need?
In my experience an extended failure of internet connectivity is at least as likely as a failure of one of the systems that Moodle relies on. I agree with Howard, more complexity can mean more points of failure. I spent about six months chasing down a problem caused by the installation of a solution that was supposed to enhance performance and resilience.
I understand the theory of not putting all your eggs in one basket, but there is something to be said for getting a very good basket. Would anyone like an analogy on any other topic?
To answer the the OP question, you will need a fast NFS, SMB share so you can share your moodledata folder and a second server with your moodle application on it.
Or use a clustered file system such as OCFS2
You can use Apache Balance Manager to load balance your moodle web nodes
You will probably need a third server outside of network to act as the gateway. Apache can be used for this
Albert