[Linux-cluster] Cluster with shared storage on low budget
linux at alteeve.com
Tue Feb 15 01:51:00 UTC 2011
On 02/14/2011 08:49 PM, Nikola Savic wrote:
> Digimer wrote:
>> On 02/14/2011 06:39 PM, Nikola Savic wrote:
>>> 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.
>>> Best Regards,
>> I'd recommend looking at created a three-way DRBD resource. Use this
>> resource as your cLVM PV/VG/LVs. On these LVs you can use GFS2 for the
>> actual shared file system where your data can reside.
> Thank you for prompt reply!
> Is there howto I can look into for this kind of setup? I assume that,
> when DRBD is used, only one of three mirrored devices is available for
> writing. That would require that one of servers exports writable DRBD
> using iSCSI or GNBD, so other cluster servers could access it. Am I right?
> What is main reason you would suggest DRBD and not solution based on
> LVM mirroring? Is it
> - Performance
> - Reliability
> - Better failover
> Best Regards,
I have an in-progress tutorial, which I would recommend as a guide only.
If you are interested, I will send you the link off-list.
As for your question; No, you can read/write to the shared storage at
the same time without the need for iSCSI. DRBD can run in
"Primary/Primary[/Primary]" mode. Then you layer onto this clustered LVM
followed by GFS2. Once up, all three nodes can access and edit the same
storage space at the same time.
So you're taking advantage of all three technologies. As for mirrored
LVM, I've not tried it yet as DRBD->cLVM->GFS2 has worked quite well for me.
E-Mail: digimer at alteeve.com
Node Assassin: http://nodeassassin.org
More information about the Linux-cluster