Sie sind auf Seite 1von 9

Linked Clones script for ESX 3.

x
This script allows users to create linked cloned virtual machine(s) from a master (or golden) virtual machine. Clones
may be stored on any type of datastore (LOCAL, SAN, NFS) that is presented to the ESX host. The script is very
capable in deploying a large VDI environment in a relatively short amount of time.

Compatiable with:
VMware ESX 3.5 Update 3
VMware ESX 3.5 Update 2
VMware ESX 3.5 Update 1
VMware ESX 3.5
VMware ESX Server 3.0.3
VMware ESX Server 3.0.2 Update 1
VMware ESX Server 3.0.2
VMware ESX Server 3.0.1
VMware ESX Server 3.0.0

There are currently 3 supported use cases:

1) Default
Generate linked clones located in the same datastore that houses the master (golden) virtual machine. Writes will be
directed to their respective linked virtual machine delta file with reads originating from the master virtual machine.

2) Distributed Write(s) I/O


Generate linked clones evenly across available datastores of choice. Reads will originate from the specified master
virtual machine while writes are directed towards their respective virtual machine delta files that have been dispersed
across the specified datastores.

3) Distributed Read(s) & Write(s) I/O


Duplicate the master virtual machine on available datastores of choice and evenly generate linked clones off of
each duplicated master virtual machine. Reads and writes will be isolated onto the datastore of the linked clone(s) in
question. This process is similar to running multiple instances of the default behavior of the script.

Note: This linked clones script is virtual machine OS independent (i.e. it is not restricted to just Windows OS’s for
VDI environment). For example, one can utilize this script to their advantage in development environments where
new VMs need to be (mass) cloned quickly for testing.

DISCLAIMER - When deleting linked clones, our process requires that the admin utilizes the “ my-vmware-cmd”
toolset that has been developed. Under no circumstances should the “delete from disk” feature be used on a linked
clone from within VIClient. This is to ensure that the master image of which clones are linked from is not terminated.

The following requirements will be validated by the script prior to execution:


• Master VM is offline
• Master VM does not contain any Snapshots or RDMs
• Valid eth0 interface
• Single VMDK disk (remove any instances in the .vmx file if you have others)

Generated by Clearspace on 2010-05-25-07:00


1
Linked Clones script for ESX 3.x

Example Execution of all 3 Use cases:


Storage Environment:

[root@olga lamw]# vmware-vim-cmd


hostsvc/summary/fsvolume

Name Type SubType


Path Device Capacity
Mode
dlgCore-FC-LUN200.Templates VmfsVolume VMFS
/vmfs/volumes/48e1cd81-81223593-6cd8-00215acaa2b2 vmhba1:0:200:1
133949292544 readWrite
dlgCore-FC-LUN202.VMstorage2 VmfsVolume VMFS
/vmfs/volumes/48e1a4a6-3b55e69b-02a9-001f29c948e2 vmhba1:0:202:1
162940321792 readWrite
olga-local-SAS.Storage VmfsVolume VMFS
/vmfs/volumes/49167992-ac31f0a5-3f9f-001f29c7a04c vmhba0:0:0:5
274072600576 readWrite
dlgCore-FC-LUN203.VMstorage3 VmfsVolume VMFS
/vmfs/volumes/48e16ed0-420158d5-5601-00215acaa2b2 vmhba1:0:203:1
164014063616 readWrite
dlgCore-FC-LUN201.VMstorage1 VmfsVolume VMFS
/vmfs/volumes/48e1b819-3443974c-03c4-001f29c948e2 vmhba1:0:201:1
161866579968 readWrite

[root@olga lamw]# vdf -h


Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p2 7.9G 1.2G 6.3G 16% /
/dev/cciss/c0d0p1 244M 27M 204M 12% /boot
/dev/cciss/c0d0p7 2.0G 33M 1.9G 2% /home
none 391M 0 391M 0% /dev/shm
/dev/cciss/c0d0p8 2.0G 33M 1.9G 2% /tmp
/dev/cciss/c0d0p6 4.0G 289M 3.5G 8% /var
/vmfs/devices 273G 0 273G 0% /vmfs/devices
/vmfs/volumes/48e16ed0-420158d5-5601-00215acaa2b2
152G 108G 44G 70%
/vmfs/volumes/dlgCore-FC-LUN203.VMstorage3
/vmfs/volumes/48e1a4a6-3b55e69b-02a9-001f29c948e2
151G 105G 46G 69%
/vmfs/volumes/dlgCore-FC-LUN202.VMstorage2
/vmfs/volumes/48e1b819-3443974c-03c4-001f29c948e2
150G 126G 24G 84%
/vmfs/volumes/dlgCore-FC-LUN201.VMstorage1
/vmfs/volumes/48e1cd81-81223593-6cd8-00215acaa2b2
124G 71G 53G 57%
/vmfs/volumes/dlgCore-FC-LUN200.Templates
/vmfs/volumes/49167992-ac31f0a5-3f9f-001f29c7a04c
255G 1.3G 253G 0%
/vmfs/volumes/olga-local-SAS.Storage

Generated by Clearspace on 2010-05-25-07:00


2
Linked Clones script for ESX 3.x

Default Case
• Master Virtual Machine: /vmfs/volumes/olga-local-SAS.Storage/UCSB-GAUCHOS/UCSB-GAUCHOS.vmx
stored on LOCAL STORAGE
• Storage Medium: LOCAL STORAGE
• 32 Linked Clones on the same datastore as the Master VM

root@olga lamw# ./ghetto-esx-linked-clones.sh


/vmfs/volumes/olga-local-SAS.Storage/UCSB-GAUCHOS/UCSB-GAUCHOS.vmx LinkedClones- 1 32

1. Confirmation after initial execution of script:


######################################################
#
# UCSB ResNet Linked Clones Tool for ESX 3.x
# Author: william2003[at]gmail[dot]com
# duonglt[at]engr[dot]ucsb[dot]edu
# Created: 06/26/2008
#
######################################################

Requested parameters:
Master Virtual Machine Image:
/vmfs/volumes/olga-local-SAS.Storage/UCSB-GAUCHOS/UCSB-GAUCHOS.vmx
Requested Number of Linked Clones: 32 VMs
Initial Master Memory: 2048 MB
Initial Master VMDK Size: 10 GB
Expected Storage Consumption: 84 GB

Please verify that there is enough storage space for the


requested configuration before running

Would you like to continue with these parameters y/n?


y
2. Linked Clones construction progress:
Generating Linked Clones ...
59% Complete! - Linked Clones Created: 19/32
3. Completed Linked Clones output:
Generating Linked Clones ...
100% Complete! - Linked Clones Created: 32/32

Waiting for Virtual Machine(s) to obtain their MAC addresses...

Linked clones VM MAC addresses stored at:


lcs_created_on-2008-12-09-210343/UCSB-GAUCHOS

Start time: Tue Dec 9 21:00:06 PST 2008


End time: Tue Dec 9 21:03:40 PST 2008
Duration : 3.57 Minutes

Generated by Clearspace on 2010-05-25-07:00


3
Linked Clones script for ESX 3.x

Maps before Default case execution:

Maps after Default execution:

Red denotes the Master VM


Green denotes the datastore
Orange denotes the last Linked Clone created

Distributed Write(s) I/O Case


• Master Virtual Machine:
/vmfs/volumes/dlgCore-FC-LUN200.Templates/UCSB-RESNET/UCSB-RESNET.vmx stored on FC SAN
• Storage Mediums: LOCAL STORAGE and FC SAN
• 64 Linked Clones distributed across 2 datastores

root@olga lamw# ./ghetto-esx-linked-clones.sh


/vmfs/volumes/dlgCore-FC-LUN200.Templates/UCSB-RESNET/UCSB-RESNET.vmx LinkedClones- 1 64 dw

1. Datstore selection:

#FREE SPACE DATASTORE(S)


1) 44G /vmfs/volumes/dlgCore-FC-LUN203.VMstorage3
2) 44G /vmfs/volumes/dlgCore-FC-LUN202.VMstorage2

Generated by Clearspace on 2010-05-25-07:00


4
Linked Clones script for ESX 3.x

3) 24G /vmfs/volumes/dlgCore-FC-LUN201.VMstorage1
4) 53G /vmfs/volumes/dlgCore-FC-LUN200.Templates
5) 253G /vmfs/volumes/olga-local-SAS.Storage
6) Quit

Please select datastore(s) to be used: (e.g. 1,2,3):


4,5

2. Confirmation after initial execution of script:


######################################################
#
# UCSB ResNet Linked Clones Tool for ESX 3.x
# Author: william2003[at]gmail[dot]com
# duonglt[at]engr[dot]ucsb[dot]edu
# Created: 06/26/2008
#
######################################################

Requested parameters:
Master Virtual Machine Image:
/vmfs/volumes/dlgCore-FC-LUN200.Templates/UCSB-RESNET/UCSB-RESNET.vmx
Requested Number of Linked Clones: 64 VMs
Initial Master Memory: 2048 MB
Initial Master VMDK Size: 10 GB
Expected Storage Consumption: 167 GB

Please verify that there is enough storage space for the


requested configuration before running

Distributed Write I/O Scheme selected. Linked clones will be evenly


distributed across the following datastore(s):

/vmfs/volumes/dlgCore-FC-LUN200.Templates
/vmfs/volumes/olga-local-SAS.Storage

Would you like to continue with these parameters y/n?


y
3. Completed Linked Clones output:
Generating Linked Clones ...
100% Complete! - Linked Clones Created: 64/64

Waiting for Virtual Machine(s) to obtain their MAC Addresses...

Linked clones VM MAC addresses stored at:


lcs_created_on-2008-12-09-211724/UCSB-RESNET

Start time: Tue Dec 9 21:12:43 PST 2008


End time: Tue Dec 9 21:17:19 PST 2008
Duration : 4.60 Minutes

Generated by Clearspace on 2010-05-25-07:00


5
Linked Clones script for ESX 3.x

Maps before Default execution:

Maps after Default execution:

Red denotes the Master VM


Green denotes the two datastores
Orange denotes the last Linked Clones created

Distributed Read(s) & Write(s) I/O Case


• Master Virtual Machine:
/vmfs/volumes/dlgCore-FC-LUN200.Templates/UCSB-ENGINEERING/UCSB-ENGINEERING.vmx stored
on FC SAN
• Storage medium: FC SAN
• 128 Linked Clones distributed across 2 datastores

root@olga lamw# ./ghetto-esx-linked-clones.sh


/vmfs/volumes/dlgCore-FC-LUN200.Templates/UCSB-ENGINEERING/UCSB-ENGINEERING.vmx LinkedClones- 1
128 drw

1. Datstore selection:

#FREE SPACE DATASTORE(S)


1) 44G /vmfs/volumes/dlgCore-FC-LUN203.VMstorage3
2) 43G /vmfs/volumes/dlgCore-FC-LUN202.VMstorage2
3) 24G /vmfs/volumes/dlgCore-FC-LUN201.VMstorage1
4) 53G /vmfs/volumes/dlgCore-FC-LUN200.Templates
5) 253G /vmfs/volumes/olga-local-SAS.Storage
6) Quit

Please select datastore(s) to be used: (e.g. 1,2,3):

Generated by Clearspace on 2010-05-25-07:00


6
Linked Clones script for ESX 3.x

1,2
2. Confirmation after initial execution of script:

######################################################
#
# UCSB ResNet Linked Clones Tool for ESX 3.x
# Author: william2003[at]gmail[dot]com
# duonglt[at]engr[dot]ucsb[dot]edu
# Created: 06/26/2008
#
######################################################

Requested parameters:
Master Virtual Machine Image:
/vmfs/volumes/dlgCore-FC-LUN200.Templates/UCSB-ENGINEERING/UCSB-ENGINEERING.vmx
Naming convention for Linked-Cloned Master Virtual Machine:
MASTER-LinkedClones-{1-2}
Naming convention for Linked-Cloned Virtual Machines:
LinkedClones-{1-128}
Looking to create: 2 Master VMs
Requested Number of Linked Clones: 128 VMs
Initial Master Memory: 2048 MB
Initial Master VMDK Size: 10 GB
Expected Storage Consumption: 353 GB

Please verify that there is enough storage space for the


requested configuration before running

Distributed Read & Write I/O Scheme selected. Operation will


duplicate master image and evenly generate
linked clones from these dupulicated images across the specified
datastore(s):

/vmfs/volumes/dlgCore-FC-LUN203.VMstorage3
/vmfs/volumes/dlgCore-FC-LUN202.VMstorage2

Distribution of Linked Clones per datastore: 64

MASTER-LinkedClones-1 will be stored on:


/vmfs/volumes/dlgCore-FC-LUN203.VMstorage3
The following VMs will be linked to
"MASTER-LinkedClones-1" under this datastore:
LinkedClones-{1-64}

MASTER-LinkedClones-2 will be stored on:


/vmfs/volumes/dlgCore-FC-LUN202.VMstorage2
The following VMs will be linked to
"MASTER-LinkedClones-2" under this datastore:
LinkedClones-{65-128}

Would you like to continue with these parameters y/n?


y

Generated by Clearspace on 2010-05-25-07:00


7
Linked Clones script for ESX 3.x

3. Creating Master image on each Datastore to distribute read(s)/write(s) Linked Clones


Creating MASTER-LinkedClones-1
on: /vmfs/volumes/dlgCore-FC-LUN203.VMstorage3
Creating MASTER-LinkedClones-2 on:
/vmfs/volumes/dlgCore-FC-LUN202.VMstorage2
Initiating vmkfstools copy ...
Initiating vmkfstools copy ...
0% Complete! - Linked Clones Created: 0/128
Registering newly created MASTER-LinkedClones-1 ...

Registering newly created MASTER-LinkedClones-2 ...


2% Complete! - Linked Clones Created: 3/128
4. Completed Linked Clones output:
100% Complete! - Linked Clones
Created: 128/128

Waiting for Virtual Machine(s) to obtain their MAC addresses...

Linked clones VM MAC addresses stored at:


lcs_created_on-2008-12-09-214627/MASTER-LinkedClones-1
lcs_created_on-2008-12-09-214627/MASTER-LinkedClones-2

Start time: Tue Dec 9 21:36:49 PST 2008


End time: Tue Dec 9 21:46:22 PST 2008
Duration : 9.55 Minutes
Maps before Default execution:

Maps after Default execution:

Generated by Clearspace on 2010-05-25-07:00


8
Linked Clones script for ESX 3.x

Red denotes the Master VM


Green denotes the two datastores
Purple denotes the 2 replicated Master VM in each of the datastores
Orange denotes the last Linked Clones created

Known Issues:
1. When running " ghetto-esx-linked-clones.sh" on VMware ESX 3.0.0, the
"FULL_PATH_TO_MASTER_VMX_FILE" must be in the UUID format and not the human readable symlink, this
was fixed in VMware ESX 3.0.1 and possibly updated in one of the 3.0.0 patchset.

Solution, use the following:


./ghetto-esx-linked-clones.sh
/vmfs/volumes/4857f047-4e4ec6bf-a8b8-001b78361a3c/VM-MasterImage/VM-MasterImage.vmx
LinkedClone- 1 200

Instead of

./ghetto-esx-linked-clones.sh
vmfs/volumes/himalaya-local-SATA.Storage/VM-MasterImage/VM-MasterImage.vmx
LinkedClone- 1 200

Generated by Clearspace on 2010-05-25-07:00


9

Das könnte Ihnen auch gefallen