none
VM File Locations

    Question

  • Is there a technical advantage to creating and storing VM files in either of the following ways:

    1.  Separate folders for VMs & VHDs. This appears to be the default for Server 2012R2.

    x:\hyper-v\VMs

    x:\hyper-v\VHDs

    or

    2. Separate folder for each VM. I have seen this called "External Virtual Machine Data Root" (Ben Armstrong).

    x:\hyper-v\VMs\vmname1

    x:\hyper-v\vms\vmname2

    Thanks >> Joe

    Thursday, March 16, 2017 1:43 AM

Answers

  • Hi Joe, 

    The short answer is not really unless you had different locations for different storage types. Let's say you had C:\CSV1 and C:\CSV2. CSV1 is an array of 5400rpm disks and CSV2 is an array of 10k rpm, maybe even SSD tier. Your needs may not require the OS to have the speeds of CSV2, but the data disks do, so you may separate them in that instance. Otherwise, if the storage tiers are the same, they can be are arranged however you would like to organize them. Hyper-V doesn't really care where they are, so long as they're accessible. 

    • Proposed as answer by waingro Thursday, March 16, 2017 2:14 AM
    • Marked as answer by JAGP Thursday, March 16, 2017 2:51 AM
    Thursday, March 16, 2017 2:14 AM

All replies

  • Hi Joe, 

    The short answer is not really unless you had different locations for different storage types. Let's say you had C:\CSV1 and C:\CSV2. CSV1 is an array of 5400rpm disks and CSV2 is an array of 10k rpm, maybe even SSD tier. Your needs may not require the OS to have the speeds of CSV2, but the data disks do, so you may separate them in that instance. Otherwise, if the storage tiers are the same, they can be are arranged however you would like to organize them. Hyper-V doesn't really care where they are, so long as they're accessible. 

    • Proposed as answer by waingro Thursday, March 16, 2017 2:14 AM
    • Marked as answer by JAGP Thursday, March 16, 2017 2:51 AM
    Thursday, March 16, 2017 2:14 AM
  • I had not thought of the disk performance aspect.  All of our installations are based on single storage arrays with the same drive models.

    We also have not been separating the OS on its own VHDX.

    So in the scenario that you describe, if we have an SQL server VM we should create one VHDX for the OS and locate it on CSV1, with a second VHDX for the SQL DB located on CSV2?

    Thanks for the input.

    Best >> Joe

    Thursday, March 16, 2017 2:31 AM
  • Always separate your OS disk from your data disks. In the case of SQL servers most people will create separate virtual disks for the DB, Logs, and Temp. However, I'm not sure there's much benefit to that layout when it comes to your scenario. I would run some tests against the different layouts to see if there are any performance gains from doing that. 
    Thursday, March 16, 2017 2:36 AM
  • Is your recco to create a separate OS disk also for performance, or is there another reason?
    • Edited by JAGP Thursday, March 16, 2017 2:40 AM
    Thursday, March 16, 2017 2:40 AM
  • Just general best practices. You never want anything on your OS disk other than the OS. It makes it hard to recover, for one thing. If your OS gets hosed you can't easily rebuild it without losing application data and vice versa. 
    Thursday, March 16, 2017 2:49 AM
  • Thanks for your insights.

    Much appreciated.

    Best >> Joe

    Thursday, March 16, 2017 2:52 AM