Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I want to store media assets and such that can be accessed by multiple virtual machines as a windows drive path. The question is can I (and should I):

A) Have a physical hard drive partitioned to NTFS and share access to all the virtual machines.

-or-

B) Have a virtual hard drive created by VMWare (so the physical partition is VMFS but virtual one would be NTFS) and share access to all the virtual machines.

Which is possible and/or best?

If something ever 'goes wrong' would I be better off having a native file system I could just connect to using most any bootable OS?

share|improve this question

3 Answers 3

up vote 1 down vote accepted

Narrowly speaking, at this time mounting the same NTFS-formatted partition on multiple servers is not supported. The only exception to this is when the NTFS partition is hosting HyperV virtual disks, which is not what you're doing. The problem comes down to how to mediate locking. The HyperV MSCS role includes a layer for doing it, essentially by electing a single MSCS node to be the metadata server and all metadata updates are processed through that node.

Looking at your problem, need the ability to access the same data-store of media files from multiple servers, it looks like a file-level sharing solution will fit your needs such as a dedicated Windows server for storage. If the web-servers and the media-store are all in the same AD Domain it is perfectly possible to configure the web-services to have access to the file-store over the network.

share|improve this answer
    
This matches what I have been reading, however I have one thing I am wondering about. Say for some reason, something fails and I need to access the files on this shared drive. If I can't get into ESXi or a VM to browse the files, I will have to download the virtual hard disk somehow? Or how could I gain access to the drive contents? –  ioSamurai May 13 '11 at 16:54

This is a much more complex area than you'd think and the answer/s rely heavily on a lot of information you haven't provided yet.

Firstly do you have more than one ESXi host and if so is there any shared storage between these hosts (i.e. an FC/FCoE/iSCSI/NFS SAN/NAS)?

Secondly how do you see these multiple Windows VMs accessing this shared disk; at a block or file level? also do you have an specific performance requirements and do you foresee any write-lock issues?

If you need block-level sharing and you only have one host then you can simply use an 'independent' disk exposed to all VMs but you'll have to use Windows Cluster Services to manage the block locking. If you have the same requirement but multiple hosts and shared storage then you'll need to present your disk (in no more than 2TB chunks, for the moment anyway) as something called an RDM to all your hosts/VMs, again this will require something to manage block locks such as MSCS or similar.

If you need file-level sharing between VMs and have no immediate write-locking issues then perhaps just exposing regular .vmdk's to two or more Windows VMs and switching to DFS would suffice.

There are a number of other scenarios that could be used but we can get into them in more detail if needed if you come back with some additional information - but these are the basics at least.

share|improve this answer

You can't have a single (virtual or physical) disk used at the same times by more than one Windows machine, unless you use failover clustering; this is not and has never been supported on Windows. If you only need one machine at a time to access the data, you can implement failover clustering, and then you can choose if you prefer to use a virtual or physical shared disk; but if you need two or more servers to access the data at the same time, you need to use some file sharing system; the simplest one would be connecting the disk to a file server and sharing it out.

If you want to use failover clustering, then you can choose if you prefer a shared virtual or physical disk; there are two possible scenarios here: if the clustered VMs are running on the same server, or if they are running on different servers.

If they are running on different servers, you really don't have any option here: you need shared storage (like a SAN LUN), and you need to present it directly to your VMs (using a RDM - Raw Device Mapping).

If they are running on the same server, you can still use RDM to connect them to a physical disk, or you can use a .VMDK virtual disk and connect it to more than one WM (which requires some configuration); the performance difference between the two options is really negligible.

About your last question: a physical disk has the obvious advantage that you can directly access it with any server that can be connected to it, while a virtual one needs an operational virtualization layer to be accessed.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.