Link to home
Start Free TrialLog in
Avatar of Brandon_V
Brandon_VFlag for Canada

asked on

Sharing a virtual disk in windows with ESX 3.5

Hey everyone I'm trying to see if its possible to share a virtual disk in ESX 3.5. I've setup a little test. So I have two Windows 2003 Enterprise servers each have a 10gb C drive and work. On lets say server 1 I then setup a 2nd disk and edited the VMX file to say the following below.

disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.present = "true"
scsi1.sharedBus = "none"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "true"
scsi1:0.fileName = "Win2k3SB_1.vmdk"
scsi1:0.mode = "independent-persistent"
scsi1:0.shared = "TRUE"
scsi1:0.redo = ""
scsi1:0.deviceType = "scsi-hardDisk"
sched.scsi1:0.shares = "normal"

After powering it off I then added the 2nd disk to server 2. They can both use then disk when the other is not on. However is it possible to set it so multiple machines being on at the same time can see a disk.

The reason I'm trying to do this is I have a couple web servers that need to store lots of data. If they could point to the same virtual disk this would save me having to sync drives and using double hdd space.
Avatar of vmwarun - Arun
vmwarun - Arun
Flag of India image

Are you trying to evaluate Clustering ?
Avatar of 65td
I don't think so, Windows will want to own or place locks on the disk.
Even when using fail-over clustering only one machine owns the shared disk, but the other node could own it.
Avatar of Brandon_V

ASKER

no see thats the thing I'm trying to do load balancing not clustering
I think you should take a look at this article
Network Load Balancing: Frequently Asked Questions for Windows 2000 and Windows Server 2003 - http://technet.microsoft.com/en-us/library/cc758834.aspx
Avatar of markzz
markzz

I do see what you are trying to achieve,
The basic answer to this is NO. Even if you could configure ESX to alow it Windows can't do this.
In a cluster both servers see the disk but one server is always in read only or a volume lock state. In the event of one system failing the secondary assumes write access.
If you want to do load balancing you may be able to give 2 servers the same resources, use an altion or another load balancing method to distribule load to the servers but each server would see it's own disk. If the data on disk were a database you could then use active active replication.
Hey I've done quite a bit of clustering, well enough to make the statement that it's too complex and there are too many pitfalls to get by , OH and at the moment you need it most it fails.
My advice is don't go down this path but look at how you can more highly resource a single system ensureing you make it as redundant as possible and in the event of ESX use HA.
ASKER CERTIFIED SOLUTION
Avatar of za_mkh
za_mkh
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
hehe why you say it would have a 99% chance of corruption ?
Brandon
there is a very good chance the disk will corrupt, 2 Windows servers can't have control of the same disk block at the same time , clustering is your only option.
What happens when you open a textfile from 2 PC's and make changes at the same time then save on both.
It's a very simplistic example of why it doesn't work.
The one who writes last wins, if this were a database one server will see this as a corrupt database as the records it expects to be present won't be.
well see thats the thing. I totaly get 2 people can't write to it at the same time. The thing is though its a batch job that processes a ton of jpg's and drops em there.

So its only going to be reading from IIS. I totaly get it if was a dB or something i'd want a cluster but this is just a disk with tons of images. So flat files no changes
wish there was a better solution but I guess its not possible as of yet.