VMDK (s) shared for multiple virtual machines

I've seen several threads on this topic, but nothing that meets quite what I'm trying to do.  I'll start by saying that I am new to the world of ESX.  I'm running ESX 3.5 (original installed license, it has since been upgraded to vSphere, but we have not yet updated the physical server).

We have several Terminal servers running that are identical in configuration, we are looking at a SAN option but for now, we use only local storage and which has since been used to the top... and I'm putting online the more TS VM reduce the pressure on the current criteria.

So what I was wondering if I can do (from what I've read I know that some version of it is possible, so I guess it takes more than one type of "going to work" issue) VMDK share among the many running VM.  My thoughts on this came with kind in 3 different ways:

Have all use the same root VMDK with modifications used just for the name/IP (I think I read that it is possible through a root pointer VMDK file)

B - Individual VMDK for installation of windows, but they all share the same VMDK 'data' hard drive which would contain "documents and settings" and "program files" location.

C inverse of B, a VMDK root with the Windows installation, then a VMDK separate data for each virtual computer.

The current servers are Windows 2003, but brand-new launched will be 2008 (I have a test box 2008 until now, which is what has exhausted the rest of my HD space... and that disk VMDK is really small, so I wish it were).

Looks like you could find some advantages to implement related Clones, here are a few documents that explain the differences between a linked and thick clone and how they work:

http://www.VMware.com/support/WS55/doc/ws_clone_overview.html

http://Rodos.Haywood.org/2008/12/storage-analysis-of-VMware-view.html

If this sounds like it fits your needs, it various VMware products which support this and they all have their pro/cons, and you need to assess according to your requirements and use cases:

VMware Lab Manager

VMware View 3

vSphere 4 (using the API and write your own script/application)

=========================================================================

William Lam

VMware vExpert 2009

Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

repository scripts vGhetto

VMware Code Central - Scripts/code samples for developers and administrators

150 VMware developer

Twitter: @lamw

If you find this information useful, please give points to "correct" or "useful".

Tags: VMware

Similar Questions

  • Single VMDK for multiple virtual machines in esx3.5?

    Hello

    Is it possible to use a single VMDK to host several VM in ESX3.5 or is this feature on the way?  I think the vmware view tech that allows you to host multiple virtual machines to a single image and store only the deltas for VMS replca.

    We organize several ts who are about 12 GB per image, and each server is essentially the same.  It would reduce the space if these could be consolidated at the level of vmware.

    Thank you very much.

    What you are referring to the notion of linked Clones, it's something completely different to share a single VMDK.  with linked clones, you actually run mulitple copies of a single Machine.  This fuinctionality is not available in ESX Raw but is a characteristic of Lab Manager and VMware View Premium.

    If you have found this device or any other answer useful please consider useful or correct buttons using attribute points

    Tom Howarth

    VMware communities user moderator

    Blog: www.planetvm.net

  • List of data store, SpaceProvisioned, Spaceused for multiple virtual machines

    Hello

    I want to list the data store, the SpaceProvisioned, the Spaceused for several virtual machines.

    I wrote the following lines, but this didn t work:

    $vms = get - VM v998spwmv10175n
    {foreach ($vm to $vms)
    $vmname = $vm. Name
    $vmdiskprovisioned = $vm. ProvisionedSpaceGB
    $vmdiskused = $vm. UsedSpaceGB
    $vmdiskpath = get-disk hard - VM $vm | Select file name
    Select @{N = "VMname"; E = {$vmname}},
    @{N = "VMDiskPath"; E = {$vmdiskpath}},
    @{N = "VMDiskProvisioned"; E = {$vmdiskprovisioned}},
    @{N = "VMDiskUsed"; E = {$vmdiskused}} | Format-Table

    }

    What wrong with it? I'm away right?

    THX in advance

    Chakoe

    The following script lists each vDisk in a separate line. The VMDiskProvisioned and VMDiskUsed properties are always those of the virtual machine.

    $vms = Get-VM v998spwmv10175n
    & {foreach ( $vm in $vms ) {
      $vmname = $vm.Name
      $vmdiskprovisioned = $vm.ProvisionedSpaceGB
      $vmdiskused = $vm.UsedSpaceGB
      foreach ($HardDisk in (Get-Harddisk -VM $vm)) {
        $HardDisk | Select-Object -Property @{N="VMname"; E={$vmname }},
              @{N="VMDiskPath"; E={$HardDisk.FileName}},
              @{N="VMDiskProvisioned"; E={$vmdiskprovisioned }},
              @{N="VMDiskUsed"; E={$vmdiskused  }}
      }
    }}
    
  • Upgrade VMware Tools for multiple virtual machines by power Cli

    Hello

    I'm looking to improve the tools of vmware for several virtual machines through scripts. As VM1, VM2, Vm3,... VM50.

    Update-tools-VM VM1 - NoReboot  (Applicable only for virtual machines unique sound)

    Any help will be appreciated in do I have to upgrade about 100 VMs which was migrated from ESX3.5 to ESXi4.1

    Thank you

    VMguys

    The cmdlet Update-tools has a NoReboot parameter.

    When you set this switch, normally should not be a reboot after the upgrade.

    Get-VM-name (1.50 | % {' VM$ _ "}) | Update-tools - NoReboot

    If you set the switch to $false, there will be a restart if necessary.

    Get-VM-name (1.50 | % {' VM$ _ "}) | Update-tools - NoReboot: $false

    Note that this method of first creating a table with all the names of the virtual machine you want, is faster than the previous example, I gave.

    In this case you only do a Get - VM with all the names, instead of 50 individual.

  • a simplistic way to change Mac for multiple virtual machines

    Hi all

    I was wondering, what is your perfered method to change MAC to a large number of virtual machines? I just cloned on 8 virtual machines to another host and VEEAM duplicated the MAC as well. So I need to change MAC 3 for each virtual computer and I got 8 of them to do so.

    I wonder if there is a quick and easy way to do this and then enter the settings?

    Thank you

    Davy

    Good afternoon

    Following the line to change the mac address of a virtual machine, preferably if VMs are turned off.

    Get - VM test | Get-NetworkAdapter-name "card1 network | Game-NetworkAdpater - MacAddress 00:50:56:3F:FF:FF - confirm: $false

  • report for multiple virtual machines created

    I have a virtual machine creation script that I modified in order to be able to run in a loop using a CSV file to create more than one virtual machine at once. My original script send me an e-mail message for example:

    VM

    IPaddress

    CENTRAL PROCESSING UNIT

    Memory

    ToolsVer

    ToolStatus

    Data store

    Folder

    ESXiHost

    MyVM

    123.45.67.89

    3

    4096

    8384

    toolsOk

    myDS

    My-file

    myesxhost

    The problem that I want to try to figure out how can I get ALL the VM's on an e-mail report. Right now, because it's a loop, each VM I create will send a report. So if I put it up to build 4 vm, it will send 4 emails... I don't like it.

    How my script works pretty well...

    {foreach ($var in $vmlist)

    script here

    ...

    ...

    ...


    # Create and send emails report - Start #.
    #
    Function create HTMLTable {}
    Param([array]$array)
    $arrHTML = $Array | ConvertTo-Html
    $arrHTML [-1] is $arrHTML [-1]. ToString(). Replace ("< body / > < / html >", "")
    Return $arrHTML [5.2000]
    }

    $output = @)
    $output += ' < html > < head > < / head > < body table > < style > {border-style: solid; border-width: 1px; police-size: 8pt; background-color: #ccc; width: 100% ;}} Th {text-align: left ;}} TD {background-color: #fff; width: 20%; border-style: solid; border-width: 1px ;}} Body {do-family: verdana; do-size: 12pt ;}} H1 {make-size: 12pt ;}} H2 {make-size: 10pt ;} < / style > '}
    $output += ' < H2 > the virtual machines created < / H2 > '
    $output += ' < H2 > < / H2 > '
    #$Report = @)
    $Report = New-Object - TypeName system.collections.arraylist
    foreach ($vm in get-vm-name $var.myvms)
    {
    ...

    ...

    ...

    ...

    ...
    $report.add ($reportedvm) | out-null

    }


    If ($HTML - eq 'Yes') {}
    $output += '< p > '.
    $output += '< p > '.
    $output += create HTMLTable $report $output += '< /p >.
    $output += ' < body / > < / html > "
    $output | Add a content-$FileHTML
    }
    If ($SendEmail - eq 'Yes') {}
    $body = get-Content $FileHTML | Out-string
    Send-MailMessage - to $EmailFrom - to $EmailTo - subject $EmailSubject - SmtpServer $EmailSMTP - body $body - BodyAsHtml}
    #

    }

    OK, I have to spend it at the moment, I can't work.

    Thank you

  • Modify the script for multiple virtual machines

    I'm working on the powercli user to change the CPU and the memory of several virtual machines.

    I found the perfect scenario created: http://ict-freak.nl/2010/05/07/powercli-script-to-schedule-memory-and-or-vcpu-updowngrade/comment-page-1/#comment-20336

    But it's only for 1 VM.

    Can someone tell me to change so do several virtual machines.  A text file would be ideal, but I'm ready for anything as this point, nothing I try does not work.

    Thank you.

    You could do

    foreach ($vm in Get-VM-name (Get-Content:\Powercli_scripts\servers.txt))

    I don't know why it's poweroffs randomly.

    You can add the - WhatIf parameter on this line, like that it will only say what he does, without actually running the cmdlet.

  • RDM mapping for multiple virtual machines

    Hi all,

    I created and associated with a 6 GB LUN me ESXi host 5.

    Now I need map that drive more then a VM under this host, I managed to add the first virtual machine disk (via 'change settings' > 'Add' > 'hard drive' > "raw device mapping"), but when I try to do the same thing to another virtual machine, I do not see the disk I used befor in the list "select target lun.

    So, is it possible to connect this same disk as raw device to VM, then one more?

    -Thanks!

    Depending on your configuration (Cluster-in-a-box, Cluster-across-boxes) you may need to configure the mode of virtual SCSI controller properly. Please take a look at http://pubs.vmware.com/vsphere-50/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-50-mscs-guide.pdf?lang=en for more details.

    André

  • RDM for several virtual machines on the same LUN

    Hi, I have a requirement for multiple virtual machines to have access to the same LUN filestore. I think create ROW for each virtual computer to the LUN. I wanted to ask if this is possible and if someone put in place before?

    Are there issues making this record to file/san locks?

    Thank you

    Once you add the raw device map to a virtual computer, you can not add it to each other as well.

    It would satisfy your requirement to add to a virtual computer, assign it a drive name or folder, then that spread out and have another card SMV a drive to it?  Depending on what you're trying to do, which can satisfy because it will work.

    Rich

  • Script to create multiple virtual machines model works is not for the network adapter variable

    We are working on a script to create multiple virtual machines from a template. The script works fine, but when we try to include commands to set the NIC to a group of specific ports on a dvswitch script errors on. Here's what we have so far. This script (less network variables) works, but we would like to include the network configs in the script as well.

    -------------------

    This is the part of the script that configures the network/dvswitch adapter... but does not work properly.

    $myResourcePool = get-ResourcePool-name DQOL

    $dsName = get-Datastore-name "DQOL-DS01.

    $myTemplate = get-Template-name "DQVTemplate".

    $distributedSwitchPortGroup = get-VirtualSwitch-distributed - name "CVE-dvS04-Nexus - k 5 | Get-VirtualPortGroup-name '979-DQ-SHARED '.

    New-VM-name MyVM1-model $myTemplate - Networkname ResourcePool - $myResourcePool - OSCustomizationSpec $mySpecification $distributedSwitchPortGroup - Datastore

    (Get-$dsName data store)

    New-VM-name MyVM2-model $myTemplate - ResourcePool $myResourcePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    _____________________

    !!!!!!!  This part works, but without specifying a network/dvswitch... card!

    $myResourcePool = get-ResourcePool-name DQOL

    $dsName = get-Datastore-name "CVE-SAN-ISG-DS02-02ef.

    $myTemplate = get-Template-name "DQVTemplate".

    New-VM-name MyVM3-model $myTemplate - ResourcePool $myResourcePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    New-VM-name MyVM4-model $myTemplate - ResourcePool $myResourcePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    Here is the error we get:

    New-VM: all parameters can be resolved by using the specified named parameters.

    C:\Users\capuanoj\Desktop\Create-multiplevms-fromtemplate.ps1:6 char: 7

    + New-VM < < < <-name MyVM1-model $myTemplate - Networkname $distributedSwitchPortGroup - ResourcePool

    ePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    + CategoryInfo: InvalidArgument: (:)) [new-VM], ParameterBindingException)

    + FullyQualifiedErrorId: AmbiguousParameterSet, VMware.VimAutomation.ViCore.Cmdlets.Commands.NewVM

    You cannot use the - model and Networkname - parameters of the cmdlet New - VM in a single order, because both are in different parameter sets. You must first create the virtual machine and then use the cmdlet Set-NetworkAdapter to change the portgroup of the virtual machine. As in example 4, assistance from cmdlet Set-NIC:

    --------------  Example 4 --------------

    C:\PS>$myNetworkAdapters = Get - VM | Get-NetworkAdapter-name "NIC 1.
    $myVDPortGroup = get-VDPortgroup-name MyVDPortGroup
    Together-NetworkAdapter NetworkAdapter - $myNetworkAdapters - $myVDPortGroup Portgroup

    Retrieves all network named "NIC 1" cards of all virtual machines and connects to the specified distributed port group.

  • Help for a demo: create multiple virtual machines

    Hello

    I am a beginner in vCO, I completed the installation and configuration with success and I started to create workflows, but I guess that I need help with an example that I started yesterday:

    I am creating several virtual machines at the same time, I mean all the user have to do is say how VMs, he wants to be created and the workflow must do the rest, but I don't know what is the best way to do so, in the present workflow in the library , find us only 'create simple VM' so I added a few scriptable tasks to this workflow, but still can't do what I want.

    Any solution plese? or a few best practices to perform this type of workflow? Maybe I missed a workflow can create multiple virtual machines with different names but the same configuration.

    Thanks in advance,

    This can help out you.

  • Multiple virtual machines can share a common hard

    I just confirmed that multiple virtual machines can share a hard if they all see it as non-permanent, which is great if you want to experiment with different linux packages at the same time.

    Except the hard. REDO_ * files that are produced by a virtual machine are removed when you turn it off, and all the work is lost.

    Any ideas how I could prevent the hard. REDO_ * files deleted?

    the non-persistent flag is to capture instant temporary vmdk is ignored when the virtual machine is turned off.

    The vmdk. REDO_ file is actually a type of snapshot. If you want to avoid that it gets deleted turned off the power, you must use a regular snapshot - but then your sharing of this vmdk with other virtual machines will no longer work.

    For your scenario of I don't know one solution stable AND well other than the use of network shares.

    There is a hack to really share VMDK between two virtual machines, but is more stable.

    Another solution may be that share this drive via iSCSI acrooss your machines virtual more.

    Some time ago I tried to interrupt the process of vmware-vmx.exe seconds before turning off the virtual machine and then copy the REDO far so that I can use it again... but if I remember right the next time that you start the virtual computer will be created a new REDO log and it is so pretty useless :-(

    ___________________________________

    VMX-settings- Workstation FAQ -[MOA-liveCD | http://sanbarrow.com/moa241.html]- VM-infirmary

  • Is it Possible to access only bypassed FC HBA to multiple virtual machines

    Hello

    I have a FC HBA on my 5.5 ESX. Server. It does not support the function of SR - IOV. Is it possible to access this FC HBA across multiple virtual machines?

    If possible, please provide as follows to go further.

    Kind regards

    Aashish

    It is not possible. The basic material underlying PCI specification does not have a single shared between several independent operating systems PCI device.

    SR - IOV solves by creating the virtual function peripheral PCI, but as you mentioned, that he can't stand not and first of all, ESXi supports that SR - IOV for Ethernet network devices and not for native FC HBA (excluded FCoE) functions.

  • What is the advantage to affect multiple virtual machines in a data store?

    Hello

    Quite a question stupid and basic, but I can't answer . What is the advantage of having multiple virtual machines in a store of VMFS data instead of having each VM in another VMFS data store? (eg. 3 VMs in 1 data store or 3 data warehouses and each virtual machine in one of them). I can only think about the ease of management for storage administrator because it creates only a single large LUN.

    Thank you

    By allowing multiple virtual machines in a data store, you can run more than 256 virtual machines in a DRS cluster.

    As a host has a limit of 256 scsi identification numbers, which means that it accesses no more than 255 LUNS shared. 1 scsi ID is used for local storage.

    In a DRS cluster as each host must be mapped to the same data warehouses to ensure that virtual machines can be moved on the cluster and run on any of the hosts.

    Now in my life as an architect VMware PSO I saw that a lot of virtual machines that require a single data store. The main reason to isolate a virtual machine on a data store must provide sufficient i/o performance. This can be achieved with other solutions than to isolate a virtual machine on a data store. Having a properly architected storage subsystem is crucial, vSphere can get out of a very large number of the IOPS / s. With technologies such as SIOC and DRS for storage, you can check that the virtual machines receive IO performance according to the needs.

  • Is it possible to use GPFS or another build is a SAN storage shared for multiple ESX and ESXi hosts?

    We have a license GPFS and SAN storage. I am trying to create a storage shared for multiple ESX and ESXi hosts share existing virtual machines. We tried once NFS, it of a little slow and consume too much bandwidth LAN.

    Anyone can help answer? Thank you very much in advance!

    It depends on your storage space.

    You must connect all hosts to the same San, then follow the configuration guide of ESXi and specific documentation for your storage space (for sharing LUNS on multiple hosts).

    André

Maybe you are looking for