I need to setup cluster of 3 servers without separate storage device (SAN). Servers should join their local hard drives to create shared storage space. Every server in cluster has public (100Mbps) and private (1Gbps) NIC. Private 1Gbit network will be used for exchange of data (files) on shared storage. Additional request is that data on shared storage is highly redundant (complete mirroring is required).
I was wondering if following setup is possible and if anyone has any experience or comments on it:
- Servers will export local disks of same size as iSCSI targets
- Each server will access other's two servers disk over iSCSI initiator
- CLVM will be used to set Volume Group on all 3 disks. In theory this VG will work on all servers, because they'll have access to all disks (either directly or over iSCSI).
- CLVM will be used to create Logical Volume with mirroring option set to 3 (-m 3). Since there are 3 disks (physical devices) forming VG, each server will have redundant copy of same data.
- Created Logical Volume will have GFS2 on it, so that it can be shared by cluster.
- Web server will store web application files (scripts and photos) on created GFS.
If it works, this setup should provide shared storage for cluster, built from already available local hard drives in servers forming cluster. By using LVM mirroring, each server will have the same copy of data, which should make cluster resistant to failure of any server.
I was wondering, is LVM smart enough to optimize reading and use local drive for read operations?
Looking forward to your comments.