2

On wmware Esxi host, I have the following VMs: vm1 - windows server vm2 - linux

I want the vm1 and vm2 to be able to store their database files in a folder "DataDB".

like this:

/WinServer2008

/SU11

/DataDB

/SourceControl

Anyone knows how to do this?

2
  • Maybe you should clarify what you really want to do, because the VMs cannot store any files directly on the data store. Only virtual disks are possible, but (like chopper3 said) they can't be shared without additional overhead.
    – touchstone
    Jan 31, 2010 at 21:00
  • Do the VMs need to share the database files? If so do they need concurrent access? Or are you simply trying to put all your DB files in one place that has storage space and perhaps easy backup tracking? Feb 1, 2010 at 9:09

5 Answers 5

2

Although two or VMs can have a single .vmdk assigned as a virtual disk these are presented as SCSI disks and therefore all VMs seeing a single virtual disk would need to use a common clustered file system to manage the virtual disk or enormous data corruption would occur.

I am not aware of any common clustered files systems that allow for both Windows and Linux OSs/VMs to interoperate.

One option you have is to present the disk to a single Windows VM then to have that VM share the disk our using CIFS/SMB and have the Linux VM mount that. Obviously this would be file-level share only.

If I can find a trustworthy common cluster file system that is appropriate I'll update my answer but I'm not hopeful.

3
  • 2
    +1. "Enormous data corruption" is simply great.
    – Massimo
    Jan 31, 2010 at 17:47
  • Does ESXi really allow to simultaneously run two VMs with the same single .vmdk? Does not ESXi lock .vmdk files? Sep 7, 2013 at 6:45
  • 1
    @pabouk - yes, that's actually the way vmw recommend you do single-host MSCS clustering's quorum and MSDTC disks.
    – Chopper3
    Sep 7, 2013 at 8:01
0

Think about gfs... http://en.wikipedia.org/wiki/Global_File_System

1
  • linux only isn't it?
    – Chopper3
    Jan 31, 2010 at 16:22
0

There is no way to get multiple Windows system's to have [concurrent] native access using NTFS (or one of the FATs) to the same block storage device which is what you are looking for here. It doesn't matter if the underlying device is a VMware vmdk in an ESX\ESXi datastore or a SCSI LUN on a shared SCSI bus or SAN. There is limited support for concurrent access with Hyper-V R2 using CSV volumes but this is only for the purpose of hosting Hyper-V VM files. You may be able to present the same device to two Windows systems simultaneously but if you do then at best you will get access to the device blocked on one system and at worst data corruption. The problem gets even more unlikely to have a solution when you are mixing Operating Systems in the guests, as you require.

The best way to do this natively is to share the specific volume out in one VM (from within Windows or Linux) and map that volume in the other VM. Alternatively you may be able to connect both systems to a NAS that can provide concurrent access to both VM's. However you will still need to be certain that the applications you are using can adequately handle concurrent access to the specific data in question.

0

I see two possibilies here, for system vm-win and system vm-linx. Both will have challenges with at least file/directory permissions issues.

1) Make the data resident on system vm-linx. NFS export the data directory on System vm-linx. On system vm-win, do an NFS mount of the data directory. I believe that Microsoft provides a FREE windows NFS mount client.

2) Configure the SAMBA package on vm-linx. Make the data resident on vm-win. Mount the data directory on vm-linx using a SAMBA mount.

0

I think I alrady asked something similiar: Sharing filesystem between Linux and Windows servers

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .