6

The situation is:

  • I am running VMware ESX 3.5 (3 ESX Hosts w/ vCenter Server in a Cluster);
  • I need five Virtual Machines to read from the same disk running a clustered file system;
  • I cannot replicate data for each Virtual Machine due to capacity; and
  • I need to avoid a single point of failure (sharing from a VM is not a viable option);

In a traditional system I would point two servers at the same LUN and used a clustered file-system and this is what I'm looking for an equivalent of inside of a virtualised environment.

I have a SAN and can use Raw Disk Mappings (RDM) from a VM to map to a LUN however there is LUN limit on the SAN and I am unable to establish a LUN for each Virtual Machine.

Is there a clever way around this or am I snookered?

More info:

I'm looking to run a clustered application and need to share file content and configuration between two Virtual Machines, about 50gb. This was previously done using a shared LUN on a SAN. I require both load balancing and HA of the machines. I do not have the capacity to replicate the data on each VM and the application cannot tolerate any sync-lag.

Essentially I "just" need a way to point each VM at a single LUN and allow the VM to then control that disk.

Licensed features include HA/DRS

Antitribu
  • 1,709
  • 3
  • 23
  • 37
  • Can you post somem more details on why you need 5 machines to read from the same disk? Are yu looking for redundancy, capacity etc. Do you have a single vmware host or a cluster? what vmware features do you have available? – Jim B May 31 '09 at 23:12
  • Can the application run on NFS? – Matt Simmons May 31 '09 at 23:37
  • NFS would introduce a single point of failure in the NFS server. The SAN has 4 fail-over paths, each ESX host has 2 HBAs and I would like to maintain that level of redundancy. Any solution involving multiple NFS servers would put me back to the original issue. Additionally any file sharing arrangement would introduce CPU overhead and latency into the equation that I would rather avoid. That said I am investigating if the SAN can be an iSCSI target then use the software initiators inside the VMs. – Antitribu May 31 '09 at 23:59

2 Answers2

2

Note: I've never done this before.

The shared storage RDM should be possible, although having five nodes accessing it could introduce hilarity.

The technique you want is similar to how two node Microsoft Clustering Services is implemented (with a shared quorum drive); VMware provide a documented method for how to achieve it.

The solution looks well documented, if a little hairy. I'd recommend building and testing it in a lab before considering letting it anywhere near your production cluster.

Good luck.

Greg Work
  • 1,956
  • 12
  • 11
  • Thank you! Looks like, thats the doc I'm after, will let you know how I go with it. – Antitribu Jun 02 '09 at 08:47
  • 1
    Worked well enough to point me to the crux of the solution. Short version would be, create a new disk pointing to an RDM on a _different_ scsi device. so say SCSI1:1, VMware will create a new SCSI controller automatically and on that controller set shared disk access as required. – Antitribu Jun 02 '09 at 22:54
  • Well done for isolating the magic required -- I'm glad it worked! – Greg Work Jun 03 '09 at 09:18
1

I was going to suggest iSCSI but no matter how you slice it, you need to create a LUN to share between the VMs regardless of the protocol (FC, iSCSI) used. You mention a LUN limit, but you shouldn't need to create more than a single LUN for all the VMs to share. Each would have an RDM pointing to that LUN. Are you saying you lack the ability to create a single additional LUN on your SAN?

Kevin Kuphal
  • 9,064
  • 1
  • 34
  • 41
  • I have a LUN and can point a single VM to that LUN using RDM. That machine can then access that disk without issue. VMware however then greys out the RDM option on new disk creation because that LUN is in use. Basically it seems limited to a 1 to 1 ratio of LUNs to VMs. Linking the same disk with the RDM mapping to multiple machines faults with a disk lock error as normal. – Antitribu Jun 01 '09 at 09:19
  • 1
    As noted in the answer below, you need to change the SCSI controller bus sharing setting on the virtual machines. Once you do that, the single LUN can be shared between more than one VM – Kevin Kuphal Jun 01 '09 at 14:30