<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>VMware Communities : All Content - All Communities</title>
    <link>http://communities.vmware.com/index.jspa</link>
    <description>All Content in VMware Communities</description>
    <language>en</language>
    <pubDate>Tue, 24 Nov 2009 05:24:50 GMT</pubDate>
    <generator>Clearspace 1.10.12 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2009-11-24T05:24:50Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>VMware vSphere Health Check Report v1.3</title>
      <link>http://communities.vmware.com/docs/DOC-9842</link>
      <description>&lt;h2&gt;Description:&lt;/h2&gt;
&lt;br /&gt;
This script generates a health check report similiar to that of &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9420"&gt;vmwareHealthCheckScript&lt;/a&gt; but for the new vSphere release of VMware ESX(i) 4.x and VMware vCenter 4.x and it's managed entities.&lt;br /&gt;
&lt;br /&gt;
The script reports on the following:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; New licensing format/summary&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; EVC Enabled information&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; Cluster VM monitoring&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; Cluster Host monitoring &lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; # of VMotions within a cluster&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; Datastore uncommitted info&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; CPU power management info&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; VM info (FT, Record/Replay, Clean Poweroff)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; Host IPv6, FT, SSL Thumbprint&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; Host Profiles&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; vApp information&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;&lt;u&gt;New&lt;/u&gt; Distributed vSwitch information&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;vCenter Build/Release&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Active Sessions&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Build/Release&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cluster(s) Name/Statistics (Hosts,CPU and MEM availabity, HA,DRS and DPM enabled, Resource Pools, Health)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Hardware configuration (NICs/HBAs)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Hardware Health Sensor via CIM&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi State&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Configurations&lt;/b&gt; (for detailed information, use &lt;b&gt;detail-hosts&lt;/b&gt; option)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Multipathing Info&lt;/b&gt; (only available in &lt;b&gt;host&lt;/b&gt; or &lt;b&gt;detail-hosts&lt;/b&gt; option)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Datastore summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi LUN summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Portgroup summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Hostd logs&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CDP Summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Recent Tasks&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Virtual Machine summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM Storage summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM Network summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/Snapshots&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/Snapshot delta age&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/RDMs&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/NPIV enabled&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/connected CD-ROMs&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/connected Floppys&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
For more details, please take a look at the sample reports located &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/sample_vmware_health_report_detail.html"&gt;here (standard)&lt;/a&gt; and &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/sample_vmware_health_report_standard.html"&gt;here (detailed)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/viperltoolkit/viperl40/doc/vsperl_util_index.html"&gt;vSphere SDK for Perl&lt;/a&gt; (formally VI Perl Toolkit) or &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/index.html"&gt;VMware vMA 4.0&lt;/a&gt; (formally VIMA)&lt;/li&gt;
&lt;li&gt;VMware vCenter 4.x+ and/or ESX(i) 4.x+&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@rafaeli ~]$ ./vmwarevSphereHealthCheck.pl
Required command option 'type' not specified.

Synopsis: ./vmwarevSphereHealthCheck.pl OPTIONS


Command-specific options:
   --cluster
      The name of a vCenter cluster
   --datacenter
      The name of a vCenter datacenter
   --logcount
      The number of lines to output from hostd logs
   --report
      The name of the report to output. Please add &amp;quot;.html&amp;quot; extension
   --type (required)
      Type: [vcenter|datacenter|cluster|host|detail-hosts]


Common VI options:
   --config (variable VI_CONFIG)
      Location of the VI Perl configuration file
   --credstore (variable VI_CREDSTORE)
      Name of the credential store file defaults to &amp;lt;HOME&amp;gt;/.vmware/credstore/vicredentials.xml on Linux and &amp;lt;APPDATA&amp;gt;/VMware/credstore/vicredentials.xml on Windows
   --encoding (variable VI_ENCODING, default 'utf8')
      Encoding: utf8, cp936 (Simplified Chinese), iso-8859-1 (German), shiftjis (Japanese)
   --help
      Display usage information for the script
   --passthroughauth (variable VI_PASSTHROUGHAUTH)
      Attempt to use pass-through authentication
   --passthroughauthpackage (variable VI_PASSTHROUGHAUTHPACKAGE, default 'Negotiate')
      Pass-through authentication negotiation package
   --password (variable VI_PASSWORD)
      Password
   --portnumber (variable VI_PORTNUMBER)
      Port used to connect to server
   --protocol (variable VI_PROTOCOL, default 'https')
      Protocol used to connect to server
   --savesessionfile (variable VI_SAVESESSIONFILE)
      File to save session ID/cookie to utilize
   --server (variable VI_SERVER, default 'localhost')
      VI server to connect to. Required if url is not present
   --servicepath (variable VI_SERVICEPATH, default '/sdk/webService')
      Service path used to connect to server
   --sessionfile (variable VI_SESSIONFILE)
      File containing session ID/cookie to utilize
   --url (variable VI_URL)
      VI SDK URL to connect to. Required if server is not present
   --username (variable VI_USERNAME)
      Username
   --verbose (variable VI_VERBOSE)
      Display additional debugging information
   --version
      Display version information for the script

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Supported Use Cases:&lt;/h2&gt;
&lt;br /&gt;
1) This will collect information about all cluster(s)/host(s) providing vCenter Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;p /&gt;
2) This will collect information about a specific datacenter provided with vCenter Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type datacenter --datacenter DATACENTER_NAME
&lt;/code&gt;&lt;/pre&gt;		&lt;br /&gt;
&lt;p /&gt;
3) This will collect information about a specific cluster provided with vCenter Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type cluster --cluster CLUSTER_NAME
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;br /&gt;
4) This will collect information about a specific host provided with ESX/ESXi Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwarevSphereHealthCheck.pl --server ESX_ESXi_SERVER --username ESX_ESXi_USERNAME --password ESX_ESXi_PASSWORD --type host
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;br /&gt;
5) This will collect detail information about all ESX/ESXi hosts under vCenter (for datacenter/cluster specific, please look at option 1-3). &lt;br /&gt;
&lt;br /&gt;
This option is meant to provide a report similiar to that of &lt;a class="jive-link-external" href="http://esxhealthscript.svn.sourceforge.net/viewvc/esxhealthscript/"&gt;esxhealthscript&lt;/a&gt; within the capablities of the VI API utilizing the VI Perl Toolkit. For a high level view of your VMware environment, please use the other options, as this pertains to detail configurations of your hosts. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type detail-hosts
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;br /&gt;
To specify the number of the latest lines in the hostd logs, use --logcount [number_of_lines]&lt;br /&gt;
(e.g.)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type detail-hosts --logcount 20
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;h2&gt;Custom Configurations&lt;/h2&gt;
&lt;br /&gt;
Edit the following at the top of the script to configure the warning levels for the various resource consumptions (disk,memory,cpu):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
####################################&lt;br /&gt;
#  resource consumption warnings&lt;br /&gt;
####################################&lt;br /&gt;
# yellow &amp;lt; 30 %&lt;br /&gt;
my $yellow_warn = 30;&lt;br /&gt;
&lt;br /&gt;
# orange &amp;lt; 15 %&lt;br /&gt;
my $orange_warn = 15;&lt;br /&gt;
&lt;br /&gt;
# red &amp;lt; 10%&lt;br /&gt;
my $red_warn = 10;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
Edit the following at the top of the script to configure the number of days aged for a snapshot delta file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
######################################&lt;br /&gt;
#  vm snapshot age warnings&lt;br /&gt;
######################################&lt;br /&gt;
# yellow &amp;lt; 15 days&lt;br /&gt;
my $snap_yellow_warn = 15;&lt;br /&gt;
&lt;br /&gt;
# orange &amp;lt; 30 days&lt;br /&gt;
my $snap_orange_warn = 30;&lt;br /&gt;
&lt;br /&gt;
# red &amp;lt; 60 days+&lt;br /&gt;
my $snap_red_warn = 60;&lt;br /&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
11-23-2009 - v1.3&lt;br /&gt;
Fixes:&lt;br /&gt;
-Fixed snmp output, small typo in the script&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
05-24-2009 - v1.2&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Minor fix in nDVS that was causing script to halt&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
05-04-2009 - v1.1&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Display additional VM Storage details (committed,uncommitted and unshared)&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;TO-DO/WIP&lt;/h2&gt;
-None atm&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Known Issues&lt;/h2&gt;
-None atm</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vsphere_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4i</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">health_check</category>
      <pubDate>Wed, 22 Apr 2009 06:24:36 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9842</guid>
      <dc:date>2009-04-22T06:24:36Z</dc:date>
      <clearspace:dateToText>18 hours, 56 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>15</clearspace:replyCount>
    </item>
    <item>
      <title>setUserDatastorePermission.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10866</link>
      <description>This script will apply a permission which contains a &lt;b&gt;username&lt;/b&gt; and &lt;b&gt;role&lt;/b&gt; to a specific datastore. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 4.0&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Default roles in vCenter (you can use your own):&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;NoAccess
Anonymous
View
ReadOnly
Admin
VirtualMachinePowerUser
VirtualMachineUser
ResourcePoolAdministrator
VMwareConsolidatedBackupUser
DatastoreConsumer
NetworkConsumer
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./setUserDatastorePermission.pl --server reflex.primp-industries.com --username primp --datastore himalaya-iSCSI-starwind.esx-devCluster --user williamlam --rolename DatastoreConsumer
Searching for rolename: DatastoreConsumer...
Applying role: &amp;quot;DatastoreConsumer&amp;quot; to user: &amp;quot;williamlam&amp;quot; on datastore: &amp;quot;himalaya-iSCSI-starwind.esx-devCluster&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">configuration</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">storage</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datastore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">permission</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">role</category>
      <pubDate>Thu, 08 Oct 2009 04:06:40 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10866</guid>
      <dc:date>2009-10-08T04:06:40Z</dc:date>
      <clearspace:dateToText>5 days, 6 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>ghettoVCBg2 - Free alternative for backing up VMs in ESX(i) 3.5 and 4.x (no SSH console required!)</title>
      <link>http://communities.vmware.com/docs/DOC-9843</link>
      <description>&lt;h1&gt;Table of Contents:&lt;/h1&gt;
&lt;ul&gt;

&lt;ul&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Features&lt;/li&gt;
&lt;li&gt;Requirements&lt;/li&gt;
&lt;li&gt;ESX/ESXi Version Support Table&lt;/li&gt;
&lt;li&gt;Setup&lt;/li&gt;
&lt;li&gt;Addings ESX/ESXi host(s) to VIMA/vMA&lt;/li&gt;
&lt;li&gt;Configurations&lt;/li&gt;
&lt;li&gt;Usage&lt;/li&gt;
&lt;li&gt;Sample Execution
&lt;ul&gt;
&lt;li&gt;Backup VMs located in a list&lt;/li&gt;
&lt;li&gt;Backup VMs using individual backup policies &lt;/li&gt;
&lt;li&gt;Dryrun Mode&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Experimental Features&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Change Log&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h1&gt;Description:&lt;/h1&gt;
&lt;br /&gt;
This tool is the follow up release of the &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt; backup utility which allows users to perform backups of virtual machines residing on &lt;b&gt;ESX(i) 3.5+/4.0+&lt;/b&gt; servers using methodology similar to &lt;a class="jive-link-external" href="http://www.vmware.com/products/vi/consolidated_backup.html"&gt;VMware's VCB&lt;/a&gt; tool. By incorporating highly constructive feedback from the VMware community and utilizing the existing VI API, ghettoVCB’s framework was completely rewritten to be &lt;a class="jive-link-external" href="http://www.youtube.com/watch?v=K2cYWfq--Nw"&gt;harder, better, faster, stronger&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The primary motivation for ghettoVCBg2 was to provide ESXi users with access to the utility without relying on unlocking and utilizing the unsupported console. To satisfy this requirement, the rebuilt framework takes advantage of the &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/viperltoolkit/"&gt;VI Perl Toolkit/vSphere SDK for Perl&lt;/a&gt; which is present in the &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/"&gt;VIMA/vMA&lt;/a&gt; virtual appliance provided by VMware. As a result, ghettoVCBg2 provides a more proper backup solution that administrators can utilize in their virtual infrastructure. &lt;br /&gt;
&lt;br /&gt;
As it stands, it is a requirement that ghettoVCB be invoked directly on each of the ESX servers hosting virtual machines in need of a backup. By taking advantage of VIMA/vMA, the entire backup process becomes centralized in turn eliminating the abovementioned requirement. Additionally, by leveraging the vi-fastpass library, unattended authentication between VIMA/vMA and target ESX servers is made possible. This alleviates the need to continually pass in credentials for each ESX server. &lt;br /&gt;
&lt;br /&gt;
By centralizing the backup process, individual virtual machine backup lists pertaining to their respective ESX(i) servers are no longer required. ghettoVCBg2 has the ability to identify virtual machines and their respective hosts, potentially eliminating any past confusion associated with maintaining multiple lists. &lt;br /&gt;
&lt;br /&gt;
In its current configuration, the script will allow up to 3 unique backups of the Virtual Machine before it will overwrite the previous backups; this however, can be modified to fit procedures if need be. Please be diligent in running the script in a test or staging environment before using it on production live Virtual Machines; this script functions well within our environment but there is a chance that it may not fit well into other environments.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;Features&lt;/h1&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Support for logging (normal &amp;#38; verbose)  &lt;/li&gt;
&lt;li&gt;Single VM backup list across multiple ESX/ESXi host(s)  &lt;/li&gt;
&lt;li&gt;Credential-less backups (so long as host(s) are being managed by VIMA/vMA)  &lt;/li&gt;
&lt;li&gt;Online back up of VM(s)&lt;/li&gt;
&lt;li&gt;Only valid VMDKs presented to the VM will be backed up&lt;/li&gt;
&lt;li&gt;Support for multiple VMDK backup per VM&lt;/li&gt;
&lt;li&gt;Preserve original powerState of VM(s)&lt;/li&gt;
&lt;li&gt;Ability to shutdown guestOS, initiate backup process and power on VM afterwards with the option of hardpower timeout &lt;/li&gt;
&lt;li&gt;Ensure that snapshot removal process completes prior to continuing the backup process&lt;/li&gt;
&lt;li&gt;VM(s) that initially contain &lt;b&gt;snapshots&lt;/b&gt; and &lt;b&gt;Physical RDMs&lt;/b&gt; (raw device mapppings) will not be backed up&lt;/li&gt;
&lt;li&gt;Support for VM(s) with &lt;b&gt;Virtual RDMs&lt;/b&gt; &lt;/li&gt;
&lt;li&gt;Ability to specify the number of backup rotations per VM&lt;/li&gt;
&lt;li&gt;Output back up VMDKs in &lt;b&gt;ZEROEDTHICK&lt;/b&gt; (default behavior), &lt;b&gt;EAGERZEROEDTHICK&lt;/b&gt;, &lt;b&gt;2GB SPARSE&lt;/b&gt; or &lt;b&gt;THIN&lt;/b&gt; format  &lt;/li&gt;
&lt;li&gt;Ouput backup VMDKs using either &lt;b&gt;BUSLOGIC&lt;/b&gt; or &lt;b&gt;LSILOGIC&lt;/b&gt; adapter type &lt;/li&gt;
&lt;li&gt;Fully support VMDKs stored across multiple datastores&lt;/li&gt;
&lt;li&gt;VM snapshot memory and quiesce options &lt;/li&gt;
&lt;li&gt;Individual VM backup policy (supported on ESX(i) 3.5u2+ &amp;#38; ESX(i) 4.x+)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Email logs (Experimental Support)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Ability to include/exclude specific VMDK(s) per VM (requires individual VM backup policy setup)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Independent disk aware (will ignore VMDK)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Additional debugging information including dry run execution&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Requirements:&lt;/h1&gt;
VMs running on ESX(i) 3.5u2+ or ESX(i) 4.x+&lt;br /&gt;
VMware VIMA 1.0 or VMware vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;ESX/ESXi Version Support Table&lt;/h1&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Version&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Support&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Alternative&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESX 3.5u2&lt;/td&gt;
&lt;td&gt;Requires at least Foundation/Essentials license&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESX 3.5u3&lt;/td&gt;
&lt;td&gt;Requires at least Foundation/Essentials license&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESX 3.5u4&lt;/td&gt;
&lt;td&gt;Requires at least Foundation/Essentials license&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESXi 3.5u2&lt;/td&gt;
&lt;td&gt;Works for free&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESXi 3.5u3&lt;/td&gt;
&lt;td&gt;Works for free&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESXi 3.5u4&lt;/td&gt;
&lt;td&gt;Requires at least Foundation/Essentials license&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESX 4.0&lt;/td&gt;
&lt;td&gt;Requires at least Foundation/Essentials license&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ESXi 4.0&lt;/td&gt;
&lt;td&gt;Requires at least Foundation/Essentials license&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Setup:&lt;/h1&gt;
&lt;br /&gt;
1) Download &lt;b&gt;ghettoVCBg2.pl&lt;/b&gt; to your VIMA 1.0/vMA 4.0 system&lt;br /&gt;
&lt;br /&gt;
2) Change the permissions on the script to ensure it can be executed:&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ chmod +x ghettoVCBg2.pl
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Addings ESX/ESXi host(s) to VIMA/vMA&lt;/h1&gt;
&lt;br /&gt;
Prior to starting, ensure that the VMware VIMA/vMA host is managing the appropriate ESX(i) 3.5u2/4.x+ host(s)&lt;br /&gt;
&lt;br /&gt;
1. Add ESXi hosts to VIMA/vMA managment using vifp&lt;br /&gt;
&lt;br /&gt;
A password prompt for the vi-admin account and root password to the pertinent ESXi host(s) will be presented.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ sudo vifp addserver olga.resnet.ucsb.edu
root@olga.resnet.ucsb.edu's password:
[vi-admin@vima-primp-industries ~]$
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Verify that the appropriate hosts are being managed by VIMA/vMA&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ sudo vifp listservers
olga.resnet.ucsb.edu
himalaya.primp-industries.com
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Configurations&lt;/h1&gt;
&lt;br /&gt;
The following variables (similar to that of ghettoVCB) need to be defined within the script prior to execution. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining the datastore in which the backups are stored:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $VM_BACKUP_DATASTORE = "dlgCore-NFS-bigboi.VM-Backups";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining the name of folder that will contain backups (if folder does not exist, it will automatically be created):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $VM_BACKUP_DIRECTORY = "WILLIAM_BACKUPS";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining the backup rotation per VM:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $VM_BACKUP_ROTATION_COUNT = "3";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining the backup disk format (zeroedthick, eagerzeroedthick, thin, and 2gbsparse are available):&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $DISK_BACKUP_FORMAT = "zeroedthick";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining the adapter type for backed up VMDK (buslogic, and lsilogic are available):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $ADAPTER_FORMAT = "buslogic";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining whether the VM is powered down or not prior to backup (1 = enable, 0 = disable):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:green"&gt;Note: VM(s) that are powered off will not require snapshoting&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $POWER_VM_DOWN_BEFORE_BACKUP = "0";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining whether virtual machine memory is snapped and if quiescing is enabled (1 = enable, 0 = disable):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:green"&gt;Note: By default both are disabled&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $VM_SNAPSHOT_MEMORY = "0";&lt;br /&gt;
my $VM_SNAPSHOT_QUIESCE = "0";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Defining the detail of logging (verbose or normal):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
my $LOG_LEVEL = "normal";&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
*Defining VMDK(s) to backup from a particular VM either a list of vmdks or "all"&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;VM_VMDK_FILES=&amp;quot;myvmdk.vmdk&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Experimental Support Configs:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:green"&gt;Note: Port 25 by default&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
my $SEND_MAIL = "no";&lt;br /&gt;
my $EMAIL_HOST = "emailserver";&lt;br /&gt;
my $EMAIL_DOMAIN = "localhost.localdomain";&lt;br /&gt;
my $EMAIL_TO = 'William Lam &amp;lt;william@primp-industries.com.com&amp;gt;';&lt;br /&gt;
my $EMAIL_FROM = 'ghettoVCBg2 &amp;lt;ghettoVCBg2@primp-industries.com.com&amp;gt;';&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;Ensure that you do not edit past this section:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;########################## DO NOT MODIFY PAST THIS LINE ##########################
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Usage:&lt;/h1&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ghettoVCBg2.pl
Required command option 'vmlist' not specified.

Synopsis: ./ghettoVCBg2.pl OPTIONS


Command-specific options:
   --config_dir
      Name of directory containing VM(s) backup configurations
   --dryrun (default '0')
      Set to 1 to enable dryrun mode (default 0)
   --output (default '/tmp/ghettoVCBg2.log')
      Full path to output log (default /tmp/ghettoVCBg2.log)
   --vmlist (required)
      A file containing a list of virtual machine(s) to be backed up on host

Common VI options:
   --config (variable VI_CONFIG)
      Location of the VI Perl configuration file
   --credstore (variable VI_CREDSTORE)
      Name of the credential store file defaults to &amp;lt;HOME&amp;gt;/.vmware/credstore/vicredentials.xml on Linux and &amp;lt;APPDATA&amp;gt;/VMware/credstore/vicredentials.xml on Windows
   --encoding (variable VI_ENCODING, default 'utf8')
      Encoding: utf8, cp936 (Simplified Chinese), iso-8859-1 (German), shiftjis (Japanese)
   --help
      Display usage information for the script
   --passthroughauth (variable VI_PASSTHROUGHAUTH)
      Attempt to use pass-through authentication
   --passthroughauthpackage (variable VI_PASSTHROUGHAUTHPACKAGE, default 'Negotiate')
      Pass-through authentication negotiation package
   --password (variable VI_PASSWORD)
      Password
   --portnumber (variable VI_PORTNUMBER)
      Port used to connect to server
   --protocol (variable VI_PROTOCOL, default 'https')
      Protocol used to connect to server
   --savesessionfile (variable VI_SAVESESSIONFILE)
      File to save session ID/cookie to utilize
   --server (variable VI_SERVER, default 'localhost')
      VI server to connect to. Required if url is not present
   --servicepath (variable VI_SERVICEPATH, default '/sdk/webService')
      Service path used to connect to server
   --sessionfile (variable VI_SESSIONFILE)
      File containing session ID/cookie to utilize
   --url (variable VI_URL)
      VI SDK URL to connect to. Required if server is not present
   --username (variable VI_USERNAME)
      Username
   --verbose (variable VI_VERBOSE)
      Display additional debugging information
   --version
      Display version information for the script

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Note:&lt;/span&gt;&lt;/b&gt; There are some additional command line arguments that can be provided upon runtime: --debug, --output and --vmlist. &lt;b&gt;--vmlist&lt;/b&gt; is the only parameter required. The rest will have defaults if not explicitly defined. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;--dryrun&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Dry run information will be written to the log and &lt;u&gt;no&lt;/u&gt; backup will take place&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;--output&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Name of the output log, if the same log is used, it will automatically append (ensure you provide full path e.g. /tmp/ghettoVCBg2.log)&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;--config_dir&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;This directory will contain the individual VM backup policy files. If a virtual machine has an associated policy file, the global configuration will be ignored for that backup instance. &lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
The input to this script is a file that contains the display name of the virtual machine(s) separated by a newline. When creating this file on a non-Linux/UNIX system, you may introduce a ^M character which may cause the script to misbehave. To ensure that this does not occur, please create the file on the ESX/ESXi host.&lt;br /&gt;
&lt;br /&gt;
Provided is a sample of what the file should contain:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat virtual_machine_backup_list
VIMA
vMA-2
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Sample Execution&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Backup VMs located in a list&lt;/li&gt;
&lt;li&gt;Backup VMs based on individual VM backup policies&lt;/li&gt;
&lt;li&gt;Debug Mode&lt;/li&gt;
&lt;li&gt;Dry run Mode&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Backup VMs located in a list&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: info (default)&lt;/li&gt;
&lt;li&gt;Log output: /tmp/ghettoVCBg2.log (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;DISK_FORMAT&lt;/td&gt;
&lt;td&gt;2gbsparse&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ADAPTER_FORMAT&lt;/td&gt;
&lt;td&gt;buslogic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LOG_LEVEL&lt;/td&gt;
&lt;td&gt;info&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_SNAPSHOT_MEMORY&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_SNAPSHOT_QUIESCE&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VMS_TO_BACKUP&lt;/td&gt;
&lt;td&gt;(VIMA,vMA-2)&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ghettoVCBg2.pl --vmlist virtual_machine_backup_list

[vi-admin@scofield ~]$ cat /tmp/ghettoVCBg2.log
        11-13-2009 23:34:53 --  info: ============================== ghettoVCBg2 LOG START ==============================
        11-13-2009 23:34:53 --  info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCBg2.log
        11-13-2009 23:34:53 --  info: CONFIG - VM_BACKUP_DATASTORE = dlgCore-NFS-bigboi.VM-Backups
        11-13-2009 23:34:53 --  info: CONFIG - VM_BACKUP_DIRECTORY = WILLIAM_BACKUPS
        11-13-2009 23:34:53 --  info: CONFIG - DISK_BACKUP_FORMAT = 2gbsparse
        11-13-2009 23:34:53 --  info: CONFIG - ADAPTER_FORMAT = buslogic
        11-13-2009 23:34:53 --  info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = NO
        11-13-2009 23:34:53 --  info: CONFIG - VM_SNAPSHOT_MEMORY = NO
        11-13-2009 23:34:53 --  info: CONFIG - VM_SNAPSHOT_QUIESCE = NO
        11-13-2009 23:34:53 --  info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2009-11-13
        11-13-2009 23:34:53 --  info: CONFIG - VM_VMDK_FILES = all

        11-13-2009 23:34:58 --  info: Initiate backup for VIMA found on himalaya.primp-industries.com
        11-13-2009 23:35:18 --  info: VIMA has 1 VMDK(s)
        11-13-2009 23:37:37 --  info: Backup completed for VIMA!

        11-13-2009 23:37:37 --  info: Initiate backup for vMA-2 found on himalaya.primp-industries.com
        11-13-2009 23:37:47 --  info: vMA-2 has 1 VMDK(s)
        11-13-2009 23:40:07 --  info: Backup completed for vMA-2!

        11-13-2009 23:40:10 --  info: ============================== ghettoVCBg2 LOG END ==============================
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Backup VMs based on individual VM backup policies and log output to /tmp/ghettoVCB.log&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: info (default)&lt;/li&gt;
&lt;li&gt;Log output: /tmp/ghettoVCB.log (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;VIMA&lt;/b&gt;&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;VM_BACKUP_DATASTORE&lt;/td&gt;
&lt;td&gt;dlgCore-NFS-bigboi.VM-Backups&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_BACKUP_DIRECTORY&lt;/td&gt;
&lt;td&gt;WILLIAM_BACKUPS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DISK_FORMAT&lt;/td&gt;
&lt;td&gt;zeroedthick&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ADAPTER_FORMAT&lt;/td&gt;
&lt;td&gt;buslogic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LOG_LEVEL&lt;/td&gt;
&lt;td&gt;debug&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_SNAPSHOT_MEMORY&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_SNAPSHOT_QUIESCE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_VMDK_FILES&lt;/td&gt;
&lt;td&gt;VIMA_1.vmdk&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
&lt;b&gt;vMA-2&lt;/b&gt;&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;VM_BACKUP_DATASTORE&lt;/td&gt;
&lt;td&gt;dlgCore-NFS-bigboi.VM-Backups&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_BACKUP_DIRECTORY&lt;/td&gt;
&lt;td&gt;vGHETTO_BACKUPS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DISK_FORMAT&lt;/td&gt;
&lt;td&gt;thin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ADAPTER_FORMAT&lt;/td&gt;
&lt;td&gt;lsilogic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LOG_LEVEL&lt;/td&gt;
&lt;td&gt;info&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_SNAPSHOT_MEMORY&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_SNAPSHOT_QUIESCE&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM_VMDK_FILES&lt;/td&gt;
&lt;td&gt;all&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
1. Create folder to hold individual VM backup policies (can be named anything):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ mkdir backup_config
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Create individual VM backup policies for each VM and ensure each file is named exactly as the display name of the VM being backed up (use provided template to create duplicates):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield backup_config]$ cp ghettoVCBg2-vm_backup_configuration_template VIMA
[vi-admin@scofield backup_config]$ cp ghettoVCBg2-vm_backup_configuration_template vMA-2
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
4. Using a preferred editor (nano or vi), edit each VM backup policy file&lt;br /&gt;
&lt;br /&gt;
Listing of VM backup policy within backup configuration directory&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield backup_config]$ ls
ghettoVCBg2-vm_backup_configuration_template  VIMA  vMA-2
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
5. Pass in the value, backup_config, into the &lt;b&gt;--config_dir&lt;/b&gt; parameter&lt;br /&gt;
&lt;br /&gt;
(e.g.)&lt;br /&gt;
--config_dir backupConfigs&lt;br /&gt;
&lt;br /&gt;
Example of two distinct VM backup policies will be applied to &lt;b&gt;VIMA&lt;/b&gt; and &lt;b&gt;vMA-2&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Backup policy for "VIMA" (backup only 1 specific VMDKs)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield backup_config]$ cat VIMA
VM_BACKUP_DATASTORE = &amp;quot;dlgCore-NFS-bigboi.VM-Backups&amp;quot;
VM_BACKUP_DIRECTORY = &amp;quot;WILLIAM_BACKUPS&amp;quot;
VM_BACKUP_ROTATION_COUNT = &amp;quot;3&amp;quot;
DISK_BACKUP_FORMAT = &amp;quot;zeroedthick&amp;quot;
ADAPTER_FORMAT = &amp;quot;buslogic&amp;quot;
POWER_VM_DOWN_BEFORE_BACKUP = &amp;quot;0&amp;quot;
VM_SNAPSHOT_MEMORY = &amp;quot;1&amp;quot;
VM_SNAPSHOT_QUIESCE = &amp;quot;1&amp;quot;
LOG_LEVEL = &amp;quot;debug&amp;quot;
VM_VMDK_FILES = &amp;quot;VIMA_1.vmdk&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Backup policy for VM "vMA-2" (backup all VMDKs found)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;VM_BACKUP_DATASTORE = &amp;quot;dlgCore-NFS-bigboi.VM-Backups&amp;quot;
VM_BACKUP_DIRECTORY = &amp;quot;vGHETTO_BACKUPS&amp;quot;
VM_BACKUP_ROTATION_COUNT = &amp;quot;3&amp;quot;
DISK_BACKUP_FORMAT = &amp;quot;thin&amp;quot;
ADAPTER_FORMAT = &amp;quot;lsilogic&amp;quot;
POWER_VM_DOWN_BEFORE_BACKUP = &amp;quot;0&amp;quot;
VM_SNAPSHOT_MEMORY = &amp;quot;0&amp;quot;
VM_SNAPSHOT_QUIESCE = &amp;quot;0&amp;quot;
LOG_LEVEL = &amp;quot;info&amp;quot;
VM_VMDK_FILES = &amp;quot;all&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
The following is an output of the script when utilizing the new &lt;b&gt;--config_dir&lt;/b&gt; parameter with debug mode enabled. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Note: --vmlist is still a required parameter with the exception that backup policy files must exist for each VM in the list else the VM will be ignored in the backup process.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Execution of backup&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ghettoVCBg2.pl --config_dir backup_config --vmlist virtual_machine_backup_list

[vi-admin@scofield ~]$ cat /tmp/ghettoVCBg2.log
        11-14-2009 00:18:41 --  info: ============================== ghettoVCBg2 LOG START ==============================
        11-14-2009 00:18:45 --  info: CONFIG - USING CONFIGURATION FILE = VIMA
        11-14-2009 00:18:45 --  info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCBg2.log
        11-14-2009 00:18:45 --  info: CONFIG - VM_BACKUP_DATASTORE = dlgCore-NFS-bigboi.VM-Backups
        11-14-2009 00:18:45 --  info: CONFIG - VM_BACKUP_DIRECTORY = WILLIAM_BACKUPS
        11-14-2009 00:18:45 --  info: CONFIG - DISK_BACKUP_FORMAT = zeroedthick
        11-14-2009 00:18:45 --  info: CONFIG - ADAPTER_FORMAT = buslogic
        11-14-2009 00:18:45 --  info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = NO
        11-14-2009 00:18:45 --  info: CONFIG - VM_SNAPSHOT_MEMORY = YES
        11-14-2009 00:18:45 --  info: CONFIG - VM_SNAPSHOT_QUIESCE = YES
        11-14-2009 00:18:45 --  info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2009-11-14
        11-14-2009 00:18:45 --  info: CONFIG - VM_VMDK_FILES = VIMA_1.vmdk

        11-14-2009 00:18:45 --  info: Initiate backup for VIMA found on himalaya.primp-industries.com
        11-14-2009 00:18:55 --  debug: VIMA original powerState: poweredOn
        11-14-2009 00:18:55 --  debug: Creating Snapshot &amp;quot;ghettoVCBg2-snapshot-2009-11-14&amp;quot; for VIMA
        11-14-2009 00:19:45 --  info: VIMA has 2 VMDK(s)
        11-14-2009 00:19:45 --  debug: findVMDKFile: Found VMDK File: VIMA_1.vmdk
        11-14-2009 00:19:45 --  debug: backupVMDK: Backing up &amp;quot;[http://himalaya-local-SAS.Savvio|http://himalaya-local-SAS.Savvio] VIMA/VIMA_1.vmdk&amp;quot; to &amp;quot;[http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] WILLIAM_BACKUPS/VIMA/VIMA-2009-11-14/VIMA_1.vmdk&amp;quot;
        11-14-2009 00:19:45 --  debug: backupVMDK: Signal copyThread to start
        11-14-2009 00:19:45 --  debug: backupVMDK: Backup progress: Elapsed time 0 min
        11-14-2009 00:19:45 --  debug: copyTask: Wake up and follow the white rabbit, with status: doCopy
        11-14-2009 00:19:45 --  debug: CopyThread: Start backing up VMDK(s) ...
        11-14-2009 00:19:52 --  debug: copyTask: send copySuccess message ...
        11-14-2009 00:19:52 --  debug: copyTask: waiting for next job and sleep ...
        11-14-2009 00:20:46 --  debug: backupVMDK: Successfully completed backup for [http://himalaya-local-SAS.Savvio|http://himalaya-local-SAS.Savvio] VIMA/VIMA_1.vmdk Elapsed time: 1 min
        11-14-2009 00:20:49 --  debug: Removing Snapshot &amp;quot;ghettoVCBg2-snapshot-2009-11-14&amp;quot; for VIMA
        11-14-2009 00:20:51 --  debug: checkVMBackupRotation: Starting ...
        11-14-2009 00:20:57 --  debug: Purging [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] WILLIAM_BACKUPS/VIMA/VIMA-2009-11-13--3 due to rotation max
        11-14-2009 00:21:05 --  info: Backup completed for VIMA!

        11-14-2009 00:21:05 --  debug: reConfigureBackupParams: VM - vMA-2
        11-14-2009 00:21:05 --  info: CONFIG - USING CONFIGURATION FILE = vMA-2
        11-14-2009 00:21:05 --  info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCBg2.log
        11-14-2009 00:21:05 --  info: CONFIG - VM_BACKUP_DATASTORE = dlgCore-NFS-bigboi.VM-Backups
        11-14-2009 00:21:05 --  info: CONFIG - VM_BACKUP_DIRECTORY = vGHETTO_BACKUPS
        11-14-2009 00:21:05 --  info: CONFIG - DISK_BACKUP_FORMAT = thin
        11-14-2009 00:21:05 --  info: CONFIG - ADAPTER_FORMAT = lsilogic
        11-14-2009 00:21:05 --  info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = NO
        11-14-2009 00:21:05 --  info: CONFIG - VM_SNAPSHOT_MEMORY = NO
        11-14-2009 00:21:05 --  info: CONFIG - VM_SNAPSHOT_QUIESCE = NO
        11-14-2009 00:21:05 --  info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2009-11-14
        11-14-2009 00:21:05 --  info: CONFIG - VM_VMDK_FILES = all

        11-14-2009 00:21:05 --  info: Initiate backup for vMA-2 found on himalaya.primp-industries.com
        11-14-2009 00:21:15 --  info: vMA-2 has 1 VMDK(s)
        11-14-2009 00:23:22 --  info: Backup completed for vMA-2!

        11-14-2009 00:23:25 --  info: ============================== ghettoVCBg2 LOG END ==============================
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Dry run Mode (no backup will take place)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: drymode&lt;/li&gt;
&lt;li&gt;Log output: /tmp/ghettoVCB.log (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ghettoVCBg2.pl --config_dir backup_config --vmlist virtual_machine_backup_list --dryrun 1

[vi-admin@scofield ~]$ cat /tmp/ghettoVCBg2.log
        11-14-2009 00:26:29 --  info: ============================== ghettoVCBg2 LOG START ==============================
        11-14-2009 00:26:34 --  info: CONFIG - USING CONFIGURATION FILE = VIMA
        11-14-2009 00:26:34 --  info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCBg2.log
        11-14-2009 00:26:34 --  info: CONFIG - VM_BACKUP_DATASTORE = dlgCore-NFS-bigboi.VM-Backups
        11-14-2009 00:26:34 --  info: CONFIG - VM_BACKUP_DIRECTORY = WILLIAM_BACKUPS
        11-14-2009 00:26:34 --  info: CONFIG - DISK_BACKUP_FORMAT = zeroedthick
        11-14-2009 00:26:34 --  info: CONFIG - ADAPTER_FORMAT = buslogic
        11-14-2009 00:26:34 --  info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = NO
        11-14-2009 00:26:34 --  info: CONFIG - VM_SNAPSHOT_MEMORY = YES
        11-14-2009 00:26:34 --  info: CONFIG - VM_SNAPSHOT_QUIESCE = YES
        11-14-2009 00:26:34 --  info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2009-11-14
        11-14-2009 00:26:34 --  info: CONFIG - VM_VMDK_FILES = VIMA_1.vmdk

        11-14-2009 00:26:34 --  info: ---------- DRYRUN DEBUG INFO VIMA ----------
        11-14-2009 00:26:34 --  info: DEBUG - Host Build: VMware ESX 4.0.0 build-164009
        11-14-2009 00:26:34 --  info: DEBUG - Host: himalaya.primp-industries.com
        11-14-2009 00:26:34 --  info: DEBUG - Virtual Machine: VIMA
        11-14-2009 00:26:34 --  info: DEBUG - VM ConfigPath: [http://himalaya-local-SAS.Savvio|http://himalaya-local-SAS.Savvio] VIMA/VIMA.vmx
        11-14-2009 00:26:34 --  info: DEBUG - VMX File: VIMA.vmx
        11-14-2009 00:26:34 --  info: DEBUG - BackupConfigPath: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] WILLIAM_BACKUPS/VIMA/VIMA-2009-11-14/VIMA.vmx
        11-14-2009 00:26:34 --  info: DEBUG - BackupPath: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] WILLIAM_BACKUPS/VIMA/VIMA-2009-11-14
        11-14-2009 00:26:34 --  info: DEBUG - VM Datastore: himalaya-local-SAS.Savvio
        11-14-2009 00:26:34 --  info: DEBUG - VMDK(s):
        11-14-2009 00:26:34 --  info: DEBUG - [http://himalaya-local-SAS.Savvio|http://himalaya-local-SAS.Savvio] VIMA/VIMA.vmdk
        11-14-2009 00:26:34 --  info: DEBUG - [http://himalaya-local-SAS.Savvio|http://himalaya-local-SAS.Savvio] VIMA/VIMA_1.vmdk
        11-14-2009 00:26:34 --  info: ---------- DRYRUN DEBUG INFO VIMA ----------

        11-14-2009 00:26:34 --  debug: reConfigureBackupParams: VM - vMA-2
        11-14-2009 00:26:34 --  info: CONFIG - USING CONFIGURATION FILE = vMA-2
        11-14-2009 00:26:34 --  info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCBg2.log
        11-14-2009 00:26:34 --  info: CONFIG - VM_BACKUP_DATASTORE = dlgCore-NFS-bigboi.VM-Backups
        11-14-2009 00:26:34 --  info: CONFIG - VM_BACKUP_DIRECTORY = vGHETTO_BACKUPS
        11-14-2009 00:26:34 --  info: CONFIG - DISK_BACKUP_FORMAT = thin
        11-14-2009 00:26:34 --  info: CONFIG - ADAPTER_FORMAT = lsilogic
        11-14-2009 00:26:34 --  info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = NO
        11-14-2009 00:26:34 --  info: CONFIG - VM_SNAPSHOT_MEMORY = NO
        11-14-2009 00:26:34 --  info: CONFIG - VM_SNAPSHOT_QUIESCE = NO
        11-14-2009 00:26:34 --  info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2009-11-14
        11-14-2009 00:26:34 --  info: CONFIG - VM_VMDK_FILES = all

        11-14-2009 00:26:34 --  info: ---------- DRYRUN DEBUG INFO vMA-2 ----------
        11-14-2009 00:26:34 --  info: DEBUG - Host Build: VMware ESX 4.0.0 build-164009
        11-14-2009 00:26:34 --  info: DEBUG - Host: himalaya.primp-industries.com
        11-14-2009 00:26:34 --  info: DEBUG - Virtual Machine: vMA-2
        11-14-2009 00:26:34 --  info: DEBUG - VM ConfigPath: [http://himalaya-local-SAS.Constellation|http://himalaya-local-SAS.Constellation] vMA-2/vMA-2.vmx
        11-14-2009 00:26:34 --  info: DEBUG - VMX File: vMA-2.vmx
        11-14-2009 00:26:34 --  info: DEBUG - BackupConfigPath: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] vGHETTO_BACKUPS/vMA-2/vMA-2-2009-11-14/vMA-2.vmx
        11-14-2009 00:26:34 --  info: DEBUG - BackupPath: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] vGHETTO_BACKUPS/vMA-2/vMA-2-2009-11-14
        11-14-2009 00:26:34 --  info: DEBUG - VM Datastore: himalaya-local-SAS.Constellation
        11-14-2009 00:26:34 --  info: DEBUG - VMDK(s):
        11-14-2009 00:26:34 --  info: DEBUG - [http://himalaya-local-SAS.Constellation|http://himalaya-local-SAS.Constellation] vMA-2/vMA-2.vmdk
        11-14-2009 00:26:34 --  info: ---------- DRYRUN DEBUG INFO vMA-2 ----------

        11-14-2009 00:26:37 --  info: ============================== ghettoVCBg2 LOG END ==============================
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;FAQ&lt;/h1&gt;
&lt;br /&gt;
&lt;b&gt;1Q:&lt;/b&gt; I have a VM listed in my backup file but no backup of that VM took place. The log stated that the VM could not be found. How could this be? I know that it’s running on host X…&lt;br /&gt;
&lt;b&gt;1A&lt;/b&gt; Ensure the ESX/ESXi host is being managed by VMware VIMA/vMA ( &lt;b&gt;sudo vifp listservers&lt;/b&gt; to verify)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2Q:&lt;/b&gt; I'm getting error X when using the script or I'm not getting any errors, the backup didn’t even take place. Oh what could be wrong? &lt;br /&gt;
&lt;b&gt;2A:&lt;/b&gt; Please provide the entire output of a manual execution (debug &amp;#38; dry run mode) or if you're logging the output withing \{code\} tags, a short description of your environment and the type of VM(s) you're trying to backup—I will try to provide some assistance.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3Q:&lt;/b&gt; Can I schedule backups to take place hourly, daily, monthly, yearly?&lt;br /&gt;
&lt;b&gt;3A:&lt;/b&gt; Yes, do a search online for &lt;b&gt;crontab&lt;/b&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4Q:&lt;/b&gt; I want to schedule my backup on Windows, how do I do this?&lt;br /&gt;
&lt;b&gt;4A:&lt;/b&gt; Do a search for &lt;b&gt;plink&lt;/b&gt;. Make sure you have paired SSH keys setup between your Windows system and VIMA/vMA.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5Q:&lt;/b&gt; Do I have to use VMware VIMA/vMA to initiate the backup?&lt;br /&gt;
&lt;b&gt;5A:&lt;/b&gt; Yes, vi-fastpass is being used and only VIMA/vMA provides this capability. However, you can kickoff the process from another host (*nix/win)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6Q:&lt;/b&gt; I only have a single ESXi host. I want to take backups and store them somewhere else. The problem is: I don't have NFS, iSCSI nor FC SAN. What can I do?&lt;br /&gt;
&lt;b&gt;6A:&lt;/b&gt; You can use local storage to store your backups assuming that you have enough space on the destination datastore.  Afterwards, you can use scp (WinSCP/FastSCP) or &lt;b&gt;vifs&lt;/b&gt; (vCLI) to transfer the backups from the ESXi host to your local desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7Q:&lt;/b&gt; I’m pissed; the backup is taking too long. My datastore is of type X?&lt;br /&gt;
&lt;b&gt;7A:&lt;/b&gt; YMMV, take a look at your storage configuration and make sure it is optimized.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8Q:&lt;/b&gt; I noticed that the backup rotation is occurring after a backup. I don't have enough local storage space, can the process be changed?&lt;br /&gt;
&lt;b&gt;8A:&lt;/b&gt; This is primarily done to ensure that you have at least one good backup in case the new backup fails. If you would like to modify the script, you're more than welcome to do so. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9Q:&lt;/b&gt; What is the best storage configuration for datastore type X?&lt;br /&gt;
&lt;b&gt;9A:&lt;/b&gt; Search the VMTN forums; there are various configurations for the different type of storage/etc.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10Q:&lt;/b&gt; I want to setup NFS Server to run my backups. Which is the best and should it be virtual or physical?&lt;br /&gt;
&lt;b&gt;10A:&lt;/b&gt; Please refer to answer 7A. From experience, we’ve seen physical instances of NFS servers to be faster than their virtual counterparts.  As always, YMMV. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;11Q:&lt;/b&gt; When I try to use the script I get an error stating: &lt;b&gt;"restricted version"&lt;/b&gt;. What the heck is this?&lt;br /&gt;
&lt;b&gt;11A:&lt;/b&gt; Please take a look at the &lt;b&gt;ESX/ESXi Version Support Table&lt;/b&gt; in this document. The reason is explained &lt;a class="jive-link-external" href="http://vmetc.com/2009/03/31/esxi-u4-ends-free-version-read-and-write-access-from-the-rcli/"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;12Q:&lt;/b&gt; I'm getting error X when using the script or I'm not getting any errors, the backup didn’t even take place. Oh what could be wrong? &lt;br /&gt;
&lt;b&gt;12A:&lt;/b&gt; First, you'll want to check the log (default /tmp/ghettoVCBg2) and see if there are any obvious errors. If not, please provide the entire output of the log, a short description of your environment and the type of VM(s) you're trying to backup—I will try to provide some assistance.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;13Q:&lt;/b&gt; I have VMs that have snapshots. I want to back these things up but the script doesn’t let me do it. How do I fix that?&lt;br /&gt;
&lt;b&gt;13A:&lt;/b&gt; VM snapshots are not meant to be kept for long durations. When backing up a VM that contains a snapshot, you should ensure all snapshots have been committed prior to running a backup. No exceptions will be made…ever.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;14Q:&lt;/b&gt; I would like to restore from backup, what is the best method?&lt;br /&gt;
&lt;b&gt;14A:&lt;/b&gt; The restore process will be unique for each environment and should be determined by your backup/recovery plans. At a high level you have the option of mounting the backup datastore and registering the VM in question or copy the VM from the backup datastore to the ESX/ESXi host. The latter is recommended so that you're not running a VM living on the backup datastore or inadvertently modifying your backup VM(s).  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;15Q:&lt;/b&gt; When using the experimental feature: &lt;b&gt;Individual VM backup policy&lt;/b&gt;, if I don't have a policy will it use the default configurations defined in the script?&lt;br /&gt;
&lt;b&gt;15A:&lt;/b&gt; No, this use case will not be supported, ever. If you decide to use the per VM policy, then the global configuration in the script is ignored. If a VM policy config is not found, the VM will not be backed up even if it's in the &lt;b&gt;–-vmlist&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;16Q:&lt;/b&gt; In vMA 4.0, vCenter target will be supported, can I just add vCenter target and assume this will work?&lt;br /&gt;
&lt;b&gt;16A:&lt;/b&gt; At the moment, this is not a supported feature. You will need to add each ESX/ESXi host for the vi-fastpass library to be able to locate the host(s).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;17Q:&lt;/b&gt; When I try to run the script I get: &lt;b&gt;"-bash: ./ghettoVCBg2.pl: Permission denied"&lt;/b&gt;, what is wrong?&lt;br /&gt;
&lt;b&gt;17A:&lt;/b&gt; You need to change the permission on the script to be executable, chmod +x ghettoVCBg2.pl&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;18Q:&lt;/b&gt; Where can I download the latest version of the script?&lt;br /&gt;
&lt;b&gt;18A:&lt;/b&gt; The latest version is available on this page at the bottom. To get the version of the script run &lt;b&gt;./ghettoVCBg2.pl --version&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Change Log&lt;/h1&gt;
&lt;br /&gt;
11/18/09 - New variable "EMAIL_DOMAIN" was added for email log functionality as email domain must be defined or left as default "localhost.localdomain". Thanks to adrian888 for finding this bug&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;my $EMAIL_DOMAIN = &amp;quot;localhost.localdomain&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
11/17/09 - The following enhancements and fixes have been implemented in this release of ghettoVCBg2. Special thanks goes out to &lt;b&gt;Gerhard Ostermann&lt;/b&gt; for assisting with some of the logic in the ghettoVCBg2 script and the rest of the ghettoVCBg2 BETA testers. Thanks for everyones time and comments to make this script better!&lt;br /&gt;
&lt;br /&gt;
Enhancements:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Email log support&lt;/li&gt;
&lt;li&gt;Include/exclude specific VMDK(s)&lt;/li&gt;
&lt;li&gt;Additional logging + dry run mode&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
Fixes:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Independent disk aware&lt;/li&gt;
&lt;li&gt;Large VMDK backups&lt;/li&gt;
&lt;/ul&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima1.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vghettovcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <pubDate>Thu, 23 Apr 2009 04:36:49 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9843</guid>
      <dc:date>2009-04-23T04:36:49Z</dc:date>
      <clearspace:dateToText>5 days, 20 hours ago</clearspace:dateToText>
      <clearspace:replyCount>110</clearspace:replyCount>
    </item>
    <item>
      <title>ghettoVCB.sh - Free alternative for backing up VM's for ESX(i) 3.5 and 4.0+</title>
      <link>http://communities.vmware.com/docs/DOC-8760</link>
      <description>&lt;h1&gt;Table of Contents:&lt;/h1&gt;
&lt;ul&gt;

&lt;ul&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Features&lt;/li&gt;
&lt;li&gt;Requirements&lt;/li&gt;
&lt;li&gt;Setup&lt;/li&gt;
&lt;li&gt;Configurations&lt;/li&gt;
&lt;li&gt;Usage&lt;/li&gt;
&lt;li&gt;Sample Execution
&lt;ul&gt;
&lt;li&gt;Backup VMs stored in a list&lt;/li&gt;
&lt;li&gt;Backup VMs using individual backup policies &lt;/li&gt;
&lt;li&gt;Debug backup Mode&lt;/li&gt;
&lt;li&gt;Dry run Mode&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Enable compression for backups&lt;/li&gt;
&lt;li&gt;Restore backups (ghettoVCB-restore.sh)&lt;/li&gt;
&lt;li&gt;Cronjob FAQ&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Useful Links&lt;/li&gt;
&lt;li&gt;Change Log&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h1&gt;Description:&lt;/h1&gt;
&lt;br /&gt;
This script performs backups of virtual machines residing on &lt;b&gt;ESX(i) 3.5/4.0+&lt;/b&gt; servers using methodology similar to &lt;a class="jive-link-external" href="http://www.vmware.com/products/vi/consolidated_backup.html"&gt;VMware's VCB&lt;/a&gt; tool. The script takes snapshots of live virtual machines, backs up the master VMDK(s) and then upon completion, deletes the snapshot until the next backup. The only caveat is that it utilizes resources available to the Service Console of the ESX server running the backups as opposed to following the traditional method of offloading virtual machine backups through a VCB proxy.&lt;br /&gt;
&lt;br /&gt;
This script has been tested on &lt;b&gt;ESX 3.5/4.0 and ESXi 3.5/4.0&lt;/b&gt; and supports the following backup mediums: &lt;b&gt;LOCAL STORAGE&lt;/b&gt;, &lt;b&gt;SAN&lt;/b&gt; and &lt;b&gt;NFS&lt;/b&gt;. The script is non-interactive and can be setup to run via crontab. Currently, this script accepts a text file that lists the display names of virtual machine(s) that are to be backed up. Additionally, one can specify a folder containing configuration files on a per VM basis for granular control over backup policies.&lt;br /&gt;
&lt;br /&gt;
Additionally, for ESX environments that don't have persistent NFS datastores designated for backups, the script offers the ability to automatically connect the ESX server to a NFS exported folder and then upon backup completion, disconnect it from the ESX server. The connection is established by creating an NFS datastore link which enables monolithic (or thick) VMDK backups as opposed to using the usual *nix mount command which necessitates breaking VMDK files into the 2gbsparse format for backup. Enabling this mode is self-explanatory and will evidently be so when editing the script (Note: &lt;b&gt;VM_BACKUP_VOLUME&lt;/b&gt; variable is ignored if &lt;b&gt;ENABLE_NON_PERSISTENT_NFS=1&lt;/b&gt; ).&lt;br /&gt;
&lt;br /&gt;
In its current configuration, the script will allow up to 3 unique backups of the Virtual Machine before it will overwrite the previous backups; this however, can be modified to fit procedures if need be. Please be diligent in running the script in a test or staging environment before using it on production live Virtual Machines; this script functions well within our environment but there is a chance that it may not fit well into other environments.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;Features&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Support for multiple VMDK disk(s) backup per VM&lt;/li&gt;
&lt;li&gt;Only valid VMDK(s) presented to the VM will be backed up&lt;/li&gt;
&lt;li&gt;Online back up of VM(s)&lt;/li&gt;
&lt;li&gt;Ability to shutdown guestOS and initiate backup process and power on VM afterwards with the option of hardpower timeout &lt;/li&gt;
&lt;li&gt;Allow spaces in VM(s) backup list (not recommended and not a best practice)&lt;/li&gt;
&lt;li&gt;Ensure that snapshot removal process completes prior to to continuing onto the next VM backup&lt;/li&gt;
&lt;li&gt;VM(s) that intially contain &lt;b&gt;snapshots&lt;/b&gt; will not be backed up and will be ignored&lt;/li&gt;
&lt;li&gt;Ability to specify the number of backup rotations for VM&lt;/li&gt;
&lt;li&gt;Output back up VMDK(s) in either &lt;b&gt;ZEROEDTHICK&lt;/b&gt; (default behavior) or &lt;b&gt;2GB SPARSE&lt;/b&gt; or &lt;b&gt;THIN&lt;/b&gt; or &lt;b&gt;EAGERZEROEDTHICK&lt;/b&gt; format&lt;/li&gt;
&lt;li&gt;Support for both SCSI and IDE disks&lt;/li&gt;
&lt;li&gt;Non-persistent NFS backup &lt;/li&gt;
&lt;li&gt;Fully support VMDK(s) stored across multiple datastores&lt;/li&gt;
&lt;li&gt;Ability to compress backups (Experimental Support)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Ability to configure individual VM backup policies&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Ability to include/exclude specific VMDK(s) per VM (requires individual VM backup policy setup)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Ability to configure logging output to file&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Independent disk awareness (will ignore VMDK)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;New timeout variables for shutdown and snapshot creations &lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Ability to configure snapshots with both memory and/or quiesce options&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Ability to configure disk adapter format&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Additional debugging information including dry run execution&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Support for VMs with both virtual/physical RDM (pRDM will be ignored and not backed up)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:green"&gt;NEW!&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Requirements:&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;VMs running on ESX(i) 3.5/4.0+&lt;/li&gt;
&lt;li&gt;SSH console access to ESX/ESXi host&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Setup:&lt;/h1&gt;
&lt;br /&gt;
1) Download &lt;b&gt;ghettoVCB.sh&lt;/b&gt; to either your ESX or ESXi system&lt;br /&gt;
&lt;br /&gt;
2) Change the permissions on the script to ensure it can be executed:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# chmod +x ghettoVCB.sh
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Configurations:&lt;/h1&gt;
&lt;br /&gt;
The following variables need to be defined within the script or in VM backup policy prior to execution. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining the backup datastore and folder in which the backups are stored (if folder does not exist, it will automatically be created):&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;VM_BACKUP_VOLUME=/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining the backup disk format (zeroedthick, eagerzeroedthick, thin, and 2gbsparse are available):&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;DISK_BACKUP_FORMAT=thin
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining the backup rotation per VM:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;VM_BACKUP_ROTATION_COUNT=3
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining whether the VM is powered down or not prior to backup (1 = enable, 0 = disable):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:green"&gt;Note: VM(s) that are powered off will not require snapshoting&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;POWER_VM_DOWN_BEFORE_BACKUP=0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining whether the VM can be hard powered off when "POWER_VM_DOWN_BEFORE_BACKUP" is enabled and VM does not have VMware Tools installed&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;ENABLE_HARD_POWER_OFF=0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;If "ENABLE_HARD_POWER_OFF" is enabled, then this defines the number of (60sec) iterations the script will before executing a hard power off when:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;ITER_TO_WAIT_SHUTDOWN=3
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The number (60sec) iterations the script will wait when powering off the VM and will give up and ignore the particular VM for backup:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;POWER_DOWN_TIMEOUT=5
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The number (60sec) iterations the script will wait when taking a snapshot of a VM and will give up and ignore the particular VM for backup:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:green"&gt;Default value should suffice&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;SNAPSHOT_TIMEOUT=15
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining whether or not to enable compression (1 = enable, 0 = disable):&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;ENABLE_COMPRESSION=0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining the adapter type for backed up VMDK (buslogic and lsilogic are available):&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;ADAPTER_FORMAT=buslogic
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Defining whether virtual machine memory is snapped and if quiescing is enabled (1 = enable, 0 = disable):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:green"&gt;Note: By default both are disabled&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
*Defining VMDK(s) to backup from a particular VM either a list of vmdks or "all"&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;VMDK_FILES_TO_BACKUP=&amp;quot;myvmdk.vmdk&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ensure that you do not edit past this section:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;########################## DO NOT MODIFY PAST THIS LINE ##########################
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Usage:&lt;/h1&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB.sh
###############################################################################
#
# ghettoVCB for ESX/ESXi 3.5 &amp;#38; 4.x+
# Author: William Lam
# http://www.engineering.ucsb.edu/~duonglt/vmware/
# Created: 11/17/2008
# Last modified: 11/14/2009
#
###############################################################################

Usage: ./ghettoVCB.sh -f [VM_BACKUP_UP_LIST] -c [VM_CONFIG_DIR] -l [LOG_FILE]

OPTIONS:
   -f     List of VMs to backup
   -c     Configuration directory for VM backups
   -l     File to output logging
   -d     Debug level [info|debug|dryrun] (default: info)

(e.g.)

Backup VMs stored in a list
        ./ghettoVCB.sh -f vms_to_backup

Backup VMs based on specific configuration located in directory
        ./ghettoVCB.sh -f vms_to_backup -c vm_backup_configs

Output will log to /tmp/ghettoVCB.log
        ./ghettoVCB.sh -f vms_to_backup -l /tmp/ghettoVCB.log

Dry run (no backup will take place)
        ./ghettoVCB.sh -f vms_to_backup -d dryrun

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
The input to this script is a file that contains the display name of the virtual machine(s) separated by a newline. When creating this file on a non-Linux/UNIX system, you may introduce ^M character which can cause the script to miss-behave. To ensure this does not occur, plesae create the file on the ESX/ESXi host.&lt;br /&gt;
&lt;br /&gt;
Here is a sample of what the file would look like:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# cat vms_to_backup
VCAP
VIMA
vMA-2
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Sample Execution:&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Backup VMs stored in a list&lt;/li&gt;
&lt;li&gt;Backup VMs based on individual VM backup policies&lt;/li&gt;
&lt;li&gt;Debug Mode&lt;/li&gt;
&lt;li&gt;Dry run Mode&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Backup VMs stored in a list&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: info (default)&lt;/li&gt;
&lt;li&gt;Log output: stdout (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB.sh -f vms_to_backup

2009-11-12 06:14:10 -- info: ============================== ghettoVCB LOG START ==============================

2009-11-12 06:14:10 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:14:10 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:14:10 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:14:10 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:14:10 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:14:10 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:14:10 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2009-11-12 06:14:10 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:14:10 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:14:10 -- info: CONFIG - LOG_LEVEL = info
2009-11-12 06:14:10 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-12 06:14:10 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-12 06:14:10 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:14:10 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-12 06:14:15 -- info: Initiate backup for VCAP
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP_2.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP_1.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP-0.vmdk'...
Clone: 100% done.
2009-11-12 06:15:15 -- info: Backup Duration: 60 Seconds
2009-11-12 06:15:15 -- info: Successfully completed backup for VCAP!

2009-11-12 06:15:17 -- info: Initiate backup for VIMA
2009-11-12 06:15:17 -- info: Creating Snapshot &amp;quot;ghettoVCB-snapshot-2009-11-12&amp;quot; for VIMA
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Savvio/VIMA/VIMA.vmdk'...
Clone: 100% done.
2009-11-12 06:16:40 -- info: Removing snapshot from VIMA ...
2009-11-12 06:16:43 -- info: Backup Duration: 1.43 Minutes
2009-11-12 06:16:43 -- info: Successfully completed backup for VIMA!

2009-11-12 06:16:47 -- info: Initiate backup for vMA-2
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Constellation/vMA-2/vMA-2.vmdk'...
Clone: 100% done.
2009-11-12 06:18:14 -- info: Backup Duration: 1.45 Minutes
2009-11-12 06:18:14 -- info: Successfully completed backup for vMA-2!

2009-11-12 06:18:14 -- info: ============================== ghettoVCB LOG END ================================

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Backup VMs based on individual VM backup policies and log output to /tmp/ghettoVCB.log&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: info (default)&lt;/li&gt;
&lt;li&gt;Log output: /tmp/ghettoVCB.log (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
1. Create folder to hold individual VM backup policies (can be named anything):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# mkdir backup_config
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Create individual VM backup policies for each VM that ensure each file is named exactly as the display name of the VM being backed up (use provided template to create duplicates):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya backup_config]# cp ghettoVCB-vm_backup_configuration_template VCAP
[root@himalaya backup_config]# cp ghettoVCB-vm_backup_configuration_template VIMA
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Listing of VM backup policy within backup configuration directory&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya backup_config]# ls
ghettoVCB-vm_backup_configuration_template  VCAP  VIMA
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Backup policy for "VCAP" (backup only 2 specific VMDKs)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya backup_config]# cat VCAP
VM_BACKUP_VOLUME=/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=3
POWER_VM_DOWN_BEFORE_BACKUP=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
ADAPTER_FORMAT=buslogic
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP=&amp;quot;VCAP.vmdk,VCAP_2.vmdk&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Backup policy for VM "VIMA" (backup all VMDKs found)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya backup_config]# cat VIMA
VM_BACKUP_VOLUME=/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=3
POWER_VM_DOWN_BEFORE_BACKUP=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
ADAPTER_FORMAT=buslogic
VM_SNAPSHOT_MEMORY=1
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP=&amp;quot;all&amp;quot;

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red"&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/span&gt; When specifying -c option (individual VM backup policy mode) if a VM is listed in the backup list but &lt;b&gt;DOES NOT&lt;/b&gt; have a corresponding backup policy, the VM will be backed up using the default configuration found within the ghettoVCB.sh script.&lt;br /&gt;
&lt;br /&gt;
Execution of backup&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB.sh -f vms_to_backup -c backup_config -l /tmp/ghettoVCB.log

Logging output to &amp;quot;/tmp/ghettoVCB.log&amp;quot; ...
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP_2.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Savvio/VIMA/VIMA.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Constellation/vMA-2/vMA-2.vmdk'...
Clone: 100% done.

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red"&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/span&gt; When specifying the -l option (log output to file), vmkfstools copy is also logged to stdout. This is done primarily for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
Log output from backup&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# cat /tmp/ghettoVCB.log

2009-11-12 06:26:53 -- info: ============================== ghettoVCB LOG START ==============================

2009-11-12 06:26:56 -- info: CONFIG - USING CONFIGURATION FILE = backup_config/VCAP
2009-11-12 06:26:56 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:26:56 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:26:56 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:26:56 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:26:56 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:26:56 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:26:56 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 4
2009-11-12 06:26:56 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:26:56 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:26:56 -- info: CONFIG - LOG_LEVEL = info
2009-11-12 06:26:56 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB.log
2009-11-12 06:26:56 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-12 06:26:56 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:26:56 -- info: CONFIG - VMDK_FILES_TO_BACKUP = VCAP.vmdk,VCAP_2.vmdk

2009-11-12 06:26:58 -- info: Initiate backup for VCAP
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP_2.vmdk'...
Clone: 100% done.
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP.vmdk'...
Clone: 100% done.
2009-11-12 06:26:59 -- info: Backup Duration: 1 Seconds
2009-11-12 06:26:59 -- info: Successfully completed backup for VCAP!

2009-11-12 06:26:59 -- info: CONFIG - USING CONFIGURATION FILE = backup_config/VIMA
2009-11-12 06:26:59 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:26:59 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:26:59 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:26:59 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:26:59 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:26:59 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:26:59 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 4
2009-11-12 06:26:59 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:26:59 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:26:59 -- info: CONFIG - LOG_LEVEL = info
2009-11-12 06:26:59 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB.log
2009-11-12 06:26:59 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 1
2009-11-12 06:26:59 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:26:59 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-12 06:27:02 -- info: Initiate backup for VIMA
2009-11-12 06:27:02 -- info: Creating Snapshot &amp;quot;ghettoVCB-snapshot-2009-11-12&amp;quot; for VIMA
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Savvio/VIMA/VIMA.vmdk'...
Clone: 100% done.
2009-11-12 06:29:28 -- info: Removing snapshot from VIMA ...
2009-11-12 06:29:31 -- info: Backup Duration: 2.48 Minutes
2009-11-12 06:29:31 -- info: Successfully completed backup for VIMA!

2009-11-12 06:29:31 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:29:31 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:29:31 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:29:31 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:29:31 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:29:31 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:29:31 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2009-11-12 06:29:31 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:29:31 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:29:31 -- info: CONFIG - LOG_LEVEL = info
2009-11-12 06:29:31 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB.log
2009-11-12 06:29:31 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-12 06:29:31 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:29:31 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-12 06:29:35 -- info: Initiate backup for vMA-2
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Constellation/vMA-2/vMA-2.vmdk'...
Clone: 100% done.
2009-11-12 06:31:05 -- info: Backup Duration: 1.50 Minutes
2009-11-12 06:31:05 -- info: Successfully completed backup for vMA-2!

2009-11-12 06:31:05 -- info: ============================== ghettoVCB LOG END ================================

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Debug backup mode&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: debug&lt;/li&gt;
&lt;li&gt;Log output: stdout&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB.sh -f vms_to_backup -c backup_config -d debug
2009-11-13 19:51:47 -- info: ============================== ghettoVCB LOG START ==============================

2009-11-13 19:51:47 -- debug: HOST BUILD: VMware ESX 4.0.0 build-164009
2009-11-13 19:51:47 -- debug: HOSTNAME: himalaya.primp-industries.com

2009-11-13 19:51:51 -- info: CONFIG - USING CONFIGURATION FILE = backup_config/VCAP
2009-11-13 19:51:51 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-13 19:51:51 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-13 19:51:51 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-13 19:51:51 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-13 19:51:51 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-13 19:51:51 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-13 19:51:51 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 4
2009-11-13 19:51:51 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-13 19:51:51 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-13 19:51:51 -- info: CONFIG - LOG_LEVEL = debug
2009-11-13 19:51:51 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-13 19:51:51 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-13 19:51:51 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-13 19:51:51 -- info: CONFIG - VMDK_FILES_TO_BACKUP = VCAP.vmdk,VCAP_2.vmdk

2009-11-13 19:51:52 -- info: Initiate backup for VCAP
2009-11-13 19:51:52 -- debug: findVMDK() - Searching for VMDK: &amp;quot;VCAP_2.vmdk&amp;quot; to backup
2009-11-13 19:51:52 -- debug: findVMDK() - Found VMDK! - &amp;quot;VCAP_2.vmdk&amp;quot; to backup
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP_2.vmdk'...
Clone: 100% done.
2009-11-13 19:51:53 -- debug: findVMDK() - Searching for VMDK: &amp;quot;VCAP_1.vmdk&amp;quot; to backup
2009-11-13 19:51:53 -- debug: findVMDK() - Searching for VMDK: &amp;quot;VCAP.vmdk&amp;quot; to backup
2009-11-13 19:51:53 -- debug: findVMDK() - Found VMDK! - &amp;quot;VCAP.vmdk&amp;quot; to backup
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP.vmdk'...
Clone: 100% done.
2009-11-13 19:51:53 -- debug: findVMDK() - Searching for VMDK: &amp;quot;VCAP-0.vmdk&amp;quot; to backup
2009-11-13 19:51:54 -- info: Backup Duration: 2 Seconds
2009-11-13 19:51:54 -- info: Successfully completed backup for VCAP!

2009-11-13 19:51:54 -- info: CONFIG - USING CONFIGURATION FILE = backup_config/VIMA
2009-11-13 19:51:54 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-13 19:51:54 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-13 19:51:54 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-13 19:51:54 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-13 19:51:54 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-13 19:51:54 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-13 19:51:54 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 4
2009-11-13 19:51:54 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-13 19:51:54 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-13 19:51:54 -- info: CONFIG - LOG_LEVEL = debug
2009-11-13 19:51:54 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-13 19:51:54 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 1
2009-11-13 19:51:54 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-13 19:51:54 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-13 19:51:56 -- info: Initiate backup for VIMA
2009-11-13 19:51:56 -- info: Creating Snapshot &amp;quot;ghettoVCB-snapshot-2009-11-13&amp;quot; for VIMA
2009-11-13 19:51:58 -- debug: Waiting for snapshot &amp;quot;ghettoVCB-snapshot-2009-11-13&amp;quot; to be created
2009-11-13 19:51:58 -- debug: Snapshot timeout set to: 900 seconds
2009-11-13 19:52:01 -- debug: Waiting for snapshot creation to be completed - Iteration: 0 - sleeping for 60secs (Duration: 0 seconds)
2009-11-13 19:53:03 -- debug: findVMDK() - Searching for VMDK: &amp;quot;VIMA.vmdk&amp;quot; to backup
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Savvio/VIMA/VIMA.vmdk'...
Clone: 100% done.
2009-11-13 19:54:27 -- info: Removing snapshot from VIMA ...
2009-11-13 19:54:32 -- info: Backup Duration: 2.60 Minutes
2009-11-13 19:54:32 -- info: Successfully completed backup for VIMA!

2009-11-13 19:54:32 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-13 19:54:32 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-13 19:54:32 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-13 19:54:32 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-13 19:54:32 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-13 19:54:32 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-13 19:54:32 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2009-11-13 19:54:32 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-13 19:54:32 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-13 19:54:32 -- info: CONFIG - LOG_LEVEL = debug
2009-11-13 19:54:32 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-13 19:54:32 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-13 19:54:32 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-13 19:54:32 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-13 19:54:35 -- info: Initiate backup for vMA-2
2009-11-13 19:54:35 -- debug: findVMDK() - Searching for VMDK: &amp;quot;vMA-2.vmdk&amp;quot; to backup
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/himalaya-local-SAS.Constellation/vMA-2/vMA-2.vmdk'...
Clone: 100% done.
2009-11-13 19:56:10 -- info: Backup Duration: 1.58 Minutes
2009-11-13 19:56:10 -- info: Successfully completed backup for vMA-2!

2009-11-13 19:56:10 -- info: ============================== ghettoVCB LOG END ================================
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Dry run Mode (no backup will take place)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log verbosity: drymode&lt;/li&gt;
&lt;li&gt;Log output: stdout&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB.sh -f vms_to_backup -c backup_config -d dryrun

2009-11-12 06:32:57 -- info: ============================== ghettoVCB LOG START ==============================

2009-11-12 06:33:01 -- info: CONFIG - USING CONFIGURATION FILE = backup_config/VCAP
2009-11-12 06:33:01 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:33:01 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:33:01 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:33:01 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:33:01 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:33:01 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:33:01 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 4
2009-11-12 06:33:01 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:33:01 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:33:01 -- info: CONFIG - LOG_LEVEL = dryrun
2009-11-12 06:33:01 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-12 06:33:01 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-12 06:33:01 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:33:01 -- info: CONFIG - VMDK_FILES_TO_BACKUP = VCAP.vmdk,VCAP_2.vmdk

2009-11-12 06:33:01 -- dryrun: ###############################################
2009-11-12 06:33:01 -- dryrun: Virtual Machine: VCAP
2009-11-12 06:33:01 -- dryrun: VM_ID: 2784
2009-11-12 06:33:01 -- dryrun: VMX_PATH: /vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP/VCAP.vmx
2009-11-12 06:33:01 -- dryrun: VMX_DIR: /vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP
2009-11-12 06:33:01 -- dryrun: VMX_CONF: VCAP/VCAP.vmx
2009-11-12 06:33:01 -- dryrun: VMFS_VOLUME: himalaya-local-SATA.RE4-GP:Storage
2009-11-12 06:33:01 -- dryrun: VMDK(s):
2009-11-12 06:33:01 -- dryrun:  VCAP_2.vmdk
2009-11-12 06:33:01 -- dryrun:  VCAP_1.vmdk
2009-11-12 06:33:01 -- dryrun:  VCAP.vmdk
2009-11-12 06:33:01 -- dryrun:  VCAP-0.vmdk
2009-11-12 06:33:01 -- dryrun: ###############################################

2009-11-12 06:33:01 -- info: CONFIG - USING CONFIGURATION FILE = backup_config/VIMA
2009-11-12 06:33:01 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:33:01 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:33:01 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:33:01 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:33:01 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:33:01 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:33:01 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 4
2009-11-12 06:33:01 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:33:01 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:33:01 -- info: CONFIG - LOG_LEVEL = dryrun
2009-11-12 06:33:01 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-12 06:33:01 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 1
2009-11-12 06:33:01 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:33:01 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-12 06:33:01 -- dryrun: ###############################################
2009-11-12 06:33:01 -- dryrun: Virtual Machine: VIMA
2009-11-12 06:33:01 -- dryrun: VM_ID: 4064
2009-11-12 06:33:01 -- dryrun: VMX_PATH: /vmfs/volumes/himalaya-local-SAS.Savvio/VIMA/VIMA.vmx
2009-11-12 06:33:01 -- dryrun: VMX_DIR: /vmfs/volumes/himalaya-local-SAS.Savvio/VIMA
2009-11-12 06:33:01 -- dryrun: VMX_CONF: VIMA/VIMA.vmx
2009-11-12 06:33:01 -- dryrun: VMFS_VOLUME: himalaya-local-SAS.Savvio
2009-11-12 06:33:01 -- dryrun: VMDK(s):
2009-11-12 06:33:01 -- dryrun:  VIMA.vmdk
2009-11-12 06:33:01 -- dryrun: ###############################################

2009-11-12 06:33:01 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS
2009-11-12 06:33:01 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2009-11-12 06:33:01 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2009-11-12 06:33:01 -- info: CONFIG - ADAPTER_FORMAT = buslogic
2009-11-12 06:33:01 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2009-11-12 06:33:01 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2009-11-12 06:33:01 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2009-11-12 06:33:01 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2009-11-12 06:33:01 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2009-11-12 06:33:01 -- info: CONFIG - LOG_LEVEL = dryrun
2009-11-12 06:33:01 -- info: CONFIG - BACKUP_LOG_OUTPUT = stdout
2009-11-12 06:33:01 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2009-11-12 06:33:01 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2009-11-12 06:33:01 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all

2009-11-12 06:33:01 -- dryrun: ###############################################
2009-11-12 06:33:01 -- dryrun: Virtual Machine: vMA-2
2009-11-12 06:33:01 -- dryrun: VM_ID: 4960
2009-11-12 06:33:01 -- dryrun: VMX_PATH: /vmfs/volumes/himalaya-local-SAS.Constellation/vMA-2/vMA-2.vmx
2009-11-12 06:33:01 -- dryrun: VMX_DIR: /vmfs/volumes/himalaya-local-SAS.Constellation/vMA-2
2009-11-12 06:33:01 -- dryrun: VMX_CONF: vMA-2/vMA-2.vmx
2009-11-12 06:33:01 -- dryrun: VMFS_VOLUME: himalaya-local-SAS.Constellation
2009-11-12 06:33:01 -- dryrun: VMDK(s):
2009-11-12 06:33:02 -- dryrun:  vMA-2.vmdk
2009-11-12 06:33:02 -- dryrun: ###############################################

2009-11-12 06:33:02 -- info: ============================== ghettoVCB LOG END ================================

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Enable compression for backups:&lt;/h1&gt;
&lt;br /&gt;
To make use of this feature, modify the variable &lt;b&gt;ENABLE_COMPRESSION&lt;/b&gt; from 0 to 1. Please note, do not mix  uncompressed backups with compressed backups. Ensure that directories selected for backups do not contain any backups with previous versions of ghettoVCB before enabling and implementing the compressed backups feature.&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Restore backups (ghettoVCB-restore.sh):&lt;/h1&gt;
&lt;br /&gt;
To recover a VM that has been processed by ghettoVCB, please take a look at this document: &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10595"&gt;Ghetto Tech Preview - ghettoVCB-restore.sh - Restoring VM's backed up from ghettoVCB to ESX(i) 3.5 and 4.0+&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;Cronjob FAQ:&lt;/h1&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/"&gt;Please take a moment to read over what is a cronjob and how to set one up, before continuing&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The task of configuring cronjobs on classic ESX servers (with Service Console) is no different than traditional cronjobs on *nix operating systems (this procedure is outlined in the link above). With ESXi on the other hand, additional factors need to be taken into account when setting up cronjobs in the limited shell console called Busybox because changes made do not persist through a system reboot. The following document will outline steps to ensure that cronjob configurations are saved and present upon a reboot. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task&lt;/b&gt;: Configure ghettoVCB.sh to execute a backup five days a week (M-F) at 12AM (midnight) everyday and send output to a unique log file&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Configure on ESX:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
1. As root, you'll install your cronjob by issuing:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# crontab -e
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Append the following entry:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;0 0 * * 1-5 /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/ghettoVCB.sh /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/backuplist &amp;gt; /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/ghettoVCB-backup-$(date +\%s).log
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
3. Save and exit&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya dlgCore-NFS-bigboi.VM-Backups]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
4. List out and verify the cronjob that was just created:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya dlgCore-NFS-bigboi.VM-Backups]# crontab -l
0 0 * * 1-5 /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/ghettoVCB.sh /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/backuplist &amp;gt; /vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/ghettoVCB-backup-$(date +\%s).log
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
You're ready to go!&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Configure on ESXi:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
1. Setup the cronjob by appending the following line to &lt;u&gt;/var/spool/cron/crontabs/root&lt;/u&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;0 0 * * 1-5 /vmfs/volumes/simplejack-local-storage/ghettoVCB.sh /vmfs/volumes/simplejack-local-storage/backuplist &amp;gt; /vmfs/volumes/simplejack-local-storage/ghettoVCB-backup-$(date +\%s).log
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Kill the current crond (cron daemon) and then restart the crond for the changes to take affect:&lt;br /&gt;
&lt;br /&gt;
On ESXi &amp;lt; 3.5u3&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;/bin/kill `ps | grep crond | cut -f 1 -d ' '`
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
On ESXi 3.5u3+&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;~ # kill $(pidof crond)
~ # crond
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
On ESXi 4.0&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;~ # kill $(cat /var/run/crond.pid)
~ # busybox crond
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
3. Now that the cronjob is ready to go, you need to ensure that this cronjob will persist through a reboot. You'll need to add the following two lines to &lt;b&gt;/etc/rc.local&lt;/b&gt; (ensure that the cron entry matches what was defined above)&lt;br /&gt;
&lt;br /&gt;
On ESXi 3.5&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;/bin/kill $(pidof crond)
/bin/echo &amp;quot;0 0 * * 1-5 /vmfs/volumes/simplejack-local-storage/ghettoVCB.sh /vmfs/volumes/simplejack-local-storage/backuplist &amp;gt; /vmfs/volumes/simplejack-local-storage/ghettoVCB-backup-\$(date +\\%s).log&amp;quot; &amp;gt;&amp;gt; /var/spool/cron/crontabs/root
crond
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
On ESXi 4.0&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;/bin/kill $(cat /var/run/crond.pid)
/bin/echo &amp;quot;0 0 * * 1-5 /vmfs/volumes/simplejack-local-storage/ghettoVCB.sh /vmfs/volumes/simplejack-local-storage/backuplist &amp;gt; /vmfs/volumes/simplejack-local-storage/ghettoVCB-backup-\$(date +\\%s).log&amp;quot; &amp;gt;&amp;gt; /var/spool/cron/crontabs/root
/bin/busybox crond
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards the file should look like the following: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;~ # cat /etc/rc.local
#! /bin/ash
export PATH=/sbin:/bin

log() {
   echo &amp;quot;$1&amp;quot;
   logger init &amp;quot;$1&amp;quot;
}

#execute all service retgistered in /etc/rc.local.d
if [http:// -d /etc/rc.local.d |http:// -d /etc/rc.local.d ]; then
   for filename in `find /etc/rc.local.d/ | sort`
      do
         if [ -f $filename ] &amp;#38;&amp;#38; [ -x $filename ]; then
            log &amp;quot;running $filename&amp;quot;
            $filename
         fi
      done
fi

/bin/kill $(cat /var/run/crond.pid)
/bin/echo &amp;quot;0 0 * * 1-5 /vmfs/volumes/simplejack-local-storage/ghettoVCB.sh /vmfs/volumes/simplejack-local-storage/backuplist &amp;gt; /vmfs/volumes/simplejack-local-storage/ghettoVCB-backup-\$(date +\\%s).log&amp;quot; &amp;gt;&amp;gt; /var/spool/cron/crontabs/root
/bin/busybox crond

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
This will ensure that the cronjob is re-created upon a reboot of the system through a startup script&lt;br /&gt;
&lt;br /&gt;
2. To ensure that this is saved in the ESXi configuration, we need to manually initiate an ESXi backup by running:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;~ # /sbin/auto-backup.sh
config implicitly loaded
local.tgz
etc/vmware/vmkiscsid/vmkiscsid.db
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/opt/vmware/vpxa/vpxa.cfg
etc/opt/vmware/vpxa/dasConfig.xml
etc/sysconfig/network
etc/vmware/hostd/authorization.xml
etc/vmware/hostd/hostsvc.xml
etc/vmware/hostd/pools.xml
etc/vmware/hostd/vmAutoStart.xml
etc/vmware/hostd/vmInventory.xml
etc/vmware/hostd/proxy.xml
etc/vmware/ssl/rui.crt
etc/vmware/ssl/rui.key
etc/vmware/vmkiscsid/initiatorname.iscsi
etc/vmware/vmkiscsid/iscsid.conf
etc/vmware/vmware.lic
etc/vmware/config
etc/vmware/dvsdata.db
etc/vmware/esx.conf
etc/vmware/license.cfg
etc/vmware/locker.conf
etc/vmware/snmp.xml
etc/group
etc/hosts
etc/inetd.conf
etc/rc.local
etc/chkconfig.db
etc/ntp.conf
etc/passwd
etc/random-seed
etc/resolv.conf
etc/shadow
etc/sfcb/repository/root/interop/cim_indicationfilter.idx
etc/sfcb/repository/root/interop/cim_indicationhandlercimxml.idx
etc/sfcb/repository/root/interop/cim_listenerdestinationcimxml.idx
etc/sfcb/repository/root/interop/cim_indicationsubscription.idx
Binary files /etc/vmware/dvsdata.db and /tmp/auto-backup.31345.dir/etc/vmware/dvsdata.db differ
config implicitly loaded
Saving current state in /bootbank
Clock updated.
Time: 20:40:36   Date: 08/14/2009   UTC

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Now you're really done!&lt;br /&gt;
&lt;p /&gt;
If you're still having trouble getting the cronjob to work, ensure that you've specified the correct parameters and there aren’t any typos in any part of the syntax. &lt;br /&gt;
&lt;br /&gt;
Ensure crond (cron daemon) is running:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ESX:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya dlgCore-NFS-bigboi.VM-Backups]# ps -ef | grep crond | grep -v grep
root      2625     1  0 Aug13 ?        00:00:00 crond
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ESXi:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;~ # ps | grep crond | grep -v grep
5196 5196 busybox              crond
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that the date/time on your ESX(i) host is setup correctly:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ESX(i):&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya dlgCore-NFS-bigboi.VM-Backups]# date
Fri Aug 14 23:44:47 PDT 2009
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;span style="color:red"&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/span&gt; Careful attention must be noted if more than one backup is performed per day. Backup windows should be staggered to avoid contention or saturation of resources during these periods.&lt;hr /&gt;
&lt;br /&gt;
&lt;h1&gt;FAQ:&lt;/h1&gt;
&lt;br /&gt;
&lt;b&gt;1Q:&lt;/b&gt; I'm getting error X when using the script or I'm not getting any errors, the backup didn’t even take place. Oh what could be wrong? &lt;br /&gt;
&lt;b&gt;1A:&lt;/b&gt; Please provide the entire output of a manual execution (debug &amp;#38; dryrun mode) or if you're logging the output withing \{code\} tags, a short description of your environment and the type of VM(s) you're trying to backup—I will try to provide some assistance.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2Q:&lt;/b&gt; I've sent you private message or email but I haven't received a response? What gives?&lt;br /&gt;
&lt;b&gt;2A:&lt;/b&gt; I do not accept issues/bugs reported via PM or email, I will reply back, directing you to post on the appropriate VMTN forum (that's what it's for). If the data/results you're providing is truely senstive to your environment I will hear you out, but 99.99% it is not, so please do not messsage/email me directly. I do monitor all forums that contain my script including the normal VMTN forums and will try to get back to your question as soon as I can and as time permits. Please do be patient as you're not the only person using the script (100,000+ views), thank you.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3Q:&lt;/b&gt; Can I schedule backups to take place hourly, daily, monthly, yearly?&lt;br /&gt;
&lt;b&gt;3A:&lt;/b&gt; Yes, do a search online for &lt;b&gt;crontab&lt;/b&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4Q:&lt;/b&gt; I would like to setup cronjob for ESX(i) 3.5 or 4.0?&lt;br /&gt;
&lt;b&gt;4A:&lt;/b&gt; Take a look at the Cronjob FAQ section in this document. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5Q:&lt;/b&gt; I want to schedule my backup on Windows, how do I do this?&lt;br /&gt;
&lt;b&gt;5A:&lt;/b&gt; Do a search for &lt;b&gt;plink&lt;/b&gt;. Make sure you have paired SSH keys setup between your Windows system and ESX/ESXi host.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6Q:&lt;/b&gt; I only have a single ESXi host. I want to take backups and store them somewhere else. The problem is: I don't have NFS, iSCSI nor FC SAN. What can I do?&lt;br /&gt;
&lt;b&gt;6A:&lt;/b&gt; You can use local storage to store your backups assuming that you have enough space on the destination datastore.  Afterwards, you can use scp (WinSCP/FastSCP) to transfer the backups from the ESXi host to your local desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7Q:&lt;/b&gt; I’m pissed; the backup is taking too long. My datastore is of type X?&lt;br /&gt;
&lt;b&gt;7A:&lt;/b&gt; YMMV, take a look at your storage configuration and make sure it is optimized.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8Q:&lt;/b&gt; I noticed that the backup rotation is occurring after a backup. I don't have enough local storage space, can the process be changed?&lt;br /&gt;
&lt;b&gt;8A:&lt;/b&gt; This is primarily done to ensure that you have at least one good backup in case the new backup fails. If you would like to modify the script, you're more than welcome to do so. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9Q:&lt;/b&gt; What is the best storage configuration for datastore type X?&lt;br /&gt;
&lt;b&gt;9A:&lt;/b&gt; Search the VMTN forums; there are various configurations for the different type of storage/etc.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10Q:&lt;/b&gt; I want to setup an NFS server to run my backups. Which is the best and should it be virtual or physical?  &lt;br /&gt;
&lt;b&gt;10A:&lt;/b&gt; Please refer to answer 7A. From experience, we’ve seen physical instances of NFS servers to be faster than their virtual counterparts.  As always, YMMV. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;11Q:&lt;/b&gt; I have VMs that have snapshots. I want to back these things up but the script doesn’t let me do it. How do I fix that?&lt;br /&gt;
&lt;b&gt;11A:&lt;/b&gt; VM snapshots are not meant to be kept for long durations. When backing up a VM that contains a snapshot, you should ensure all snapshots have been committed prior to running a backup. No exceptions will be made…ever.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;12Q:&lt;/b&gt; I would like to restore from backup, what is the best method?&lt;br /&gt;
&lt;b&gt;12A:&lt;/b&gt; The restore process will be unique for each environment and should be determined by your backup/recovery plans. At a high level you have the option of mounting the backup datastore and registering the VM in question or copy the VM from the backup datastore to the ESX/ESXi host. The latter is recommended so that you're not running a VM living on the backup datastore or inadvertently modifying your backup VM(s).  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;13Q:&lt;/b&gt; When I try to run the script I get: &lt;b&gt;"-bash: ./ghettoVCB.sh: Permission denied"&lt;/b&gt;, what is wrong?&lt;br /&gt;
&lt;b&gt;13A:&lt;/b&gt; You need to change the permission on the script to be executable, chmod +x ghettoVCB.sh&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;14Q:&lt;/b&gt; Where can I download the latest version of the script?&lt;br /&gt;
&lt;b&gt;14A:&lt;/b&gt; The latest version is available on this page at the bottom.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;15Q:&lt;/b&gt; I would like to suggest/recommend feature X, can I get it?  When can I get it? Why isn't it here, what gives?  &lt;br /&gt;
&lt;b&gt;15A:&lt;/b&gt; The general purpose of this script is to provide a backup solution around VMware VMs. Any additional features outside of that process will be taken into consideration depending on the amount of time, number of requests and actual usefulness as a whole to the community rather than to an individual.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;16Q:&lt;/b&gt; What are the different type of backup uses cases that are supported with ghettoVCB? &lt;br /&gt;
&lt;b&gt;16A:&lt;/b&gt; 1) Live backup of VM with the use of a snapshot and 2) Offline backup of a VM without a snapshot. These are the only two use cases supported by the script.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Useful Links:&lt;/h2&gt;
&lt;br /&gt;
Detail instructions on how to configure/schedule ghettoVCB on Windows (&lt;a class="jive-link-external" href="http://blog.theworldrunsontechnology.com/"&gt;Raj Perumal's The World Runs on Technology Blog&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://blog.theworldrunsontechnology.com/2009/04/backing-up-your-virtual-machines-in.html"&gt;Part 1&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://blog.theworldrunsontechnology.com/2009/04/creating-virtual-machine-backups-in.html"&gt;Part 2&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://blog.theworldrunsontechnology.com/2009/04/how-to-schedule-ghettovcb-backup-job-or.html"&gt;Part 3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Change log:&lt;/h2&gt;
&lt;p /&gt;
11/17/09 - The following enhancements and fixes have been implemented in this release of ghettoVCB. Special thanks goes out to all the ghettoVCB BETA testers for providing time and their environments to test features/fixes of the new script!&lt;br /&gt;
&lt;br /&gt;
Enhancements:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Individual VM backup policy&lt;/li&gt;
&lt;li&gt;Include/exclude specific VMDK(s)&lt;/li&gt;
&lt;li&gt;Logging to file&lt;/li&gt;
&lt;li&gt;Timeout variables&lt;/li&gt;
&lt;li&gt;Configur snapshot memory/quiesce&lt;/li&gt;
&lt;li&gt;Adapter format&lt;/li&gt;
&lt;li&gt;Additional logging + dryrun mode&lt;/li&gt;
&lt;li&gt;Support for both physical/virtual RDMs&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
Fixes:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Independent disk aware&lt;/li&gt;
&lt;/ul&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmkfstools</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">snapshot</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi.40</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi4</category>
      <pubDate>Tue, 18 Nov 2008 03:04:10 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-8760</guid>
      <dc:date>2008-11-18T03:04:10Z</dc:date>
      <clearspace:dateToText>1 week, 16 hours ago</clearspace:dateToText>
      <clearspace:replyCount>518</clearspace:replyCount>
    </item>
    <item>
      <title>vGhetto Script Repository</title>
      <link>http://communities.vmware.com/docs/DOC-9852</link>
      <description>Here is a nice consolidation of all the scripts we've written for easier access and also check out our site at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
We'll be updating this page as new scripts are released and if there are any script/tool(s) that might be of use to the general community that does &lt;u&gt;not&lt;/u&gt; already exists, please post in this thread and I'll take a look as time permits. &lt;br /&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Creation Date&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Script Name&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Category&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Supported Platform&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Executed on&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11/11/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-11221"&gt;configureAdvHAClusterOptions.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Cluster Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11/10/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-11213"&gt;vmdkManagement.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11/02/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-11135"&gt;findVMsWithRDMs.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/28/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-11054"&gt;listHAClusterNodes.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/26/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-11003"&gt;vmISOManagement.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/26/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-11000"&gt;upgradeVMVirtualHardware.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/21/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10974"&gt;rdmManagmement.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/14/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10878"&gt;Getting Started with the vMA (tips/tricks)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;vMA/VIMA&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/11/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10885"&gt;getVMDiskInfo.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/08/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10883"&gt;useVIFastpassOnvMAToRunPerlScriptWithoutClearTextPassword.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/07/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10866"&gt;setUserDatastorePermission.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/03/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10847"&gt;pluginExtensionManager.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Plugin Managment&lt;/td&gt;
&lt;td&gt;vSphere SDK for Perl&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10/02/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10837"&gt;Getting Started with the vSphere SDK for Perl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;vSphere SDK for Perl&lt;/td&gt;
&lt;td&gt;vSphere SDK for Perl&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/28/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10779"&gt;addVMAnnotation.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/26/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10777"&gt;getVMThinProvisionedSavings.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/25/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10809"&gt;generateVMRemoteConsoleURL.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/24/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10807"&gt;getVMsPerDatastore.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/23/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10805"&gt;listVMsInResourcePool.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/21/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10773"&gt;queryVMsCreated.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/21/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10788"&gt;listDatastoreFiles.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/14/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10761"&gt;getAllVMsDiskFormatType.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/12/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10730"&gt;executeCommandUsingFastPass.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/10/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10706"&gt;getDatastoreUUID.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/09/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10698"&gt;Instructions on how to install vCLI 32bit/64bit on Ubuntu 9.04&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host/VM Management&lt;/td&gt;
&lt;td&gt;Ubuntu 9.04&lt;/td&gt;
&lt;td&gt;Ubuntu 9.04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/09/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10687"&gt;getWWPN.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/30/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10637"&gt;getVMsResourcePools.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/28/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10651"&gt;factoryResetESXi\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/23/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10595"&gt;ghettoVCB-restore.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Backup/Recovery&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 and 4.0+&lt;/td&gt;
&lt;td&gt;ESX Service Console and/or ESXi Busybox Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/19/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10571"&gt;renameLocalStorageDatastore.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/18/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-message" href="http://communities.vmware.com/message/1341108#1341108"&gt;removeHostFromvCenterByForce.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/18/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10556"&gt;getNumofvCPUInCluster.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/18/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10555"&gt;addvSwitchWSecurityPolicy.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/17/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-message" href="http://communities.vmware.com/message/1339808#1339808"&gt;verifyVpxaAndHostConf.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 &amp;#38; 4.0&lt;/td&gt;
&lt;td&gt;ESX Service Console and/or ESXi Busybox Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/16/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10563"&gt;getVMToolsStatus.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/14/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10552"&gt;getVMonShareableAndNonSharDatastore.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/13/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10551"&gt;addVMAdvParamOption\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/13/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10550"&gt;addVMCustomField\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/08/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10497"&gt;takeVMScreenshot.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 4.x&lt;/td&gt;
&lt;td&gt;vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/09/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10493"&gt;online_hotplug_cpu.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Linux guestOS Management&lt;/td&gt;
&lt;td&gt;Linux Supported guestOS&lt;/td&gt;
&lt;td&gt;Linux Supported guestOS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/09/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10492"&gt;online_hotplug_memory.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;vMA and Linux guestOS Managment&lt;/td&gt;
&lt;td&gt;vMA 4.0 or Linux supported guestOS&lt;/td&gt;
&lt;td&gt;vMA 4.0 or Linux supported guestOS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/08/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10501"&gt;How to increase/resize vMA Disks&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;vMA/VIMA management&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/08/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10500"&gt;getAllVMGuestHostname.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08/07/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10490"&gt;getAllVMMacs.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07/31/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10439"&gt;whichClusterIsMyVMin.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07/01/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10269"&gt;poweroff_suspend_vm.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Managerment&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/30/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10279"&gt;ftCLI.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Managerment&lt;/td&gt;
&lt;td&gt;ESX(i) 4.x and vCenter 4.0&lt;/td&gt;
&lt;td&gt;VMware vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/26/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10282"&gt;queryDeletedVMs.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/18/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10220"&gt;queryVMCustomField.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/17/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10189"&gt;getVMDiskCID.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/17/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10187"&gt;rescanAllHBAInCluster.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/14/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10190"&gt;removeOrphansFromvCenter.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/06/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10112"&gt;updateVMPortgroup.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;05/29/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10059"&gt;listVMByFolder.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;05/28/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10058"&gt;getAllPowedOffVMs.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/13/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10173"&gt;queryDiskParition.pl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 + 4.x&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02/21/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9843"&gt;ghettoVCBg2\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Backup/Recovery&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5u2+ &amp;#38; 4.x+&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0 &amp;#38; vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;05/12/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://engr.ucsb.edu/~duonglt/vmware/checkLicenseServer.pl"&gt;checkLicenseServer.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Host Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+ &amp;#38; vCenter 2.5+&lt;/td&gt;
&lt;td&gt;VI Perl Toolkit &amp;#38; VMware VIMA 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;03/16/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/vGhettoLinkedClone.html"&gt;vGhettoLinkedClone.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 4.x+ &amp;#38; vCenter 4.x+&lt;/td&gt;
&lt;td&gt;vSphere SDK for Perl 4.0 &amp;#38; VMware vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;03/05/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/cdp.pl"&gt;cdp.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Reporting/VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+ &amp;#38; vCenter 2.5+&lt;/td&gt;
&lt;td&gt;VI Perl Toolkit &amp;#38; VMware VIMA 1.0/vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02/14/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9842"&gt;vmwarevSphereHealthCheck.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Reporting/VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 4.x+ &amp;#38; vCenter 4.x+&lt;/td&gt;
&lt;td&gt;vSphere SDK for Perl 4.0 &amp;#38; VMware vMA 4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02/13/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9531"&gt;ghettoShutdown.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5u2+&lt;/td&gt;
&lt;td&gt;VMware VIMA 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;01/26/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9420"&gt;vmwareHealthCheck.pl\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Reporting/VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+ &amp;#38; vCenter 2.5+&lt;/td&gt;
&lt;td&gt;VI Perl Toolkit &amp;#38; VMware VIMA 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;01/13/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9400"&gt;ghettoQuickMigrate.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5u2+&lt;/td&gt;
&lt;td&gt;VI Perl Toolkit &amp;#38; VMware VIMA 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;01/05/09&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9321"&gt;ghettoClone.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5u2+&lt;/td&gt;
&lt;td&gt;VI Perl Toolkit &amp;#38; VMware VIMA 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11/03/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://www.engr.ucsb.edu/~duonglt/vmware/rdm.sh"&gt;rdm.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+&lt;/td&gt;
&lt;td&gt;ESX Service Console and/or ESXi Busybox Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11/17/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Backup/Recovery&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5 and 4.0+&lt;/td&gt;
&lt;td&gt;ESX Service Console and/or ESXi Busybox Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/30/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9202"&gt;ghetto-esxi-linked-clones.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESXi 3.5+&lt;/td&gt;
&lt;td&gt;ESXi Busybox Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/20/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://www.engr.ucsb.edu/~duonglt/vmware/npiv_wwn_discovery-esx.sh"&gt;npiv_wwn_discovery-esx.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+&lt;/td&gt;
&lt;td&gt;ESX Service Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09/20/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://www.engr.ucsb.edu/~duonglt/vmware/npiv_wwn_discovery-esxi.sh"&gt;npiv_wwn_discovery-esxi.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+&lt;/td&gt;
&lt;td&gt;ESXi Busybox Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07/05/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9061"&gt;my-vmware-cmd.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Management&lt;/td&gt;
&lt;td&gt;ESX(i) 3.5+&lt;/td&gt;
&lt;td&gt;ESX Service Console/ESXi Busybox Console/VMware VIMA/UNIX or Linux Console&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06/26/08&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9020"&gt;ghetto-esx-linked-clones.sh\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VM Deployment/Management&lt;/td&gt;
&lt;td&gt;ESX 3.x+&lt;/td&gt;
&lt;td&gt;ESX Service Console&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
FYI - "&lt;b&gt;v&lt;/b&gt;" in vGhetto is not vSphere ... it's &lt;b&gt;&lt;u&gt;very&lt;/u&gt;&lt;/b&gt; &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";)" /&gt; &lt;br /&gt;
&lt;br /&gt;
Hope you guys/gals enjoy&lt;br /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9852"&gt;vGhetto Script Repository&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/developer/codecentral" title="Sample Code for VMware vSphere SDKs and APIs"&gt;VMware Code Central - Scripts/Sample code for Developers and Administrators&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">william_lam</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">tuan_duong</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">lamw</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">tlduong</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vghetto</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">scripts</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ghetto</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">health_check</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmware_health_check</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vsphere_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtual_center</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcenter</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4i</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <pubDate>Fri, 24 Apr 2009 17:17:22 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9852</guid>
      <dc:date>2009-04-24T17:17:22Z</dc:date>
      <clearspace:dateToText>1 week, 21 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>vmdkManagement.pl</title>
      <link>http://communities.vmware.com/docs/DOC-11213</link>
      <description>This script allows a user to add, remove and destroy existing VMDK for a given VM. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0 or vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Operations&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Add&lt;/li&gt;
&lt;li&gt;Remove&lt;/li&gt;
&lt;li&gt;Destroy&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Add Operation&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./vmdkManagement.pl --server reflex.primp-industries.com --operation add --vmdkname vMA-2_1.vmdk --vmname vMA-2 --datastore himalaya-local-SAS.Constellation

Reconfiguring &amp;quot;vMA-2&amp;quot; to add VMDK: &amp;quot;[http://himalaya-local-SAS.Constellation|http://himalaya-local-SAS.Constellation] vMA-2/vMA-2_1.vmdk&amp;quot; ...
Sucessfully added VMDK to &amp;quot;vMA-2&amp;quot;!

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Remove Operation&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./vmdkManagement.pl --server reflex.primp-industries.com --operation remove --vmdkname vMA-2_1.vmdk --vmname vMA-2

Reconfiguring &amp;quot;vMA-2&amp;quot; to remove VMDK: &amp;quot;vMA-2_1.vmdk&amp;quot; ...
Sucessfully removed VMDK to &amp;quot;vMA-2&amp;quot;!

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Destroy Operation&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]]$ ./vmdkManagement.pl --server reflex.primp-industries.com --operation destroy --vmdkname vMA-2_1.vmdk --vmname vMA-2

Reconfiguring &amp;quot;vMA-2&amp;quot; to destroy VMDK: &amp;quot;vMA-2_1.vmdk&amp;quot; ...
Sucessfully destroyed VMDK to &amp;quot;vMA-2&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">delete_vmdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">remove_vmdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">add_disk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">add_vmdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Wed, 11 Nov 2009 04:48:47 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-11213</guid>
      <dc:date>2009-11-11T04:48:47Z</dc:date>
      <clearspace:dateToText>1 week, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>9</clearspace:replyCount>
    </item>
    <item>
      <title>configureAdvHAClusterOptions.pl</title>
      <link>http://communities.vmware.com/docs/DOC-11221</link>
      <description>This scripts allows you to configure advanced HA Cluster options such as some of the ones described on Duncan's &lt;a class="jive-link-external" href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/"&gt;HA Deep Dive page&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The script accepts the name of a HA Cluster and a file that contains the advanced keys and values that you would like to update/overwrite. Make sure the format of each line is the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
key="value"&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Here is a sample file containing 2 advanced options to configure:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ]$ cat ha_configs

das.allownetwork0=&amp;quot;Service Console&amp;quot;
das.failuredetectiontime=&amp;quot;20000&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Here is the actual execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ]$ ./configureAdvHAClusterOptions.pl --server reflex.primp-industries.com --cluster PRIMP-PROD --file ha_configs

Reconfiguring cluster: &amp;quot;PRIMP-PROD&amp;quot; with the following HA advanced configurations ...
        das.failuredetectiontime =&amp;gt; 20000
        das.allownetwork0 =&amp;gt; Service Console

Successfully added advanced HA configurations to cluster: &amp;quot;PRIMP-PROD&amp;quot;

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">ha_adv_options</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ha_advanced_options</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">advanced_options</category>
      <pubDate>Wed, 11 Nov 2009 20:44:10 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-11221</guid>
      <dc:date>2009-11-11T20:44:10Z</dc:date>
      <clearspace:dateToText>1 week, 6 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>Which version of 'fuse/libfuse' will work with VMware vMA 4.0 &amp;#38; VDDK 1.1 ?</title>
      <link>http://communities.vmware.com/message/1409869</link>
      <description>Hi,&lt;br /&gt;
&lt;br /&gt;
I have the same issue. I am working on linux suse 10 SP 1.&lt;br /&gt;
&lt;br /&gt;
I have installed fuse version 2.8.1 (and the 2.7.4 just to try).&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;sles10SP164bit:~ # /etc/init.d/fuse status
Checking fuse filesystem ok.
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If I try to start vmware-mount I have this message:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;sles10SP164bit:~ # vmware-mount -h 10.1.1.38 -u adm &amp;quot;[cbst03_lun_F] VM_for_backup/VM_for_backup.vmdk&amp;quot; /mnt/disk/
Failed to mount disk '[cbst03_lun_F] VM_for_backup/VM_for_backup.vmdk': The VMware fuse daemon failed to start

sles10SP164bit:~ # vmware-mount -h 10.1.1.38 -u adm &amp;quot;[cbst03_lun_F] VM_for_backup/VM_for_backup.vmdk&amp;quot; /mnt/disk/
Failed to mount disk '[cbst03_lun_F] VM_for_backup/VM_for_backup.vmdk': A system call has failed
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Any ideas?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
Mario</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">libfuse</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">fuse</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vddk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <pubDate>Thu, 05 Nov 2009 15:55:52 GMT</pubDate>
      <author>Tashi</author>
      <guid>http://communities.vmware.com/message/1409869</guid>
      <dc:date>2009-11-05T15:55:52Z</dc:date>
      <clearspace:dateToText>2 weeks, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>10</clearspace:replyCount>
    </item>
    <item>
      <title>findVMsWithRDMs.pl</title>
      <link>http://communities.vmware.com/docs/DOC-11135</link>
      <description>This script locates VMs with RDMs (Virtual and Physical) and provides a list of the VM name, device name, filename and compatibility mode. The script can be pointed to either an individual ESX(i) or vCenter server.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0 or vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or VI Perl Toolkit or vMA 4.0 or VIMA 1.0&lt;br /&gt;
VMs w/RDMs&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Executing against a vCenter server:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./findVMsWithRDMs.pl --server ucsb-resnet-vcenter --username primp
Enter password:

iscsiBridge.12162008
        DeviceName: vmhba1:0:211:0
        FileName: [http://dlgCore-FC-LUN203.VMstorage3|http://dlgCore-FC-LUN203.VMstorage3] iscsiBridge.12162008/iscsiBridge.12162008_2.vmdk
        CompatMode: physicalMode

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">rdm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">find_rdm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">physical_rdm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtual_rdm</category>
      <pubDate>Tue, 03 Nov 2009 05:56:04 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-11135</guid>
      <dc:date>2009-11-03T05:56:04Z</dc:date>
      <clearspace:dateToText>3 weeks, 18 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>getVMDiskInfo.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10885</link>
      <description>This scripts functions similar to that of PowerCLI equivalent at: &lt;a class="jive-link-external" href="http://ict-freak.nl/2009/10/11/powercli-virtual-machine-disk-vmdk-info-v2-analyze-data-with-excel/"&gt;http://ict-freak.nl/2009/10/11/powercli-virtual-machine-disk-vmdk-info-v2-analyze-data-with-excel/&lt;/a&gt; which extracts all VMDK(s) for a given VM and displays the full VMDK path, whether or not the disk was thin provisioned or not and disk mode. There is an additional argument that can be passed on the commandline which will filter &lt;u&gt;only&lt;/u&gt; thin provisioned VM(s) and the script can be executed against ESX(i) or vCenter system.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:blue"&gt;Update:&lt;/b&gt; Added Disk backing version info as found &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.device.VirtualDevice.FileBackingInfo.html"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5/4.0&lt;br /&gt;
vCenter 2.5/4.0&lt;br /&gt;
vSphere SDK for Perl or vMA&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Display all VM(s):&lt;br /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10885-2-7278/show_all.png" alt="show_all.png" width="620" class="jive-image-thumbnail jive-image" onclick="myJiveImage.start(this, 'http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10885-2-7278/show_all.png');return false;"/&gt; &lt;br /&gt;
&lt;br /&gt;
Display all VM(s) with thin provisioned disks only:&lt;br /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10885-2-7282/show_thin.png" alt="show_thin.png" width="620" class="jive-image-thumbnail jive-image" onclick="myJiveImage.start(this, 'http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10885-2-7282/show_thin.png');return false;"/&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin_provisioned</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin_provisioning</category>
      <pubDate>Mon, 12 Oct 2009 04:10:35 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10885</guid>
      <dc:date>2009-10-12T04:10:35Z</dc:date>
      <clearspace:dateToText>3 weeks, 4 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>listHAClusterNodes.pl</title>
      <link>http://communities.vmware.com/docs/DOC-11054</link>
      <description>Motivated by &lt;a class="jive-link-profile" href="http://communities.vmware.com/people/c_shanklin"&gt;c_shanklin&lt;/a&gt; twitter message about &lt;a class="jive-link-external" href="http://www.hypervisor.fr/?p=1320"&gt;http://www.hypervisor.fr/?p=1320&lt;/a&gt; this morning about listing primary HA nodes within vCenter cluster using PowerCLI, I thought I provide an equivalent snippet of vSphere SDK for Perl script. In additional to listing the primary nodes, I'm also outputting the configuration and run state of each node in the cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Unfortunately, the vSphere API does not provide information about the secondary nodes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Operations:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Specific cluster (user --cluster)&lt;/li&gt;
&lt;li&gt;All cluster (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Specific cluster:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./listHAClusterNodes.pl --server reflex.primp-industries.com --cluster 'R&amp;#38;D'
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-11054-2-7410/Picture+1.png" alt="Picture 1.png" width="620" class="jive-image-thumbnail jive-image" onclick="myJiveImage.start(this, 'http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-11054-2-7410/Picture+1.png');return false;"/&gt; &lt;br /&gt;
&lt;br /&gt;
All cluster:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./listHAClusterNodes.pl --server reflex.primp-industries.com
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-11054-2-7444/Picture+2.png" alt="Picture 2.png" width="620" class="jive-image-thumbnail jive-image" onclick="myJiveImage.start(this, 'http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-11054-2-7444/Picture+2.png');return false;"/&gt; &lt;br /&gt;
&lt;br /&gt;
Your output should be much more defined ... my development environment is under construction still &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";)" /&gt; hence the uninitialized and error messages</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">ha_cluster_node</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ha_node</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">primary_node</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ha</category>
      <pubDate>Wed, 28 Oct 2009 17:34:42 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-11054</guid>
      <dc:date>2009-10-28T17:34:42Z</dc:date>
      <clearspace:dateToText>3 weeks, 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>vmISOManagement.pl</title>
      <link>http://communities.vmware.com/docs/DOC-11003</link>
      <description>This script allows you to &lt;b&gt;mount&lt;/b&gt; and &lt;b&gt;unmount&lt;/b&gt; ISO's that are visible to your ESX(i) servers to a particular VM. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 4.0 or vCenter 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
VM(s) that have a valid cdrom device&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Operations:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;queryiso&lt;/li&gt;
&lt;li&gt;mount&lt;/li&gt;
&lt;li&gt;umount&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;queryiso&lt;/b&gt; operation allows you to search an ESX(i) host that the VM you're trying to perform the operation to locate valid ISO's and provide the user with the necessary input information to &lt;b&gt;mount&lt;/b&gt; operation.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~][http://reflex.primp-industries.com|http://reflex.primp-industries.com]$ ./vmISOManagement.pl --server reflex.primp-industries.com --vmname VCAP --operation queryiso

Datatstore Name &amp;#38; ISO Path:
-----------------------------------------------------------------
\[dlgCore-NFS-bigboi.VM-Backups\] archlinux-2009.02-core-i686.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/ubuntu-9.04-server-i386.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/client-10.53_sp41183.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/gparted-livecd-0.3.4-11.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/Archlinux-i686-2007.08-2.core.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/echos-SWAK2004.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/win2k3adv.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/esx-kickstart.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/ServerHyper_MUIx2-080912.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/esx-DVD-4.0.0-164009.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/ubuntu-9.04-server-amd64.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/Memtest86_3.5.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/OpenBSD/cdemu39.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/OpenBSD/cd39.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/VMware-ISOs/VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/VMware-ISOs/VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso
\[himalaya-local-SATA.RE4-GP:Storage\] OSISO/VMware-ISOs/VMware-VIMSetup-all-4.0.0-162902.iso

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
This will provide you with both the &lt;b&gt;--datastore&lt;/b&gt; name and the &lt;b&gt;--filename&lt;/b&gt; path to the ISO that is required when using &lt;b&gt;mount&lt;/b&gt; operation.&lt;br /&gt;
&lt;br /&gt;
Let's say we want to mount &lt;b&gt;[himalaya-local-SATA.RE4-GP:Storage] OSISO/VMware-ISOs/VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso&lt;/b&gt; to a VM called &lt;u&gt;VCAP&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~][http://reflex.primp-industries.com|http://reflex.primp-industries.com]$ ./vmISOManagement.pl --server reflex.primp-industries.com --vmname VCAP --operation mount --datastore himalaya-local-SATA.RE4-GP:Storage --filename OSISO/VMware-ISOs/VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso

Mounting ISO: &amp;quot;[himalaya-local-SATA.RE4-GP:Storage] OSISO/VMware-ISOs/VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso&amp;quot; to VM: &amp;quot;VCAP&amp;quot; ...
        Successfully added mounted ISO to VM!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Let's now unmount the ISO &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~][http://reflex.primp-industries.com|http://reflex.primp-industries.com]$ ./vmISOManagement.pl --server reflex.primp-industries.com --vmname VCAP --operation umount

Umounting ISO from VM: &amp;quot;VCAP&amp;quot; ...
        Successfully unmounted ISO from VM!

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">mounting</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">iso</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">unmounting</category>
      <pubDate>Tue, 27 Oct 2009 18:55:26 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-11003</guid>
      <dc:date>2009-10-27T18:55:26Z</dc:date>
      <clearspace:dateToText>4 weeks, 5 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>upgradeVMVirtualHardware.pl</title>
      <link>http://communities.vmware.com/docs/DOC-11000</link>
      <description>Script to upgrade either a list of VMs to Virtual HW 7 &lt;b&gt;OR&lt;/b&gt; all VMs on either ESX(i) or vCenter system. Prior to upgrading, the script will validate that the VM is poweredOff and the version of Virtual HW is not already configured on the VM. Also ensure that your VMs have the latest version of VMware Tools installed as there are changes to the vNIC when going from HW4 to HW7 which you'll get a question prompted if you don't have tools installed. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 4.0 or vCenter 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
VM(s) running Virtual HW Ver 4 and VMware Tools installed &amp;#38; are poweredOff prior to upgrade&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~][http://reflex.primp-industries.com|http://reflex.primp-industries.com]$ ./upgradeVMVirtualHardware.pl --server reflex.primp-industries.com --upgrade_type list --vmfile upgrade_list --hwversion 7

Upgrading VM: &amp;quot;hw-version-4-vm&amp;quot; Virtual HW from: 4 to 7
        Successfully upgraded Virtual HW for hw-version-4-vm
VM: &amp;quot;hw-version-7-vm&amp;quot; is already running Virtual HW version: 7

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
To upgrade all VMs, use &lt;b&gt;--upgrade_type&lt;/b&gt; all and you don't &lt;b&gt;--vmfile&lt;/b&gt; param</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtual_hardware</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">hw7</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">hw4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">upgrade_hardware</category>
      <pubDate>Mon, 26 Oct 2009 19:16:34 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-11000</guid>
      <dc:date>2009-10-26T19:16:34Z</dc:date>
      <clearspace:dateToText>4 weeks, 1 day ago</clearspace:dateToText>
    </item>
    <item>
      <title>rdmManagmement.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10974</link>
      <description>This scripts allows you to create and add either physical or virtual RDM to a VM and also removing and deleting pRDM/vRDM to a VM. You must connect directly to the ESX(i) host that is housing the VM in which the RDM is to be added. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5/4.0&lt;br /&gt;
vSphere SDK for Perl or vMA&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Querying for available LUNS to be used as an RDM ( &lt;b&gt;operation:&lt;/b&gt; query):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./rdmManagmement.pl --server esx40-1.primp-industries.com --username root --vmname rdmVM --operation query
Enter password:
Device Name: /vmfs/devices/disks/eui.caa68a778fc27982
Capacity: 30.00 GB

Device Name: /vmfs/devices/disks/eui.1f79d354801b3936
Capacity: 1000.00 MB

Device Name: /vmfs/devices/disks/eui.8f713e8e3c0a58d2
Capacity: 1.95 GB

Device Name: /vmfs/devices/disks/eui.c028c79e0ee07daa
Capacity: 28.00 GB

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Let's create an physical RDM using &lt;b&gt;1.95gb&lt;/b&gt; LUN ( &lt;b&gt;operation:&lt;/b&gt; add ):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./rdmManagmement.pl --server esx40-1.primp-industries.com --username root --vmname rdmVM --operation add --device /vmfs/devices/disks/eui.8f713e8e3c0a58d2 --compatmode physical --filename databaseRDM.vmdk
Enter password:
Creating and adding &amp;quot;physicalMode&amp;quot; RDM: &amp;quot;databaseRDM.vmdk&amp;quot; to rdmVM ...
        Successfully added RDM to VM!

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Let's remove and delete the RDM from the VM ( &lt;b&gt;operation:&lt;/b&gt; destroy ):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./rdmManagmement.pl --server esx40-1.primp-industries.com --username root --vmname rdmVM --operation destroy --filename databaseRDM.vmdk
Enter password:
Destroying RDM: &amp;quot;databaseRDM.vmdk&amp;quot; to rdmVM ...
        Successfully destroyed RDM to VM!

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">rdm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">physical_rdm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtual_rdm</category>
      <pubDate>Thu, 22 Oct 2009 03:50:03 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10974</guid>
      <dc:date>2009-10-22T03:50:03Z</dc:date>
      <clearspace:dateToText>1 month, 3 days ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>ghettoVCB.sh / ghettoVCBg2.pl BETA participation</title>
      <link>http://communities.vmware.com/message/1389982</link>
      <description>Hi everyone, &lt;br /&gt;
&lt;br /&gt;
I'm currently in development (as time permits) on some new features for the &lt;b&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9843"&gt;ghettoVCBg2&lt;/a&gt;&lt;/b&gt; script and I'm looking for some individuals that may be interested in taking part in a BETA. The requirement is pretty simple, willing to help test and provide feedback on the next version of the script (remember to test on non-production VMs) &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";)" /&gt;&lt;br /&gt;
&lt;br /&gt;
If you're interested, please PM on VTMN with your email address and the script you would like to take part in and I'll be selecting a group users and send out email notification in the coming weeks. &lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9852"&gt;vGhetto Script Repository&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/private/bitbucket/developer/codecentral" title="Sample code for VMware vSphere SDKs and APIs"&gt;VMware Code Central - Scripts/Sample code for Developers and Administrators&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/private/bitbucket/developer" title="Resources for Administrators and Developers"&gt;VMware Developer Comuunity&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;Twitter: @lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
If you find this information useful, please award points for "correct" or "helpful".</description>
      <pubDate>Thu, 15 Oct 2009 04:26:07 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1389982</guid>
      <dc:date>2009-10-15T04:26:07Z</dc:date>
      <clearspace:dateToText>1 month, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>ghettoVCB.sh / ghettoVCBg2.pl BETA participation</title>
      <link>http://communities.vmware.com/message/1389983</link>
      <description>Hi everyone, &lt;br /&gt;
&lt;br /&gt;
I'm currently in development (as time permits) on some new features for the &lt;b&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9843"&gt;ghettoVCBg2&lt;/a&gt;&lt;/b&gt; script and I'm looking for some individuals that may be interested in taking part in a BETA. The requirement is pretty simple, willing to help test and provide feedback on the next version of the script (remember to test on non-production VMs) &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";)" /&gt;&lt;br /&gt;
&lt;br /&gt;
If you're interested, please PM on VTMN with your email address and the script you would like to take part in and I'll be selecting a group users and send out email notification in the coming weeks. &lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9852"&gt;vGhetto Script Repository&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/private/bitbucket/developer/codecentral" title="Sample code for VMware vSphere SDKs and APIs"&gt;VMware Code Central - Scripts/Sample code for Developers and Administrators&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/private/bitbucket/developer" title="Resources for Administrators and Developers"&gt;VMware Developer Comuunity&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;Twitter: @lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
If you find this information useful, please award points for "correct" or "helpful".</description>
      <pubDate>Thu, 15 Oct 2009 04:26:11 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1389983</guid>
      <dc:date>2009-10-15T04:26:11Z</dc:date>
      <clearspace:dateToText>1 month, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>Getting Started with the vMA (tips/tricks)</title>
      <link>http://communities.vmware.com/docs/DOC-10878</link>
      <description>&lt;b&gt;Author:&lt;/b&gt; William Lam&lt;br /&gt;
&lt;b&gt;Twitter:&lt;/b&gt; &lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;@lamw&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Website:&lt;/b&gt; &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;Getting started with Documentation:&lt;/h1&gt;
&lt;b&gt;Visit the vMA Home Page:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/"&gt;VMware vMA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;vMA Forum:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-community" href="http://communities.vmware.com/community/vmtn/vsphere/automationtools/vima" title="VMware vSphere™ Management Assistant (vMA): Linux Virtual Machine for deploying scripts and select 3rd-party agents"&gt;VMware vSphere&amp;trade; Management Assistant (vMA)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
You will find latest Downloads, Reference Documentation and Community Discussions and links to resources. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Downloads:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/downloads/download.do?downloadGroup=VIMA"&gt;VIMA 1.0 Download&lt;/a&gt; - Supports ESX(i) 3.5u2+&lt;/li&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/download/download.do?downloadGroup=VMA40"&gt;vMA 4.0 Download&lt;/a&gt; - Supports ESX(i) 3.5u2/4.0 and vCenter 2.5/4.0&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;h1&gt;Examples&lt;/h1&gt;
&lt;b&gt;Examples of vMA/VIMA usage:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/#vmware_vima"&gt;http://engineering.ucsb.edu/~duonglt/vmware/#vmware_vima&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h1&gt;Scripts and Tools&lt;/h1&gt;
&lt;b&gt;New tools and scripts to add/manage ESX(i) and vCenter targets on vMA 4.0:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/#vmware_vma"&gt;http://engineering.ucsb.edu/~duonglt/vmware/#vmware_vma&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;vMA Compatible Agent/Scripts(Third Party) Community List:&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10772"&gt;vMA Compatible Agent/Scripts(Third Party) Community List&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Health check reports on your VMware environment:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9842"&gt;VMware vSphere Health Check Report v1.3&lt;/a&gt; - vMA 4.0&lt;/li&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9420"&gt;VMware Health Check Report v0.9.4&lt;/a&gt; - VIMA 1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Taking screenshots of your VM using vMA 4.0:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10497"&gt;takeVMScreenshot.pl using vMA 4.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Host and VM shutdown with UPS integration using vMA:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9531"&gt;ESX/ESXi APC/APCUPSD Host Shutdown VI Perl Toolkit Script (ghettoShutdown.pl/upsVIShutdown.pl)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Backup VMs using vMA:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9843"&gt;ghettoVCBg2 - Free alternative for backing up VMs in ESX(i) 3.5 and 4.x (no SSH console required!)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Utilize vi-fastpass On vMA to run Perl script without clear text password:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-10883"&gt;useVIFastpassOnvMAToRunPerlScriptWithoutClearTextPassword.pl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;h1&gt;Tweaks&lt;/h1&gt;
&lt;b&gt;Hot add memory to vMA or other supported Linux guestOSes using vSphere ESX(i) 4.0:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10492"&gt;Hot add memory to vMA or other supported Linux guestOSes using vSphere ESX(i) 4.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;How to increase/resize vMA Disks:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10501"&gt;How to increase/resize vMA Disks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Offline patching of vMA 4.0:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/233898"&gt;Update vMA without internet access&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;How to install VMware VDDK on vMA:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/212352"&gt;How to install VDDK 1.1 on vMA 4.0 (libfuse.so.2 fix)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Enable root account:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Edit /etc/passwd &lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;sudo vi /etc/passwd
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Change&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;root:x:0:0:root:/root:/sbin/nologin
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;root:x:0:0:root:/root:/bin/bash
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
Help us improve our document, provide additional useful information and share with a friend.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima1.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcli</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">rcli</category>
      <pubDate>Wed, 14 Oct 2009 18:06:35 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10878</guid>
      <dc:date>2009-10-14T18:06:35Z</dc:date>
      <clearspace:dateToText>1 month, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>useVIFastpassOnvMAToRunPerlScriptWithoutClearTextPassword.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10883</link>
      <description>This script makes use of the &lt;b&gt;vi-fastpass&lt;/b&gt; library that is included in VMware vMA and allows you to execute a vSphere SDK for Perl or vCLI script without having to pass in credentials to each host upon execution. This script also does not require you to specify a &lt;b&gt;.viperl&lt;/b&gt; configuration file containing the username/password nor relies on issuing of &lt;b&gt;vifpinit&lt;/b&gt; on a target which has a &lt;b&gt;&lt;u&gt;&lt;span style="color:red"&gt;huge security flaw&lt;/span&gt;&lt;/u&gt;&lt;/b&gt; in which the username/password is stored in &lt;b&gt;plain text&lt;/b&gt; using environmental variables!!! I've been told this has been finally recognized as a bug/security issue and will be fixed in the near future.&lt;br /&gt;
&lt;br /&gt;
This script does &lt;b&gt;&lt;u&gt;require&lt;/u&gt;&lt;/b&gt; that the targets are being managed by vMA that you would like to perform the operations on. Please refer to &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/index.html"&gt;vMA documentation&lt;/a&gt; on how to setup targets to be managed by vMA. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
VIMA 1.0 or vMA 4.0&lt;br /&gt;
ESX(i) 3.5/4.0 or vCenter 2.5/4.0&lt;br /&gt;
vSphere SDK for Perl/vCLI script&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Let's say I would like to list all NFS datastores on a set of ESX(i) hosts, you would generally do something of the following using vCLI command &lt;b&gt;esxcfg-nas&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ esxcfg-nas -l --server esxi40-1.primp-industries.com --username root
Enter password:
dlgCore-NFS-bigboi.VM-Backups is /exports/vm-backups from A.B.C.D mounted
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
and you would continue doing this for however many hosts you had, typing the password each time....&lt;br /&gt;
&lt;br /&gt;
Now, let's see this script in action which only requires one argument which is a file containing the hosts that you want to perform the operation.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: Please make sure the name of the hosts is exactly the name in which it was added to vMA management system&lt;br /&gt;
&lt;br /&gt;
My hostlist file:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat hostlist
esx40-1.primp-industries.com
esx40-2.primp-industries.com
esxi40-1.primp-industries.com
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
You'll need to edit the script to substitute the command you would like to run, look at line #44:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;$command_to_execute = `esxcfg-nas -l --server $server --username $username --password $password`
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Ensure when you're editing the script to preserve $server,$username and $password arguments along with the other params to the script&lt;br /&gt;
&lt;p /&gt;
Now let's run the script on the 3 hosts:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./useVIFastpassOnvMAToRunPerlScriptWithoutClearTextPassword.pl --esxlist hostlist
Executing script on &amp;quot;esx40-1.primp-industries.com&amp;quot; ...
dlgCore-NFS-bigboi.VM-Backups is /exports/vm-backups from A.B.C.D mounted

Executing script on &amp;quot;esx40-2.primp-industries.com&amp;quot; ...
dlgCore-NFS-bigboi.VM-Backups is /exports/vm-backups from A.B.C.D mounted

Executing script on &amp;quot;esxi40-1.primp-industries.com&amp;quot; ...
dlgCore-NFS-bigboi.VM-Backups is /exports/vm-backups from A.B.C.D mounted
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vifp</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vifpinit</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vi-faspass</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima1.0</category>
      <pubDate>Fri, 09 Oct 2009 03:56:37 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10883</guid>
      <dc:date>2009-10-09T03:56:37Z</dc:date>
      <clearspace:dateToText>1 month, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>pluginExtensionManager.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10847</link>
      <description>Script to retrieve the list of extensions installed on your vCenter server OR to unregister a specific plugin that has been installed.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
List installed plugins against vCenter&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./pluginExtensionManager.pl --server reflex.primp-industries.com --username primp --operation list

------------------------------------------------------
Label: vCenter Hardware Status
Summary: Displays the hardware status of hosts (CIM monitoring)
Version: 4.0
Company: VMware, Inc.
Key: cim-ui
Server info:
        Admin Email: noreply@vmware.com -
        Company: VMware, Inc.
        Description:
        Type: com.vmware.vim.viClientScripts
        Url: https://reflex.primp-industries.com:8443/cim-ui/scriptConfig.xml


------------------------------------------------------
Label: vCenter Storage Monitoring
Summary: Storage Monitoring and Reporting
Version: 4.0
Company: VMware Inc.
Key: com.vmware.vim.sms

------------------------------------------------------
Label: report
Summary: report
Version: 1.0.0
Key: com.vmware.vim.stats.report
Server info:
        Company: VMware, Inc.
        Description:
        Type: HTTP
        Url: https://reflex.primp-industries.com:8443/statsreport/vicr.do


------------------------------------------------------
Label: vCenter Service Status
Summary: Displays the health status of vCenter services
Version: 4.0
Company: VMware, Inc.
Key: health-ui
Server info:
        Admin Email: noreply@vmware.com -
        Company: VMware, Inc.
        Description:
        Type: com.vmware.vim.viClientScripts
        Url: https://reflex.primp-industries.com:8443/health-ui/scriptConfig.xml


------------------------------------------------------
Label: hostdiag
Summary: hostdiag
Version: 1.0
Key: hostdiag

------------------------------------------------------
Label: VirtualCenter dynamic events and tasks
Summary: Extension for declaring dynamic events, tasks and faults from within the VirtualCenter server
Version: 1.0
Key: VirtualCenter

------------------------------------------------------
Label: com
Summary: com
Version: 4.0
Key: com.vmware.vSphereWebServicesSDK.primp-industries.com
Server info:
        Admin Email: william.lam@primp-industries.com -
        Company: primp-industries.com
        Description:
        Type: com.vmware.vim.viClientScripts
        Url: https://reflex.primp-industries.com/ui/plugin/primp.xml


&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Remove specific plugin from vCenter (use operation 'list' to figure out the &lt;b&gt;key&lt;/b&gt; for plugin):&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]]$ ./pluginExtensionManager.pl --server reflex.primp-industries.com --username primp --operation remove --key com.vmware.vSphereWebServicesSDK.primp-industries.com

Removing plugin key: &amp;quot;com.vmware.vSphereWebServicesSDK.primp-industries.com&amp;quot;

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also remove any of the plugins by using the Manager Object Browser. You just need to point your web browser to your vCenter server:&lt;a class="jive-link-external" href="https://&amp;lt;your_vc_server&amp;gt;/mob"&gt;https://&amp;lt;your_vc_server&amp;gt;/mob&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;1. Click on &lt;b&gt;content&lt;/b&gt; &lt;/h2&gt;
&lt;br /&gt;
 &lt;img src="http://img59.imageshack.us/img59/3299/15398269.png" alt="http://img59.imageshack.us/img59/3299/15398269.png" class="jive-image"  /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;2. Locate and click on &lt;b&gt;ExtensionManager&lt;/b&gt;&lt;/h2&gt;
&lt;br /&gt;
 &lt;img src="http://img269.imageshack.us/img269/3717/71270742.png" alt="http://img269.imageshack.us/img269/3717/71270742.png" class="jive-image"  /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;3. Click on the plugin you're interested in removing&lt;/h2&gt;
&lt;br /&gt;
 &lt;img src="http://img36.imageshack.us/img36/2893/65422162.png" alt="http://img36.imageshack.us/img36/2893/65422162.png" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;4. Record the plugin &lt;b&gt;key&lt;/b&gt; id which is required to remove the plugin&lt;/h2&gt;
&lt;br /&gt;
 &lt;img src="http://img197.imageshack.us/img197/9592/50082541.png" alt="http://img197.imageshack.us/img197/9592/50082541.png" class="jive-image"  /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;5. Go back to the previous page and at the bottom click on the function &lt;b&gt;UnregisterExtension&lt;/b&gt;, a new window will pop-up which will ask for the plugin &lt;b&gt;key&lt;/b&gt;. Enter the key and then click on &lt;b&gt;Invoke Method&lt;/b&gt; to remove the plugin.&lt;/h2&gt;
&lt;br /&gt;
 &lt;img src="http://img190.imageshack.us/img190/3784/94366121.png" alt="http://img190.imageshack.us/img190/3784/94366121.png" class="jive-image"  /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;6. You can refresh the page and you'll notice the plugin is no longer available and you can restart your vSphere Client to see the plugin has no been removed.&lt;/h2&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">extension</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcenter4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcenter</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">plugin</category>
      <pubDate>Sat, 03 Oct 2009 17:57:58 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10847</guid>
      <dc:date>2009-10-03T17:57:58Z</dc:date>
      <clearspace:dateToText>1 month, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Lab Manager 4 - Scenario and Usage</title>
      <link>http://communities.vmware.com/message/1380274</link>
      <description>&amp;lt;!--&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=if+gte+mso+9"&gt;if gte mso 9&lt;/a&gt;&amp;gt;&amp;lt;xml&amp;gt;&lt;br /&gt;
&amp;lt;w:WordDocument&amp;gt;&lt;br /&gt;
&amp;lt;w:View&amp;gt;Normal&amp;lt;/w:View&amp;gt;&lt;br /&gt;
&amp;lt;w:Zoom&amp;gt;0&amp;lt;/w:Zoom&amp;gt;&lt;br /&gt;
&amp;lt;w:TrackMoves/&amp;gt;&lt;br /&gt;
&amp;lt;w:TrackFormatting/&amp;gt;&lt;br /&gt;
&amp;lt;w:PunctuationKerning/&amp;gt;&lt;br /&gt;
&amp;lt;w:ValidateAgainstSchemas/&amp;gt;&lt;br /&gt;
&amp;lt;w:SaveIfXMLInvalid&amp;gt;false&amp;lt;/w:SaveIfXMLInvalid&amp;gt;&lt;br /&gt;
&amp;lt;w:IgnoreMixedContent&amp;gt;false&amp;lt;/w:IgnoreMixedContent&amp;gt;&lt;br /&gt;
&amp;lt;w:AlwaysShowPlaceholderText&amp;gt;false&amp;lt;/w:AlwaysShowPlaceholderText&amp;gt;&lt;br /&gt;
&amp;lt;w:DoNotPromoteQF/&amp;gt;&lt;br /&gt;
&amp;lt;w:LidThemeOther&amp;gt;EN-US&amp;lt;/w:LidThemeOther&amp;gt;&lt;br /&gt;
&amp;lt;w:LidThemeAsian&amp;gt;X-NONE&amp;lt;/w:LidThemeAsian&amp;gt;&lt;br /&gt;
&amp;lt;w:LidThemeComplexScript&amp;gt;X-NONE&amp;lt;/w:LidThemeComplexScript&amp;gt;&lt;br /&gt;
&amp;lt;w:Compatibility&amp;gt;&lt;br /&gt;
&amp;lt;w:BreakWrappedTables/&amp;gt;&lt;br /&gt;
&amp;lt;w:SnapToGridInCell/&amp;gt;&lt;br /&gt;
&amp;lt;w:WrapTextWithPunct/&amp;gt;&lt;br /&gt;
&amp;lt;w:UseAsianBreakRules/&amp;gt;&lt;br /&gt;
&amp;lt;w:DontGrowAutofit/&amp;gt;&lt;br /&gt;
&amp;lt;w:SplitPgBreakAndParaMark/&amp;gt;&lt;br /&gt;
&amp;lt;w:DontVertAlignCellWithSp/&amp;gt;&lt;br /&gt;
&amp;lt;w:DontBreakConstrainedForcedTables/&amp;gt;&lt;br /&gt;
&amp;lt;w:DontVertAlignInTxbx/&amp;gt;&lt;br /&gt;
&amp;lt;w:Word11KerningPairs/&amp;gt;&lt;br /&gt;
&amp;lt;w:CachedColBalance/&amp;gt;&lt;br /&gt;
&amp;lt;/w:Compatibility&amp;gt;&lt;br /&gt;
&amp;lt;m:mathPr&amp;gt;&lt;br /&gt;
&amp;lt;m:mathFont m:val="Cambria Math"/&amp;gt;&lt;br /&gt;
&amp;lt;m:brkBin m:val="before"/&amp;gt;&lt;br /&gt;
&amp;lt;m:brkBinSub m:val="&amp;#45;-"/&amp;gt;&lt;br /&gt;
&amp;lt;m:smallFrac m:val="off"/&amp;gt;&lt;br /&gt;
&amp;lt;m:dispDef/&amp;gt;&lt;br /&gt;
&amp;lt;m:lMargin m:val="0"/&amp;gt;&lt;br /&gt;
&amp;lt;m:rMargin m:val="0"/&amp;gt;&lt;br /&gt;
&amp;lt;m:defJc m:val="centerGroup"/&amp;gt;&lt;br /&gt;
&amp;lt;m:wrapIndent m:val="1440"/&amp;gt;&lt;br /&gt;
&amp;lt;m:intLim m:val="subSup"/&amp;gt;&lt;br /&gt;
&amp;lt;m:naryLim m:val="undOvr"/&amp;gt;&lt;br /&gt;
&amp;lt;/m:mathPr&amp;gt;&amp;lt;/w:WordDocument&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&amp;lt;!&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=endif"&gt;endif&lt;/a&gt;--&amp;gt;&amp;lt;!--&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=if+gte+mso+9"&gt;if gte mso 9&lt;/a&gt;&amp;gt;&amp;lt;xml&amp;gt;&lt;br /&gt;
&amp;lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"&lt;br /&gt;
DefSemiHidden="true" DefQFormat="false" DefPriority="99"&lt;br /&gt;
LatentStyleCount="267"&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Normal"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Title"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Strong"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Table Grid"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Quote"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Shading Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light List Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Light Grid Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Dark List Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful List Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"&lt;br /&gt;
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&amp;gt;&lt;br /&gt;
&amp;lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&amp;gt;&lt;br /&gt;
&amp;lt;/w:LatentStyles&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&amp;lt;!&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=endif"&gt;endif&lt;/a&gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/* Font Definitions */&lt;br /&gt;
@font-face&lt;br /&gt;
{font-family:"Cambria Math";&lt;br /&gt;
panose-1:2 4 5 3 5 4 6 3 2 4;&lt;br /&gt;
mso-font-charset:0;&lt;br /&gt;
mso-generic-font-family:roman;&lt;br /&gt;
mso-font-pitch:variable;&lt;br /&gt;
mso-font-signature:-1610611985 1107304683 0 0 159 0;}&lt;br /&gt;
@font-face&lt;br /&gt;
{font-family:Calibri;&lt;br /&gt;
panose-1:2 15 5 2 2 2 4 3 2 4;&lt;br /&gt;
mso-font-charset:0;&lt;br /&gt;
mso-generic-font-family:swiss;&lt;br /&gt;
mso-font-pitch:variable;&lt;br /&gt;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}&lt;br /&gt;
/* Style Definitions */&lt;br /&gt;
p.MsoNormal, li.MsoNormal, div.MsoNormal&lt;br /&gt;
{mso-style-unhide:no;&lt;br /&gt;
mso-style-qformat:yes;&lt;br /&gt;
mso-style-parent:"";&lt;br /&gt;
margin-top:0in;&lt;br /&gt;
margin-right:0in;&lt;br /&gt;
margin-bottom:10.0pt;&lt;br /&gt;
margin-left:0in;&lt;br /&gt;
line-height:115%;&lt;br /&gt;
mso-pagination:widow-orphan;&lt;br /&gt;
font-size:11.0pt;&lt;br /&gt;
font-family:"Calibri","sans-serif";&lt;br /&gt;
mso-ascii-font-family:Calibri;&lt;br /&gt;
mso-ascii-theme-font:minor-latin;&lt;br /&gt;
mso-fareast-font-family:Calibri;&lt;br /&gt;
mso-fareast-theme-font:minor-latin;&lt;br /&gt;
mso-hansi-font-family:Calibri;&lt;br /&gt;
mso-hansi-theme-font:minor-latin;&lt;br /&gt;
mso-bidi-font-family:"Times New Roman";&lt;br /&gt;
mso-bidi-theme-font:minor-bidi;}&lt;br /&gt;
.MsoChpDefault&lt;br /&gt;
{mso-style-type:export-only;&lt;br /&gt;
mso-default-props:yes;&lt;br /&gt;
mso-ascii-font-family:Calibri;&lt;br /&gt;
mso-ascii-theme-font:minor-latin;&lt;br /&gt;
mso-fareast-font-family:Calibri;&lt;br /&gt;
mso-fareast-theme-font:minor-latin;&lt;br /&gt;
mso-hansi-font-family:Calibri;&lt;br /&gt;
mso-hansi-theme-font:minor-latin;&lt;br /&gt;
mso-bidi-font-family:"Times New Roman";&lt;br /&gt;
mso-bidi-theme-font:minor-bidi;}&lt;br /&gt;
.MsoPapDefault&lt;br /&gt;
{mso-style-type:export-only;&lt;br /&gt;
margin-bottom:10.0pt;&lt;br /&gt;
line-height:115%;}&lt;br /&gt;
@page Section1&lt;br /&gt;
{size:8.5in 11.0in;&lt;br /&gt;
margin:1.0in 1.0in 1.0in 1.0in;&lt;br /&gt;
mso-header-margin:.5in;&lt;br /&gt;
mso-footer-margin:.5in;&lt;br /&gt;
mso-paper-source:0;}&lt;br /&gt;
div.Section1&lt;br /&gt;
{page:Section1;}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=if+gte+mso+10"&gt;if gte mso 10&lt;/a&gt;&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/* Style Definitions */&lt;br /&gt;
table.MsoNormalTable&lt;br /&gt;
{mso-style-name:"Table Normal";&lt;br /&gt;
mso-tstyle-rowband-size:0;&lt;br /&gt;
mso-tstyle-colband-size:0;&lt;br /&gt;
mso-style-noshow:yes;&lt;br /&gt;
mso-style-priority:99;&lt;br /&gt;
mso-style-qformat:yes;&lt;br /&gt;
mso-style-parent:"";&lt;br /&gt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;&lt;br /&gt;
mso-para-margin-top:0in;&lt;br /&gt;
mso-para-margin-right:0in;&lt;br /&gt;
mso-para-margin-bottom:10.0pt;&lt;br /&gt;
mso-para-margin-left:0in;&lt;br /&gt;
line-height:115%;&lt;br /&gt;
mso-pagination:widow-orphan;&lt;br /&gt;
font-size:11.0pt;&lt;br /&gt;
font-family:"Calibri","sans-serif";&lt;br /&gt;
mso-ascii-font-family:Calibri;&lt;br /&gt;
mso-ascii-theme-font:minor-latin;&lt;br /&gt;
mso-fareast-font-family:"Times New Roman";&lt;br /&gt;
mso-fareast-theme-font:minor-fareast;&lt;br /&gt;
mso-hansi-font-family:Calibri;&lt;br /&gt;
mso-hansi-theme-font:minor-latin;}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;!&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=endif"&gt;endif&lt;/a&gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Looks good.  Only thing to consider is to leave your&lt;br /&gt;
'BaseX' template in your Library and have your requesters create their own&lt;br /&gt;
Linked clone by Cloning to their workspace.  This will save you on management&lt;br /&gt;
and Chain Lengths.  I find this strategy works best for Non-IT&lt;br /&gt;
users.  GL</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">linked_clones</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">lm4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">lab_manager_4</category>
      <pubDate>Fri, 02 Oct 2009 19:58:33 GMT</pubDate>
      <author>rbkinsey</author>
      <guid>http://communities.vmware.com/message/1380274</guid>
      <dc:date>2009-10-02T19:58:33Z</dc:date>
      <clearspace:dateToText>1 month, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>addVMAnnotation.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10779</link>
      <description>This script allows you to set 'annotation' field for a specific VM when connecting to either ESX9i) or vCenter host.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Note:&lt;/span&gt;&lt;/b&gt; This script was generated using the same snippet of code as &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10551"&gt;addVMAdvParamOption.pl&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0 or vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield]$ ./addVMAnnotation.pl --server reflex.primp-industries.com --username primp --vmname vMA-2 --annotation &amp;quot;vMA-2 dev system&amp;quot;

Reconfiguring &amp;quot;vMA-2&amp;quot; with annotation: &amp;quot;vMA-2 dev system&amp;quot; ...
Sucessfully updated annotation for &amp;quot;vMA-2&amp;quot;!

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">configuration</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">annotation</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <pubDate>Mon, 28 Sep 2009 19:25:00 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10779</guid>
      <dc:date>2009-09-28T19:25:00Z</dc:date>
      <clearspace:dateToText>1 month, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>getVMThinProvisionedSavings.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10777</link>
      <description>While looking around the forums, I noticed this thread: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/233775"&gt;Script to determine disk space saved by thin provisioning&lt;/a&gt; which had an interesting request from the OP. This script will extract the &lt;u&gt;total&lt;/u&gt; amount of provisioned space across all datastore(s) and consumed space for a VM and display in either the raw format in total &lt;b&gt;bytes&lt;/b&gt; OR it's properly formatted disk consumption &lt;b&gt;(B,KB,MB,GB,TB)&lt;/b&gt;. This data is primarily useful when using thin provisioning &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 4.0 or vCenter 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Raw output (in bytes by default):&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]./getVMThinProvisionedSavings.pl --server reflex.primp-industries.com --username primp

VM Name                                  Provisioned          Used                % Saved
-------------------------------------------------------------------------------------------
Auroa                                    4833604510           4288344990          11.3 %
-------------------------------------------------------------------------------------------
Bitsy                                    2686155138           1851488642          31.1 %
-------------------------------------------------------------------------------------------
Certiorari                               9395724427           8590418059          8.6 %
-------------------------------------------------------------------------------------------
Clifford                                 10766700317          10766700317         0 %
-------------------------------------------------------------------------------------------
ESX-Kickstart                            13423364683          7031259723          47.6 %
-------------------------------------------------------------------------------------------
ESX40-1                                  46171339531          4402363147          90.5 %
-------------------------------------------------------------------------------------------
ESX40-2                                  30065354586          4306036570          85.7 %
-------------------------------------------------------------------------------------------
ESXi40-1                                 30065197293          4318462189          85.6 %

.........
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Formated output:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getVMThinProvisionedSavings.pl --server reflex.primp-industries.com --username primp --format 1

VM Name                                  Provisioned          Used                % Saved
-------------------------------------------------------------------------------------------
Auroa                                    4.50 GB              3.99 GB             11.3 %
-------------------------------------------------------------------------------------------
Bitsy                                    2.50 GB              1.72 GB             31.1 %
-------------------------------------------------------------------------------------------
Certiorari                               8.75 GB              8.00 GB             8.6 %
-------------------------------------------------------------------------------------------
Clifford                                 10.03 GB             10.03 GB            0 %
-------------------------------------------------------------------------------------------
ESX-Kickstart                            12.50 GB             6.55 GB             47.6 %
-------------------------------------------------------------------------------------------
ESX40-1                                  43.00 GB             4.10 GB             90.5 %
-------------------------------------------------------------------------------------------
ESX40-2                                  28.00 GB             4.01 GB             85.7 %
-------------------------------------------------------------------------------------------
ESXi40-1                                 28.00 GB             4.02 GB             85.6 %
.....

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin_provisioning</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datastore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">committed</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">uncommitted</category>
      <pubDate>Sat, 26 Sep 2009 23:28:29 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10777</guid>
      <dc:date>2009-09-26T23:28:29Z</dc:date>
      <clearspace:dateToText>1 month, 4 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>generateVMRemoteConsoleURL.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10809</link>
      <description>Motivated by this thread: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/133551"&gt;Programatically Generate Remote Console URL&lt;/a&gt;, here is a script that will generate the proper remote console URL for vSphere vCenter 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 4.0&lt;br /&gt;
ESX(i) 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Do not obfuscate URL:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~][http://reflex.primp-industries.com|http://reflex.primp-industries.com]$ ./generateVMRemoteConsoleURL.pl --server reflex.primp-industries.com --username primp --obfuscate 0 --vmname William-XP
https://reflex.primp-industries.com/ui/?wsUrl=http://localhost:80/sdk&amp;#38;mo=VirtualMachine|vm-91&amp;#38;inventory=none&amp;#38;tabs=hide_
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Obfuscate URL:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~][http://reflex.primp-industries.com|http://reflex.primp-industries.com]$ ./generateVMRemoteConsoleURL.pl --server reflex.primp-industries.com --username primp --obfuscate 1 --vmname William-XP
https://reflex.primp-industries.com/ui/?view=aHR0cDovL2xvY2FsaG9zdDo4MC9zZGsmbW89VmlydHVhbE1hY2hpbmV8dm0tOTEmaW52ZW50b3J5PW5vbmUmdGFicz1oaWRlXw==
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
There are two other optional flags that can be set which are &lt;b&gt;--limit_single_vm_view&lt;/b&gt; and &lt;b&gt;--limit_workspace_view&lt;/b&gt; which is described in the vSphere Web Access for vCenter when generating the URL which can be set in this script to provide the correct permissions in the URL. By default both parameters have a default of &lt;b&gt;&lt;u&gt;1&lt;/u&gt;&lt;/b&gt; or enabled, you may set it to false by passing in the value of &lt;b&gt;&lt;u&gt;0&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10809-1-7136/remoteURL.png" alt="remoteURL.png" class="jive-image"  /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">remote_url</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">remote_console</category>
      <pubDate>Sat, 26 Sep 2009 04:33:39 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10809</guid>
      <dc:date>2009-09-26T04:33:39Z</dc:date>
      <clearspace:dateToText>1 month, 4 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>getVMsPerDatastore.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10807</link>
      <description>I noticed Alan Renof's &lt;b&gt;&lt;a class="jive-link-external" href="http://www.virtu-al.net/2009/09/23/powercli-how-many-vms-on-your-datastores/"&gt;How many VMs on your Datastores ?&lt;/a&gt;&lt;/b&gt; article today and realized I had written something similar a few months back but forgot to publish. This script will retrieve all datastores from either ESX(i) or vCenter host and extract the number of VM(s), % free and the datastore type.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./getVMsPerDatastore.pl --server reflex.primp-industries.com --username primp

Datastore                                        % Free              # of VMs        Datastore Type
-----------------------------------------------------------------------------------------------------
dlgCore-NFS-bigboi.VM-Backups                    41.2                3               NFS
-----------------------------------------------------------------------------------------------------
dlgCore-iSCSI.test                               48.6                1               VMFS
-----------------------------------------------------------------------------------------------------
himalaya-local-SAS.Constellation                 20.5                10              VMFS
-----------------------------------------------------------------------------------------------------
himalaya-local-SAS.Savvio                        46.2                23              VMFS
-----------------------------------------------------------------------------------------------------
himalaya-local-SATA.RE4-GP:Boot                  48.2                0               VMFS
-----------------------------------------------------------------------------------------------------
himalaya-local-SATA.RE4-GP:Storage               49.3                31              VMFS
-----------------------------------------------------------------------------------------------------
dlgCore-NFS-bigboi.VM-Backups                    41.1                0               NFS
-----------------------------------------------------------------------------------------------------
esx40-1-local-storage                            98.7                0               VMFS
-----------------------------------------------------------------------------------------------------
esx40-2-local-storage                            98.1                0               VMFS
-----------------------------------------------------------------------------------------------------
esxi40-1-local-storage                           98.1                2               VMFS
-----------------------------------------------------------------------------------------------------
himalaya-iSCSI-starwind.esx-devCluster           97.6                2               VMFS
-----------------------------------------------------------------------------------------------------

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">storage</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datastore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vms_free</category>
      <pubDate>Fri, 25 Sep 2009 04:16:11 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10807</guid>
      <dc:date>2009-09-25T04:16:11Z</dc:date>
      <clearspace:dateToText>2 months, 19 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>listVMsInResourcePool.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10805</link>
      <description>Script to query VM(s) in a specific Resource Pool, this will work if the Resource Pool is nested.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt; &lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./listVMsInResourcePool.pl --server reflex.primp-industries.com --username primp --resource_pool production

vm-1
vm-2
vm-3
vm-4
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">resource_pool</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">resourcepool</category>
      <pubDate>Thu, 24 Sep 2009 16:35:48 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10805</guid>
      <dc:date>2009-09-24T16:35:48Z</dc:date>
      <clearspace:dateToText>2 months, 1 day ago</clearspace:dateToText>
    </item>
    <item>
      <title>ghettoQuickMigrate.sh - "Quick" Migration for VM(s) running on ESXi 3.5u2+</title>
      <link>http://communities.vmware.com/docs/DOC-9400</link>
      <description>&lt;h2&gt;Description:&lt;/h2&gt;
&lt;br /&gt;
This script utilizes &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/"&gt;VMware VIMA&lt;/a&gt; and the &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/viperltoolkit/viperl15/doc/perl_toolkit_utilities_idx.html"&gt;VI Perl Toolkit&lt;/a&gt; found in VMware VIMA.&lt;br /&gt;
&lt;br /&gt;
ESXi is a formidable hypervisor solution in both licensed and free operation mode. When fully licensed in a Virtual Center cluster, ESXi's features (VMotion, HA, DRS, VCB, etc...) are indistinguishable from ESX. One feature of importance, VMotion, is used to perform live migrations of VMs that reside on shared storage from one host to another. In free operation mode however, ESXi hosts are independent of each other, in which case, useful features like VMotion become unusable.&lt;br /&gt;
&lt;br /&gt;
The motivation for this script &lt;b&gt;(ghettoQuickMigrate.sh)&lt;/b&gt; then is to provide administrators running the free version of ESXi on several hosts with the capability to perform Hyper-V-like &lt;b&gt;"quick"&lt;/b&gt; migrations of virtual machines residing on shared storage between the hosts. VMware's VIMA virtual appliance was chosen as the central launch point for the quick migration process. &lt;b&gt;ghettoQuickMigration.sh&lt;/b&gt; is executed from within VIMA and is compatible with ESXi 3.5u2+. &lt;br /&gt;
&lt;br /&gt;
Excerpt from &lt;a class="jive-link-external" href="http://download.microsoft.com/download/8/2/f/82fa3808-7168-46f1-a07b-f1a7c9cb4e85/WS08%20Quick%20Migration%20with%20Hyper-V_Whitepaper_FINAL.doc"&gt;Hyper-V Quick Migration Document&lt;/a&gt;:&lt;br /&gt;
&lt;div class="jive-quote"&gt;
For a planned migration, quick migration saves the state of a running guest virtual machine (memory of original server to disk/shared storage), moves the storage connectivity from one physical server to another, and then restores the guest virtual machine onto the second server (disk/shared storage to memory on the new server). The speed of the migration depends on how much memory needs to be written to disk, and on the speed of the connectivity to storage; generally, migration takes just a few seconds. &lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
This script follows similarly to the Hyper-V Quick Migration process with the exception of replacing the disk resource swap with a virtual machine unregister/register command on the source and target hosts respectively. The state (powered ON/Suspended/OFF) of the virtual machine designated for migration is preserved through the entire process. Online virtual machines undergoing this migration will experience a temporary pause due to the suspend and resume steps. &lt;br /&gt;
&lt;br /&gt;
Like VMware's VMotion storage requirement, virtual machines in environments where this quick migration script is employed must reside on shared storage between source and target hosts. The script will provide a list of validated VMs that fit this criteria. Unlike VMware's VMotion CPU feature requirements, this script does &lt;b&gt;&lt;u&gt;not&lt;/u&gt;&lt;/b&gt; validate and enforce source and target CPU hardware compatibility. &lt;b&gt;It is up to the user to ensure that virtual machines designated for migration are compatible with both the source and target host CPU features prior to execution of the script.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements&lt;/h2&gt;
VMs running on ESXi 3.5u2+&lt;br /&gt;
VMware VIMA (virtual appliance)&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;
&lt;br /&gt;
&lt;b&gt;ghettoQuickMigrate&lt;/b&gt; input parameters:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;Usage: ./ghettoQuickMigrate.sh [-s SOURCE_ESX] [-d DESTINATION_ESX] [-i CONFIG_FILE_TO_OUTPUT] [-c CONFIG_FILE]

OPTIONS:
   -s     Source ESXi 3.5u2+ Server IP or Hostname
   -d     Destination ESXi 3.5u2+ Server IP or Hostname
   -i     Generate a configuration file
   -c     Configuration file to be executed

(e.g.)
    Generate configuration file
        ./ghettoQuickMigrate.sh -s himalaya.primp-industries.com -d olga.resnet.ucsb.edu -i migrationConf

    Execute configuration file
        ./ghettoQuickMigrate.sh -c migrationConf

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;
&lt;br /&gt;
Two default VMware VI Perl Toolkit scripts require a slight modification. On initial execution, this script &lt;b&gt;(ghettoQuickMigrate.sh)&lt;/b&gt; will duplicate and modify the necessary lines of the two scripts. This operation will require the user to enter the password for their &lt;b&gt;vi-admin&lt;/b&gt; account. Once entered, the following two scripts will be generated and stored in &lt;b&gt;/usr/lib/vmware-viperl/apps/vm&lt;/b&gt;.&lt;br /&gt;
1) &lt;b&gt;my-vmregister.pl&lt;/b&gt;&lt;br /&gt;
2) &lt;b&gt;my-vmcontrol.pl&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Prior to starting, ensure that the VMware VIMA host is managing the appropriate ESXi 3.5u2+ hosts (those that will be utilizing the ghettoQuickMigrate.sh script). The script uses VMware VI Fast Pass authentication to connect to the ESXi server(s). The following steps will demonstrate how to set this up prior to executing the script.&lt;br /&gt;
&lt;br /&gt;
1. Add ESXi hosts to VIMA managment using vifp&lt;br /&gt;
&lt;br /&gt;
A password prompt for the vi-admin account and root password to the pertinent ESXi host(s) will be presented.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ sudo vifp addserver olga.resnet.ucsb.edu
root@olga.resnet.ucsb.edu's password:
[vi-admin@vima-primp-industries ~]$
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Verify that the appropriate hosts are being managed by VIMA&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ sudo vifp listservers
olga.resnet.ucsb.edu
himalaya.primp-industries.com
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
3. Lastly, prior to running any of the RCLI or VI Perl Toolkits that utilize VI Fast Pass (not all can), run the following command on the appropriate ESXi host(s).&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ vifpinit olga.resnet.ucsb.edu
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
To remove a server from VIMA, use the argument “removeserver” on the host and provide the appropriate credentials.&lt;br /&gt;
&lt;br /&gt;
Now, you're ready to begin!&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Example execution &lt;/h2&gt;
&lt;br /&gt;
1. Initial script preparation and VI Fast Pass authentication&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoQuickMigrate.sh -s olga.resnet.ucsb.edu -d kalina.resnet.ucsb.edu -i migrationConf

VI Fast Pass &amp;quot;vifpinit&amp;quot; has not been executed for either &amp;quot;olga.resnet.ucsb.edu&amp;quot; or &amp;quot;kalina.resnet.ucsb.edu&amp;quot;!
Please run the following once prior to executing this script:

        vifpinit olga.resnet.ucsb.edu
                or
        vifpinit kalina.resnet.ucsb.edu

You can check your environmental variables to ensure the following have been defined:

        env | grep VI

        VI_SERVER, VI_PROTOCOL, VI_PORTNUMBER, VI_SERVICEPATH, VI_USERNAME and VI_PASSWORD

[vi-admin@vima-primp-industries ~]$ vifpinit olga.resnet.ucsb.edu
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Generating available virtual machine list&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoQuickMigrate.sh -s olga.resnet.ucsb.edu -d kalina.resnet.ucsb.edu -i migrationConf

Retrieving info from: olga.resnet.ucsb.edu ...
Generating virtual machine list (this may take some time)....

1)  quickMigrate-1
2)  quickMigrate-2
3)  quickMigrate-3
4)  exit

Please select VM(s) to be migrated (e.g. 1,2,3,4,5 or 1,2,3-5):
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
3. Confirmation of selected VM(s)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; The current configuration will be saved to the specified file if migration is not executed. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoQuickMigrate.sh -s olga.resnet.ucsb.edu -d kalina.resnet.ucsb.edu -i migrationConf

Retrieving info from: olga.resnet.ucsb.edu ...
Generating virtual machine list (this may take some time)....

1)  quickMigrate-1
2)  quickMigrate-2
3)  quickMigrate-3
4)  exit

Please select VM(s) to be migrated (e.g. 1,2,3,4,5 or 1,2,3-5):
1-3

Selected VM(s):

1) quickMigrate-1
2) quickMigrate-2
3) quickMigrate-3

Please confirm the quick migration of the listed 3 VM(s) from &amp;quot;olga.resnet.ucsb.edu&amp;quot; to &amp;quot;kalina.resnet.ucsb.edu&amp;quot;? (y or n)
y
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
4. Execution of migration &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;--------------------------------------------------------------------
SOURCE :: |olga.resnet.ucsb.edu|
--------------------------------------------------------------------
quickMigrate-1                                          [          ]
quickMigrate-2                                          [  queued  ]
quickMigrate-3                                          [  queued  ]

--------------------------------------------------------------------
TARGET :: |kalina.resnet.ucsb.edu|
--------------------------------------------------------------------


====================================================================
Migrating quickMigrate-1
Status: Suspending
0/3 VM(s) migrated -- 3 VM(s) left to migrate
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
5. Migration progress for each VM will be updated on the screen&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;--------------------------------------------------------------------
SOURCE :: |olga.resnet.ucsb.edu|
--------------------------------------------------------------------
quickMigrate-2                                          [####      ]
quickMigrate-3                                          [  queued  ]

--------------------------------------------------------------------
TARGET :: |kalina.resnet.ucsb.edu|
--------------------------------------------------------------------
quickMigrate-1                                          [ migrated ]


====================================================================
Migrating quickMigrate-2
Status: Unregistering
1/3 VM(s) migrated -- 2 VM(s) left to migrate
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;--------------------------------------------------------------------
SOURCE :: |olga.resnet.ucsb.edu|
--------------------------------------------------------------------
quickMigrate-3                                          [  queued  ]

--------------------------------------------------------------------
TARGET :: |kalina.resnet.ucsb.edu|
--------------------------------------------------------------------
quickMigrate-1                                          [ migrated ]
quickMigrate-2                                          [########  ]


====================================================================
Migrating quickMigrate-2
Status: Resuming
2/3 VM(s) migrated -- 1 VM(s) left to migrate
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
6. Migration completed&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;--------------------------------------------------------------------
SOURCE :: |olga.resnet.ucsb.edu|
--------------------------------------------------------------------

--------------------------------------------------------------------
TARGET :: |kalina.resnet.ucsb.edu|
--------------------------------------------------------------------
quickMigrate-1                                          [ migrated ]
quickMigrate-2                                          [ migrated ]
quickMigrate-3                                          [ migrated ]


====================================================================
3/3 VM(s) migrated


Start time: Mon Jan 26 00:58:34 PST 2009
End   time: Mon Jan 26 01:00:00 PST 2009
Duration  : 1.43 Minutes
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">3.5i</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">3i</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3i</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">quick_migrate</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">quick_migration</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">migrate</category>
      <pubDate>Sun, 25 Jan 2009 09:53:49 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9400</guid>
      <dc:date>2009-01-25T09:53:49Z</dc:date>
      <clearspace:dateToText>2 months, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>9</clearspace:replyCount>
    </item>
    <item>
      <title>VMware Health Check Report v0.9.4</title>
      <link>http://communities.vmware.com/docs/DOC-9420</link>
      <description>&lt;h2&gt;Description:&lt;/h2&gt;
&lt;br /&gt;
This script generates a health check report of all attributes pertaining to a single ESX/ESXi 3.x+ host or VMware vCenter and its managed entities (i.e. clusters and individual ESX/ESXi 3.x+ hosts). The generated report is based off of some earlier Powershell script &lt;a class="jive-link-external" href="http://www.ivobeerens.nl/?p=256"&gt;work&lt;/a&gt; created by &lt;a class="jive-link-external" href="http://www.ivobeerens.nl/"&gt;Ivo Beerens&lt;/a&gt;/&lt;a class="jive-link-external" href="http://www.yellow-bricks.com/"&gt;Duncan Eppping&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I was primarily motivated on this project because it allowed me to start learning about how to utilize the VI API through the VI Perl Toolkit. Existing information provided by the RCLI and VI Perl Toolkit default utilities are useful though they can be limited. This gave me an opportunity to learn how to write my own Perl scripts that may ultimately lead to more functional tools that the community as well as VI administrators can utilize. &lt;br /&gt;
&lt;br /&gt;
The generated health check report contains most of what Ivo Beerens has included in his latest release. For this project, I am attempting to create a non-Powershell solution as opposed to the direction taken by Ivo and Duncan. This Perl script will generally be a work in progress as I continue to learn about the API. Moreover, I hope that this will be something of use to administrators especially those seeking to query important pieces of information such as VM(s) containing snapshots and/or RDM(s).&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
The script reports on the following:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;vCenter Build/Release&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;License summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Active Sessions&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Build/Release&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cluster(s) Name/Statistics (Hosts,CPU and MEM availabity, HA,DRS and DPM enabled, Resource Pools, Health)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Hardware configuration (NICs/HBAs)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Hardware Health Sensor via CIM&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi State&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Configurations&lt;/b&gt; (for detailed information, use &lt;b&gt;detail-hosts&lt;/b&gt; option)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Multipathing Info&lt;/b&gt; (only available in &lt;b&gt;host&lt;/b&gt; or &lt;b&gt;detail-hosts&lt;/b&gt; option)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Datastore summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi LUN summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Portgroup summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESX/ESXi Hostd logs&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CDP Summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Recent Tasks&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Virtual Machine summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM Storage summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM Network summary&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/Snapshots&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/Snapshot delta age&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/RDMs&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/NPIV enabled&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/connected CD-ROMs&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM w/connected Floppys&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
For more details, please take a look at the sample reports located &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/sample_health_report.html"&gt;here&lt;/a&gt; and &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/sample_health_report_detail_hosts.html"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/viperltoolkit/"&gt;VI Perl Toolkit&lt;/a&gt; or &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/"&gt;VMware VIMA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;VMware vCenter 2.5+ and/or ESX 3.x+ / ESXi 3.5+&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./vmwareHealthCheck.pl
Required command option 'type' not specified.

Synopsis: ./vmwareHealthCheck.pl OPTIONS


Command-specific options:
   --cluster
      The name of a vCenter cluster
   --datacenter
      The name of a vCenter datacenter
   --logcount
      The number of lines to output from hostd logs
   --report
      The name of the report to output
   --type (required)
      Type: [vcenter|datacenter|cluster|host|detail-hosts]


Common VI options:
   --config (variable VI_CONFIG)
      Location of the VI Perl configuration file
   --encoding (variable VI_ENCODING, default 'utf8')
      Encoding: utf8, cp936 (Simplified Chinese), iso-8859-1 (German), shiftjis (Japanese)
   --help
      Display usage information for the script
   --passthroughauth (variable VI_PASSTHROUGHAUTH)
      Attempt to use pass-through authentication
   --passthroughauthpackage (variable VI_PASSTHROUGHAUTHPACKAGE, default 'Negotiate')
      Pass-through authentication negotiation package
   --password (variable VI_PASSWORD)
      Password
   --portnumber (variable VI_PORTNUMBER)
      Port used to connect to server
   --protocol (variable VI_PROTOCOL, default 'https')
      Protocol used to connect to server
   --savesessionfile (variable VI_SAVESESSIONFILE)
      File to save session ID/cookie to utilize
   --server (variable VI_SERVER, default 'localhost')
      VI server to connect to. Required if url is not present
   --servicepath (variable VI_SERVICEPATH, default '/sdk/webService')
      Service path used to connect to server
   --sessionfile (variable VI_SESSIONFILE)
      File containing session ID/cookie to utilize
   --url (variable VI_URL)
      VI SDK URL to connect to. Required if server is not present
   --username (variable VI_USERNAME)
      Username
   --verbose (variable VI_VERBOSE)
      Display additional debugging information
   --version
      Display version information for the script
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Supported Use Cases:&lt;/h2&gt;
&lt;br /&gt;
1) This will collect information about all cluster(s)/host(s) providing vCenter Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwareHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;p /&gt;
2) This will collect information about a specific datacenter provided with vCenter Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwareHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type datacenter --datacenter DATACENTER_NAME
&lt;/code&gt;&lt;/pre&gt;		&lt;br /&gt;
&lt;p /&gt;
3) This will collect information about a specific cluster provided with vCenter Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwareHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type cluster --cluster CLUSTER_NAME
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;br /&gt;
4) This will collect information about a specific host provided with ESX/ESXi Server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwareHealthCheck.pl --server ESX_ESXi_SERVER --username ESX_ESXi_USERNAME --password ESX_ESXi_PASSWORD --type host
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;br /&gt;
5) This will collect detail information about all ESX/ESXi hosts under vCenter (for datacenter/cluster specific, please look at option 1-3). &lt;br /&gt;
&lt;br /&gt;
This option is meant to provide a report similiar to that of &lt;a class="jive-link-external" href="http://esxhealthscript.svn.sourceforge.net/viewvc/esxhealthscript/"&gt;esxhealthscript&lt;/a&gt; within the capablities of the VI API utilizing the VI Perl Toolkit. For a high level view of your VMware environment, please use the other options, as this pertains to detail configurations of your hosts. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwareHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type detail-hosts
&lt;/code&gt;&lt;/pre&gt;	&lt;br /&gt;
&lt;br /&gt;
To specify the number of the latest lines in the hostd logs, use --logcount [number_of_lines]&lt;br /&gt;
(e.g.)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;./vmwareHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type detail-hosts --logcount 20
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;h2&gt;Custom Configurations&lt;/h2&gt;
&lt;br /&gt;
Edit the following at the top of the script to configure the warning levels for the various resource consumptions (disk,memory,cpu):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
####################################&lt;br /&gt;
#  resource consumption warnings&lt;br /&gt;
####################################&lt;br /&gt;
# yellow &amp;lt; 30 %&lt;br /&gt;
my $yellow_warn = 30;&lt;br /&gt;
&lt;br /&gt;
# orange &amp;lt; 15 %&lt;br /&gt;
my $orange_warn = 15;&lt;br /&gt;
&lt;br /&gt;
# red &amp;lt; 10%&lt;br /&gt;
my $red_warn = 10;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
Edit the following at the top of the script to configure the number of days aged for a snapshot delta file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
######################################&lt;br /&gt;
#  vm snapshot age warnings&lt;br /&gt;
######################################&lt;br /&gt;
# yellow &amp;lt; 15 days&lt;br /&gt;
my $snap_yellow_warn = 15;&lt;br /&gt;
&lt;br /&gt;
# orange &amp;lt; 30 days&lt;br /&gt;
my $snap_orange_warn = 30;&lt;br /&gt;
&lt;br /&gt;
# red &amp;lt; 60 days+&lt;br /&gt;
my $snap_red_warn = 60;&lt;br /&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
03-24-2009 - v0.9.4&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-There was a bug reported by Duncan Epping and others regarding hosts that were appearing in the wrong cluster with respect to the portgroup listings, this should be fixed. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Detail Hardware Health sensor readings provided by CIM&lt;br /&gt;
-CDP Summary (individual &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/cdp.pl"&gt;cdp.pl&lt;/a&gt; available)&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-28-2009 - v0.9&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Due to VMware API bug, the VMDK count per VM is not displaying correctly, a work around has been setup to print # of disks&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Retrieve script version by using --version&lt;br /&gt;
-Cluster Health&lt;br /&gt;
-Recent Tasks&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-11-2009 - v0.8&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Fixed an issue where disconnected VM(s) may cause the script to halt&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Added hostd logs with --logcount flag to specify the last number of lines (default 15 lines)&lt;br /&gt;
-Performance enhancement, script should execute much faster (YMMV)&lt;br /&gt;
&lt;br /&gt;
Example report &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/sample_health_report_detail_hosts.html"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-09-2009 - v0.7&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Removed invalid cluster stats (output was not regarding consumption but availablity)&lt;br /&gt;
-Fixed an issue that may allow the script to execute on Windows VI Perl Toolkit again(no guarantees) &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Licensing/features information&lt;br /&gt;
-Active Sessions&lt;br /&gt;
-ESX UUID&lt;br /&gt;
-Additional ESX/ESXi host configurations (available with &lt;b&gt;host&lt;/b&gt; or &lt;b&gt;detail-hosts&lt;/b&gt; flag)&lt;br /&gt;
-Performance increase on script execution (YMMV)&lt;br /&gt;
-Added &lt;b&gt;detail-hosts&lt;/b&gt; flag which provides additional host configurations (comparable to &lt;a class="jive-link-external" href="http://esxhealthscript.svn.sourceforge.net/viewvc/esxhealthscript/"&gt;esxhealthscript&lt;/a&gt;)&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;VMotion enabled&lt;/li&gt;
&lt;li&gt;Service Console network summary&lt;/li&gt;
&lt;li&gt;VMkernel summary&lt;/li&gt;
&lt;li&gt;DNS&lt;/li&gt;
&lt;li&gt;Offload capabilities&lt;/li&gt;
&lt;li&gt;Diagostic Partition&lt;/li&gt;
&lt;li&gt;vswif summary&lt;/li&gt;
&lt;li&gt;vSwitch/cdp summary&lt;/li&gt;
&lt;li&gt;Firewall known services&lt;/li&gt;
&lt;li&gt;...much more&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Example report &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/sample_health_report_detail_hosts.html"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-05-2009 - v0.6&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Fixed minor typographic errors&lt;br /&gt;
-Fixed issue if no additional hardware vendor information is available&lt;br /&gt;
-Fixed potential issue with displaying information about datastores not being accessible &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Display snapshot deleta file(s) age (options configurable by users)&lt;br /&gt;
-Display &lt;b&gt;root&lt;/b&gt; resource pool information if appliacable&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-04-2009 - v0.5&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Cleaned up a little of the html structure&lt;br /&gt;
-Fixed issue when no ntpServers configured&lt;br /&gt;
-Fixed issue when VMware tool status is not available&lt;br /&gt;
-Fixed the order of the Adv options&lt;br /&gt;
-Fixed Host to Datastore access (If a datastore is presented to hosts that reside in separate clusters, false positives may be included in the output) &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Added support for --datacenter argument for specifying a specific datacenter in vCenter&lt;br /&gt;
-Additional hardware info (possibly AssetTag if configured)&lt;br /&gt;
-Display Adv options: Disk.SchedNumReqOutstanding and NFS.LockDisable&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-01-2009 - v0.4&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Only display summary on valid clusters (w/hosts attached)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Display hosts in cluster with inconsistent storage presentation&lt;br /&gt;
-Display hosts in cluster with inconsistent portgroup configurations&lt;br /&gt;
-Display Disk.UseDeviceReset&lt;br /&gt;
-Display Disk.UseLunReset&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
&lt;br /&gt;
02-02-2009 - v0.4&lt;br /&gt;
&lt;b&gt;Fixes&lt;/b&gt;:&lt;br /&gt;
-Fixed color output to highlight the correct values&lt;br /&gt;
-Fixed the output of the script execution time to output correct time format&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancements&lt;/b&gt;:&lt;br /&gt;
-Display MB,GB,TB and MHz,GHz instead of just (MB,MHz)&lt;br /&gt;
-Display cluster resources % free&lt;br /&gt;
-Display hosts in cluster with inconsistent LUN access&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;TO-DO/WIP&lt;/h2&gt;
-None atm&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Known Issues&lt;/h2&gt;
&lt;p /&gt;
1) Firewall information is limited to only known and blessed services, this is a limitation of the VI API&lt;br /&gt;
&lt;br /&gt;
2) Multiple Service Console interfaces may not display correctly&lt;br /&gt;
&lt;br /&gt;
3) SNMP infor (may or may not work)</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmware_health_check</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">health_check</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtual_center</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcenter</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">cluster</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datacenter</category>
      <pubDate>Sat, 31 Jan 2009 00:35:22 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9420</guid>
      <dc:date>2009-01-31T00:35:22Z</dc:date>
      <clearspace:dateToText>2 months, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>75</clearspace:replyCount>
    </item>
    <item>
      <title>ESX/ESXi APC/APCUPSD Host Shutdown VI Perl Toolkit Script (ghettoShutdown.pl/upsVIShutdown.pl)</title>
      <link>http://communities.vmware.com/docs/DOC-9531</link>
      <description>&lt;h2&gt;Description&lt;/h2&gt;
Many parties have looked for the possibility of monitoring power continuity and subsequently reacting to power outages with information supplied by a UPS agent installed in a virtual machine running on a free version of ESXi. Currently, one free solution &lt;a class="jive-link-external" href="http://viops.vmware.com/home/docs/DOC-1341"&gt;How to configure ESXi to shutdown using an APC SmartUPS&lt;/a&gt; created by Joseph Holland facilitates shutdown/suspend procedures for online virtual machines in the event of a power outage given that there is some type of physical UPS system in place to provide backup power to the ESXi server. Joseph&amp;rsquo;s solution utilizes &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/"&gt;VMware VIMA&lt;/a&gt; and the open source utility &lt;a class="jive-link-external" href="http://www.apcupsd.com/"&gt;apcupsd&lt;/a&gt; however, one needs to enable the unsupported SSH console in ESXi and setup paired SSH keys between VIMA and host to utilize it. Enabling the unsupported SSH console may not be the preferred method for some end users with respect to their support contracts held with VMware. &lt;br /&gt;
&lt;br /&gt;
The following solution outlined in this document is similar to Joseph&amp;rsquo;s work although it will not necessitate enabling the unsupported SSH console on the ESXi hosts. This is made possible by utilizing the VI Perl Toolkit to communicate with the ESXi hosts. The only possible drawback however is that next revision of ESXi may disallow write operations and require that the user purchase ESXi license(s) to make full use of the VI API (read/write).&lt;br /&gt;
&lt;br /&gt;
It must be pointed out that this implementation is built on top of initial findings made by Joseph Holland (&lt;a class="jive-link-external" href="http://viops.vmware.com/home/docs/DOC-1341"&gt;APC VIOPS documentation&lt;/a&gt;) and Andrew Sullivan (&lt;a class="jive-link-external" href="http://get-admin.com/blog/?p=361"&gt;VMware VIMA VI Fastpass disection&lt;/a&gt;). Please do visit Andrew&amp;rsquo;s blog at &lt;a class="jive-link-external" href="http://get-admin.com/"&gt;get-admin&lt;/a&gt;. Thanks to &lt;a class="jive-link-external" href="http://twitter.com/depping"&gt;Duncan Epping&lt;/a&gt; for nudging the challenge via Twitter &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";)" /&gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note: Please ensure proper testing has been performed in a staging or development environment prior to implementing this solution in a production environment.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements&lt;/h2&gt;
ESX/ESXi 3.5+&lt;br /&gt;
VMware VIMA&lt;br /&gt;
VI Perl Toolkit (included in VIMA)&lt;br /&gt;
APC SmartUPS or other "smart" UPS (may require another monitoring utility)&lt;br /&gt;
&lt;a class="jive-link-external" href="http://downloads.sourceforge.net/apcupsd/apcupsd-3.14.5-1.el5.x86_64.rpm?modtime=1231876603&amp;#38;big_mirror=0"&gt;apcupsd-3.14.5-1.el5.x86_64.rpm&lt;/a&gt; (VMware VIMA is 64bit RHEL VM)&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-ups-dev ~]$ ./ghettoShutdown.pl
Required command option 'ups_vm' not specified.

Synopsis: ./ghettoShutdown.pl OPTIONS


Command-specific options:
   --sleep
      The amount of time (secs) to wait after a guestOS shutdown (default 15 secs)
   --ups_vm (required)
      The name of VM that is monitoring your UPS

Common VI options:
   --config (variable VI_CONFIG)
      Location of the VI Perl configuration file
   --encoding (variable VI_ENCODING, default 'utf8')
      Encoding: utf8, cp936 (Simplified Chinese), iso-8859-1 (German), shiftjis (Japanese)
   --help
      Display usage information for the script
   --passthroughauth (variable VI_PASSTHROUGHAUTH)
      Attempt to use pass-through authentication
   --passthroughauthpackage (variable VI_PASSTHROUGHAUTHPACKAGE, default 'Negotiate')
      Pass-through authentication negotiation package
   --password (variable VI_PASSWORD)
      Password
   --portnumber (variable VI_PORTNUMBER)
      Port used to connect to server
   --protocol (variable VI_PROTOCOL, default 'https')
      Protocol used to connect to server
   --savesessionfile (variable VI_SAVESESSIONFILE)
      File to save session ID/cookie to utilize
   --server (variable VI_SERVER, default 'localhost')
      VI server to connect to. Required if url is not present
   --servicepath (variable VI_SERVICEPATH, default '/sdk/webService')
      Service path used to connect to server
   --sessionfile (variable VI_SESSIONFILE)
      File containing session ID/cookie to utilize
   --url (variable VI_URL)
      VI SDK URL to connect to. Required if server is not present
   --username (variable VI_USERNAME)
      Username
   --verbose (variable VI_VERBOSE)
      Display additional debugging information
   --version
      Display version information for the script
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;h2&gt;Overview of the scripts:&lt;/h2&gt;
&lt;u&gt;ghettoShutdown.pl&lt;/u&gt; - This script initiates the shutdown of all VM(s) within an ESX/ESXi host excluding the virtual machine that's monitoring the UPS device and then shutdowns the host. It accepts two commandline parameters: &lt;b&gt;--sleep&lt;/b&gt; the duration in seconds to wait after a VM has initiated the shutdown before moving onto the next VM &lt;b&gt;(shutdownVM() is non-blocking function)&lt;/b&gt; and &lt;b&gt;--ups_vm&lt;/b&gt; the name of the displayName of your VM that is monotiring the UPS device [more details to come later]. &lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;upsVIShutdown.pl&lt;/u&gt; - This script is a wrapper which will hold the configurations of the order of hosts to shutdown. It may be used inconjunction with other UPS monitoring utility, though with our example, it'll be placed in the &lt;b&gt;apccontrol&lt;/b&gt; script to execute upon a power interuption. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Scenario&lt;/h2&gt;
2 ESXi 3.5u3 (free unlicensed edition):&lt;br /&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;th&gt;superion.primp-industries.com&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SQL-PROD-01&lt;/td&gt;
&lt;td&gt;Powered On&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quentin&lt;/td&gt;
&lt;td&gt;Powered Off&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;air_raid&lt;/td&gt;
&lt;td&gt;Powered On&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;skydive&lt;/td&gt;
&lt;td&gt;Suspended&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fireflight&lt;/td&gt;
&lt;td&gt;Powered Off&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;slingshot&lt;/td&gt;
&lt;td&gt;Powered On&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;th&gt;devastator.primp-industries.com&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VIMA-UPS-DEV&lt;/td&gt;
&lt;td&gt;Powered On&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bonecrusher&lt;/td&gt;
&lt;td&gt;Powered Off&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;master_mix&lt;/td&gt;
&lt;td&gt;Suspended&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;quickMigrate-X&lt;/td&gt;
&lt;td&gt;Powered Off&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;scavenger&lt;/td&gt;
&lt;td&gt;Suspended&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hook&lt;/td&gt;
&lt;td&gt;Powered On&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;long_haul&lt;/td&gt;
&lt;td&gt;Powered On&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
Simulate a power interuption and initiate shutdown of &lt;b&gt;superion&lt;/b&gt; and it's VM(s) then &lt;b&gt;devastator&lt;/b&gt; and its VM(s) using VMware VIMA: VIMA-UPS-DEV. &lt;b&gt;&lt;span style="color:blue"&gt;(note, due to the lack of our UPS being configured, this will be a simulation of the UPS utility initiate the shutdown)&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Since the script is written using the VI Perl Toolkit, this potentially could function on a Windows VM installed with the VI Perl Toolkit but you will not able to use VI Fastpass for authentication and credentials will need to be passed to &lt;b&gt;ghettoShutdown.pl&lt;/b&gt; via the execution. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;
1. Ensure your ESX/ESXi host(s) are being managed by VMware VIMA&lt;br /&gt;
&lt;br /&gt;
2. Download &lt;b&gt;ghettoShutdown.pl&lt;/b&gt; and save to /home/vi-admin and make sure it has executable permissions set (chmod +x ghettoShutdown.pl)&lt;br /&gt;
&lt;br /&gt;
3. Download &lt;b&gt;upsVIShutdown.pl&lt;/b&gt; and save to /home/vi-admin and make sure it has executable permissions set (chmod +x upsVIShutdown.pl)&lt;br /&gt;
&lt;br /&gt;
4. Edit the following sections in &lt;b&gt;upsVIShutdown.pl&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
A) Insert your ESX/ESXi host(s), use the hostname that you used to add to VIMA managment interface, if you're unsure run &lt;b&gt;sudo vifp listservers&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Remember to make sure the host that is running your VIMA VM is listed as the last entry.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="jive-quote"&gt;my @hosts = ("superion.primp-industries.com","devastator.primp-industries.com");B) Modify the logoutput of the shutdown process if you like, default will go to /tmp/upsShutdown.log&lt;/div&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;my $log_output = "/tmp/upsShutdown.log";C) Insert the displayName of VIMA or VM that is monitoring your UPS device (case sensitive)&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Very important step else you could end up shutting down the VM that is executing this script, we wouldn't want that&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="jive-quote"&gt;my $ups_vm_name = "VIMA-UPS-DEV";D) Insert the number of seconds to delay after a guestOS has initiated to be shutdown, this will vary depending on the type of applications the VM(s) may be running, tweak this value as needed.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Note, the shutdownVM() is a non-blocking function, if you set the delay to be too short the host could be powered down before the VM(s) have completed powering off (default 15 secs)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="jive-quote"&gt;my $sec_to_sleep = 15;Next, you'll want to install the apcupsd client on your VMware VIMA host with the following command:&lt;/div&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;sudo rpm -ivh apcupsd-3.14.5-1.el5.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
You'll then need to configure your apcupsd.conf and you use the following &lt;a class="jive-link-external" href="http://viops.vmware.com/home/docs/DOC-1341"&gt;document&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Next, instead of setting up a SSH paired keys and inserting the ssh command in &lt;b&gt;/etc/apcupsd/apccontrol&lt;/b&gt;, you'll be appending the following:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;doshutdown)
	echo &amp;quot;UPS ${2} initiated Shutdown Sequence&amp;quot; | ${WALL}
	/home/vi-admin/upsVIShutdown.pl 
	${SHUTDOWN} -h now &amp;quot;apcupsd UPS ${2} initiated shutdown&amp;quot;
;;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
I don't think the 3rd line is really ncessary since the VM will be on the same host that'll be shutting down. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Sample output&lt;/h2&gt;
1. We'll now manually initate the &lt;b&gt;upsVIShutdown.pl&lt;/b&gt; script as if a power interuption was detected by apcupsd client. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-ups-dev ~]$ ./upsVIShutdown.pl
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
2. As you can see from above...nothing too fancy, though the process has been kicked off and both host(s) and their VM(s) have been powered down in the order of our configuration file. To verify the output, we will power on our hosts, log into VIMA-UPS-DEV (the VM that initiated the shutdown process) and inspect the logs containing the shutdown process at &lt;b&gt;/tmp/upsShutdown.log&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-ups-dev ~]$ cat /tmp/upsShutdown.log
04-25-2008 11:17:52 -- Found ESX/ESXi host: superion.primp-industries.com!
        04-25-2008 11:17:52 -- Begin shutdown process ...
        04-25-2008 11:18:07 -- VM: slingshot shutdown succssfully.
        04-25-2008 11:18:22 -- VM: air_raid shutdown succssfully.
        04-25-2008 11:18:37 -- VM: silverbolt shutdown succssfully.
        04-25-2008 11:18:37 -- VM: skydive is already suspended.
        04-25-2008 11:18:37 -- VM: fireflight is already off.
        04-25-2008 11:18:44 -- VM: SQL-PROD-01 hard poweroff succssful (No VMware Tools, bad admin).
        04-25-2008 11:18:44 -- VM: Quentin is already off.
        04-25-2008 11:18:44 -- HOST: superion.primp-industries.com is shutting down!

04-25-2008 11:18:49 -- Found ESX/ESXi host: devastator.primp-industries.com!
        04-25-2008 11:18:49 -- Begin shutdown process ...
        04-25-2008 11:18:49 -- VM: scavenger is already suspended.
        04-25-2008 11:18:49 -- VM: bonecrusher is already off.
        04-25-2008 11:18:49 -- VM: master_mix is already suspended.
        04-25-2008 11:18:56 -- VM: scrapper hard poweroff succssful (No VMware Tools, bad admin).
        04-25-2008 11:19:04 -- VM: long_haul hard poweroff succssful (No VMware Tools, bad admin).
        04-25-2008 11:19:11 -- VM: hook hard poweroff succssful (No VMware Tools, bad admin).
        04-25-2008 11:19:11 -- VM: quickMigrate-X is already off.
        04-25-2008 11:19:12 -- Shutting down final host: devastator.primp-industries.com and UPS VM: VIMA-UPS-DEV!
==============================================================================================
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmware_vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">apc</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">apcupsd</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">shutdown_script</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vi_perl_toolkit</category>
      <pubDate>Mon, 16 Feb 2009 08:51:14 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9531</guid>
      <dc:date>2009-02-16T08:51:14Z</dc:date>
      <clearspace:dateToText>2 months, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>19</clearspace:replyCount>
    </item>
    <item>
      <title>ftCLI.pl - VMware Fault Tolerant Managment</title>
      <link>http://communities.vmware.com/docs/DOC-10279</link>
      <description>&lt;b&gt;Description&lt;/b&gt;: Managing VMware Fault Tolerant via the command line. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Params&lt;/b&gt;: The following operations are supported: create|enable|disable|stop&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement&lt;/b&gt;: &lt;br /&gt;
vSphere vCenter 4.0&lt;br /&gt;
ESX(i) 4.0&lt;br /&gt;
Advanced, Enterprise, Enterprise Plus or Eval licensing&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Assumption&lt;/b&gt;: Your environment is FT capable and is configured properly&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Sample Execution using ftCLI.pl&lt;/h2&gt;
&lt;hr /&gt;
&lt;br /&gt;
To create a newly fault tolerant VM, you'll want to use &lt;b&gt;create&lt;/b&gt; operation and specify the VM that you would like to protect (A valid host within the cluster will be selected for you):&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI.pl --server reflex.primp-industries.com --username primp --vmname Devastator --operation create
Enter password:
Creating FT secondary VM for &amp;quot;Devastator&amp;quot; ...
        Successfully created FT protection for &amp;quot;Devastator&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you have fault tolerant enabled on a specific VM and would like to disable, you'll want to use &lt;b&gt;disable&lt;/b&gt; operation: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI.pl --server reflex.primp-industries.com --username primp --vmname Devastator --operation disable
Enter password:
Disabling FT secondary VM for &amp;quot;Devastator&amp;quot; on host &amp;quot;everest.primp-industries.com&amp;quot; ...
        Successfully disabled FT protection for &amp;quot;Devastator&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you have fault tolerant disabled on a specific VM and would like to re-enable, you'll want to use &lt;b&gt;enable&lt;/b&gt; operation: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI.pl --server reflex.primp-industries.com --username primp --vmname Devastator --operation enable
Enter password:
Enabling FT secondary VM for &amp;quot;Devastator&amp;quot; on host &amp;quot;everest.primp-industries.com&amp;quot; ...
        Successfully enabled FT protection for &amp;quot;Devastator&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you like to turn off fault tolerant completely and destroy the secondary VM, you'll want to use &lt;b&gt;stop&lt;/b&gt; operation:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI.pl --server reflex.primp-industries.com --username primp --vmname Devastator --operation stop
Enter password:
Turning off FT for secondary VM for Devastator ...
        Successfully stopped FT protection for &amp;quot;Devastator&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;h2&gt;Sample Execution using ftCLI2.pl&lt;/h2&gt;
&lt;hr /&gt;
&lt;br /&gt;
Hosts to configure FT logging on:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat hostlists
simplejack.primp-industries.com
lazarus.primp-industries.com
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
If you would like to enable FT logging on your FT portgroup for a specific ESX(i) host, you'll want to use &lt;b&gt;config_enable&lt;/b&gt; specifying &lt;b&gt;host&lt;/b&gt; and &lt;b&gt;portgroup_name&lt;/b&gt; param:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI2.pl --server reflex.primp-industries.com --username primp --operation config_enable --hostlist hostlists --portgroup_name ft_portgroup
Enabling FT logging on &amp;quot;simplejack.primp-industries.com&amp;quot; for port group &amp;quot;ft_portgroup&amp;quot; ...
        Successfully enabled FT logging on &amp;quot;simplejack.primp-industries.com&amp;quot; for port group ft_portgroup.
Enabling FT logging on &amp;quot;lazarus.primp-industries.com&amp;quot; for port group &amp;quot;ft_portgroup&amp;quot; ...
        Successfully enabled FT logging on &amp;quot;lazarus.primp-industries.com&amp;quot; for port group ft_portgroup.
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you would like to disable FT logging on your FT portgroup for a specific ESX(i) host, you'll want to use &lt;b&gt;config_disable&lt;/b&gt; specifying &lt;b&gt;host&lt;/b&gt; and &lt;b&gt;portgroup_name&lt;/b&gt; param:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI2.pl --server reflex.primp-industries.com --username primp --operation config_disable --hostlist hostlists --portgroup_name ft_portgroup
Disabling FT logging on &amp;quot;simplejack.primp-industries.com&amp;quot; for port group &amp;quot;ft_portgroup&amp;quot; ...
        Successfully disabled FT logging on &amp;quot;simplejack.primp-industries.com&amp;quot; for port group ft_portgroup.
Disabling FT logging on &amp;quot;lazarus.primp-industries.com&amp;quot; for port group &amp;quot;ft_portgroup&amp;quot; ...
        Successfully disabled FT logging on &amp;quot;lazarus.primp-industries.com&amp;quot; for port group ft_portgroup.

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
To create a newly fault tolerant VM, you'll want to use &lt;b&gt;create&lt;/b&gt; operation and specify the VM that you would like to protect (A valid host within the cluster will be selected for you):&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI2.pl --server reflex.primp-industries.com --username primp --operation create --vmname protect_thee_vm
Creating FT secondary VM for &amp;quot;protect_thee_vm&amp;quot; ...
        Successfully created FT protection for &amp;quot;protect_thee_vm&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you have fault tolerant configured and would like to enable it for a VM, you would use &lt;b&gt;enable&lt;/b&gt; operation: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI2.pl --server reflex.primp-industries.com --username primp --operation disable --vmname protect_thee_vm
Disabling FT secondary VM for &amp;quot;protect_thee_vm&amp;quot; on host &amp;quot;simplejack.primp-industries.com&amp;quot; ...
        Successfully disabled FT protection for &amp;quot;protect_thee_vm&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you have fault tolerant configured and would like to enable it for a VM, you would use &lt;b&gt;disable&lt;/b&gt; operation: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI2.pl --server reflex.primp-industries.com --username primp --operation enable --vmname protect_thee_vm
Enabling FT secondary VM for &amp;quot;protect_thee_vm&amp;quot; on host &amp;quot;simplejack.primp-industries.com&amp;quot; ...
        Successfully enabled FT protection for &amp;quot;protect_thee_vm&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
If you like to turn off fault tolerant completely and destroy the secondary VM, you'll want to use &lt;b&gt;stop&lt;/b&gt; operation:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./ftCLI2.pl --server reflex.primp-industries.com --username primp --operation stop --vmname protect_thee_vm
Turning off FT for secondary VM for protect_thee_vm ...
        Successfully stopped FT protection for &amp;quot;protect_thee_vm&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ft</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">fault_tolerant</category>
      <pubDate>Wed, 01 Jul 2009 00:26:32 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10279</guid>
      <dc:date>2009-07-01T00:26:32Z</dc:date>
      <clearspace:dateToText>2 months, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>queryVMsCreated.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10773</link>
      <description>Script to query when VM(s) were created (cloned, deployed or created). &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0 &amp;#38; vCenter 2.5 or 4.0 (&lt;span style="color:red"&gt;&lt;b&gt;vCenter is a requirement&lt;/b&gt;&lt;/span&gt;)&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./queryVMsCreated.pl --server reflex.primp-industries.com --username primp

Enter password:
VM                                                                                      | TIME                          | USERNAME
Created virtual machine vm-1 on esxi40-1.primp-industries.com in Primp-R&amp;#38;D              | 2009-09-21T00:29:24.576999Z   | root
Created virtual machine vm-2 on esxi40-1.primp-industries.com in Primp-R&amp;#38;D              | 2009-09-21T00:29:09.362999Z   | root
Created virtual machine test on esx40-2.primp-industries.com in Primp-R&amp;#38;D               | 2009-09-20T23:46:06.04Z       | PRIMP-IND\primp
Created virtual machine rdm-vm on himalaya.primp-industries.com in Primp-Production     | 2009-09-20T20:58:56.807Z      | PRIMP-IND\primp
Created virtual machine test on esxi40-1.primp-industries.com in Primp-R&amp;#38;D              | 2009-09-20T20:03:22.413Z      | PRIMP-IND\primp
Created virtual machine PROTECT-ME-PLEASE on esxi40-1.primp-industries.com in Primp-R&amp;#38;D | 2009-09-18T23:01:59.149999Z   | PRIMP-IND\primp
Created virtual machine ESXi40-1 on himalaya.primp-industries.com in Primp-Production   | 2009-09-18T20:58:52.353Z      | PRIMP-IND\primp
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">general</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vms_created</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">created</category>
      <pubDate>Tue, 22 Sep 2009 04:27:32 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10773</guid>
      <dc:date>2009-09-22T04:27:32Z</dc:date>
      <clearspace:dateToText>2 months, 3 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>listDatastoreFiles.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10788</link>
      <description>This script lists the contents of a specific datastore on ESX(i) and all subsequent folders providing the fileName, owner, fileSize and the type of file. In the current form, the script is to be executed against a specific ESX(i) host, but can be extended to query against a vCenter host, I will leave that as an additional exercise for end users.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./listDatastoreFiles.pl --server esxi40-1.primp-industries.com --username root --datastore esxi40-1-local-storage
Enter password:

Name                                    Owner                                   Size                    Type
vm-1                                     | root                              | 1.50 KB              | FolderFileInfo
vm-2                                     | root                              | 980 Bytes            | FolderFileInfo
vm-1.vmx                                 | root                              | 2.63 KB              | VmConfigFileInfo
vm-1.vmdk                                | root                              | 0                    | VmDiskFileInfo
vm-1.nvram                               | root                              | 8.48 KB              | VmNvramFileInfo
vmware-1.log                             | root                              | 31.62 KB             | VmLogFileInfo
vmware.log                               | root                              | 30.81 KB             | VmLogFileInfo
vm-1.vmxf                                | root                              | 259 Bytes            | FileInfo
vm-1.vmsd                                | root                              | 0                    | FileInfo
vm-1-13e373e7.vswp                       | root                              | 1.00 GB              | FileInfo
vm-2.vmx                                 | root                              | 1.73 KB              | VmConfigFileInfo
vm-2.vmdk                                | root                              | 0                    | VmDiskFileInfo
vm-2.vmxf                                | root                              | 259 Bytes            | FileInfo
vm-2.vmsd                                | root                              | 0                    | FileInfo

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datastore</category>
      <pubDate>Mon, 21 Sep 2009 16:58:17 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10788</guid>
      <dc:date>2009-09-21T16:58:17Z</dc:date>
      <clearspace:dateToText>2 months, 4 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>Instructions on how to install vCLI 32bit/64bit on Ubuntu 9.04</title>
      <link>http://communities.vmware.com/docs/DOC-10698</link>
      <description>Apparently &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vcli/"&gt;VMware vCLI&lt;/a&gt; does not support Ubuntu 9.04 out of the box per &lt;a class="jive-link-message" href="http://communities.vmware.com/message/1358374#1358374"&gt;Re: Installing vCLI on Ubuntu Server 9.04&lt;/a&gt;, but thanks to &lt;a class="jive-link-profile" href="http://communities.vmware.com/people/eparthuisot"&gt;eparthuisot&lt;/a&gt;, it's actually only two packages that you need to install to get the latest version of vCLI installed on your minimal Ubunutu server. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Setup:&lt;/b&gt; &lt;br /&gt;
Ubuntu server 9.04 (32bit or 64bit)&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vcli/"&gt;VMware-vSphere-CLI-4.0.0-161974.i386.tar&lt;/a&gt; (32bit installer)&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vcli/"&gt;VMware-vSphere-CLI-4.0.0-161974.x86_64.tar&lt;/a&gt; (64bit installer)&lt;br /&gt;
libxml-libxml-perl &lt;br /&gt;
libclass-methodmaker-perl&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Instructions:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
0. Verify version of Ubuntu:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.04
Release:        9.04
Codename:       jaunty
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;h2&gt;Steps for installing on Ubuntu Server 9.04 32bit:&lt;/h2&gt;
&lt;br /&gt;
1. Download vCLI from VMware's site and upload via scp or other means to your Ubuntu system&lt;br /&gt;
&lt;br /&gt;
2. Download and install &lt;b&gt;libxml-libxml-perl&lt;/b&gt; and &lt;b&gt;libclass-methodmaker-perl&lt;/b&gt; and &lt;b&gt;libcrypt-ssleay-perl&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ sudo apt-get install libxml-libxml-perl
[sudo] password for primp:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libxml-libxml-common-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl
The following NEW packages will be installed:
  libxml-libxml-common-perl libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl
0 upgraded, 5 newly installed, 0 to remove and 51 not upgraded.
Need to get 523kB of archives.
After this operation, 2064kB of additional disk space will be used.
Do you want to continue [Y/n]? y
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ sudo apt-get install libclass-methodmaker-perl
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ sudo apt-install libcrypt-ssleay-perl 
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;Note:&lt;/b&gt; If you're doing this as a regular user, you may need to use sudo or switch over to root to perform these elevated operations&lt;br /&gt;
&lt;br /&gt;
3. Extract vCLI tar file&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ tar -zxvf VMware-vSphere-CLI-4.0.0-161974.i386.tar.gz
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
4. Install vCLI&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ cd vmware-vsphere-cli-distrib/

primp@ubuntu-test:~/vmware-vsphere-cli-distrib$ sudo ./vmware-install.pl
Creating a new vSphere CLI installer database using the tar4 format.

Installing vSphere CLI.

Installing version 161974 of vSphere CLI


You must read and accept the vSphere CLI End User License Agreement to
continue.
Press enter to display it.

......
&amp;lt;stick with the defaults&amp;gt;
......

Please wait while copying vSphere CLI files...

The installation of vSphere CLI 4.0.0 build-161974 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command:
&amp;quot;/usr/bin/vmware-uninstall-vSphere-CLI.pl&amp;quot;.

This installer has successfully installed both vSphere CLI and the vSphere SDK
for Perl.

Enjoy,

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
5. Verify vCLI&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test-32bit:~$ esxcfg-nas -l --server himalaya.primp-industries.com --username root
Enter password:

dlgCore-NFS-bigboi.VM-Backups is /exports/XXXXXX from A.B.C.D mounted
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;h2&gt;Steps for installing on Ubuntu Server 9.04 64bit:&lt;/h2&gt;
&lt;br /&gt;
1. Download vCLI from VMware's site and upload via scp or other means to your Ubuntu system&lt;br /&gt;
&lt;br /&gt;
2. Download and install &lt;b&gt;libxml-libxml-perl&lt;/b&gt; and &lt;b&gt;libclass-methodmaker-perl&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ sudo apt-get install libxml-libxml-perl
[sudo] password for primp:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libxml-libxml-common-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl
The following NEW packages will be installed:
  libxml-libxml-common-perl libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl
0 upgraded, 5 newly installed, 0 to remove and 51 not upgraded.
Need to get 523kB of archives.
After this operation, 2064kB of additional disk space will be used.
Do you want to continue [Y/n]? y
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ sudo apt-get install libclass-methodmaker-perl
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;Note:&lt;/b&gt; If you're doing this as a regular user, you may need to use sudo or switch over to root to perform these elevated operations&lt;br /&gt;
&lt;br /&gt;
3. Extract vCLI tar file&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ tar -zxvf VMware-vSphere-CLI-4.0.0-161974.x86_64.tar
.......
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
4. Install vCLI&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test:~$ cd vmware-vsphere-cli-distrib/

primp@ubuntu-test:~/vmware-vsphere-cli-distrib$ sudo ./vmware-install.pl
Creating a new vSphere CLI installer database using the tar4 format.

Installing vSphere CLI.

Installing version 161974 of vSphere CLI


You must read and accept the vSphere CLI End User License Agreement to
continue.
Press enter to display it.

......
&amp;lt;stick with the defaults&amp;gt;
......

Please wait while copying vSphere CLI files...

The installation of vSphere CLI 4.0.0 build-161974 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command:
&amp;quot;/usr/bin/vmware-uninstall-vSphere-CLI.pl&amp;quot;.

This installer has successfully installed both vSphere CLI and the vSphere SDK
for Perl.

Enjoy,

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
5. Verify vCLI&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;primp@ubuntu-test-64bit:~$ esxcfg-nas -l --server himalaya.primp-industries.com --username root
Enter password:

dlgCore-NFS-bigboi.VM-Backups is /exports/XXXXXX from A.B.C.D mounted
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
and now you're on your way to using vCLI on Ubuntu!</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">ubuntu</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">9.04</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcli</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vsphere</category>
      <pubDate>Thu, 10 Sep 2009 02:17:59 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10698</guid>
      <dc:date>2009-09-10T02:17:59Z</dc:date>
      <clearspace:dateToText>2 months, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
    </item>
    <item>
      <title>How to install VDDK 1.1 on vMA 4.0 (libfuse.so.2 fix)</title>
      <link>http://communities.vmware.com/message/1368096</link>
      <description>&lt;br /&gt;
Thanks for the tip William.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
I agree with you on the "challanges" vmware has with their linux appliances at this time. At VMworld vExpert session this year Steve Herrod said they are taking steps to address this.&lt;br /&gt;
&lt;p /&gt;
Why not use CentOS and publish these tools (VIX, VDDK, etc)  to the VMware YUM Repo?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;baseurl=http://packages.vmware.com/tools/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://communities.vmware.com/thread/198161"&gt;http://communities.vmware.com/thread/198161&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/pdf/osp_install_guide.pdf"&gt;http://www.vmware.com/pdf/osp_install_guide.pdf&lt;/a&gt; &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
I b e n</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">libfuse.so.2</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vddk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vddk1.1</category>
      <pubDate>Sat, 19 Sep 2009 01:32:58 GMT</pubDate>
      <author>iben</author>
      <guid>http://communities.vmware.com/message/1368096</guid>
      <dc:date>2009-09-19T01:32:58Z</dc:date>
      <clearspace:dateToText>2 months, 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>vMA Compatible Agent/Scripts(Third Party) Community List</title>
      <link>http://communities.vmware.com/docs/DOC-10772</link>
      <description>Folks,&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to list third party agents / scripts that work with vSphere Management Assistant. &lt;br /&gt;
&lt;br /&gt;
If you are a third party software vendor, or anyone with an interesting script that you have tested on vSphere Management Assitant, please add to the list below. The benefit is that the community will be able to determine and quickly see if your agent runs on vMA. This is very much a community effort and look for your help in maintaining this list. &lt;br /&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;Product Name&lt;/td&gt;
&lt;td&gt;Owner&lt;/td&gt;
&lt;td&gt;Link&lt;/td&gt;
&lt;td&gt;vMA Compatible Version&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VMware Health Check Report v0.9.4 &lt;/td&gt;
&lt;td&gt;William Lam &lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9420"&gt;VMware Health Check Report v0.9.4&lt;/a&gt; &lt;/td&gt;
&lt;td&gt;VIMA 1.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VMware vSphere Health Check Report v1.2 &lt;/td&gt;
&lt;td&gt;William Lam &lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9842"&gt;VMware vSphere Health Check Report v1.3&lt;/a&gt; &lt;/td&gt;
&lt;td&gt;vMA 4.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ghettoShutdown.pl/upsVIShutdown.pl &lt;/td&gt;
&lt;td&gt;William Lam &lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9531"&gt;ESX/ESXi APC/APCUPSD Host Shutdown VI Perl Toolkit Script (ghettoShutdown.pl/upsVIShutdown.pl)&lt;/a&gt; &lt;/td&gt;
&lt;td&gt;VIMA 1.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ghettoVCBg2 &lt;/td&gt;
&lt;td&gt;William Lam &lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9843"&gt;ghettoVCBg2 - Free alternative for backing up VMs in ESX(i) 3.5 and 4.x (no SSH console required!)&lt;/a&gt; &lt;/td&gt;
&lt;td&gt;vMA 4.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">third_party_agents_scripts</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">register_your_agent_script</category>
      <pubDate>Tue, 15 Sep 2009 23:57:33 GMT</pubDate>
      <author>heyitspablo</author>
      <guid>http://communities.vmware.com/docs/DOC-10772</guid>
      <dc:date>2009-09-15T23:57:33Z</dc:date>
      <clearspace:dateToText>2 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>getAllVMsDiskFormatType.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10761</link>
      <description>Script to retrieve VMs disk format type, specifically either &lt;b&gt;'thick'&lt;/b&gt; or &lt;b&gt;'thin'&lt;/b&gt; from either an ESX(i) host or vCenter. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
VIMA 1.0 or vMA 4.0&lt;br /&gt;
VI Perl Toolkit or vSphere SDK for Perl&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getAllVMsDiskFormatType.pl --server himalaya.primp-industries.com --username root 
Enter password:

vm-1
=============================================
[himalaya-local-storage-1] vm-1/vm-1.vmdk isThinProv: NO
=============================================

vm-2
=============================================
[himalaya-local-storage-1] vm-2/vm-2.vmdk isThinProv: NO
=============================================

vm-3
=============================================
[himalaya-local-storage-2] vm-3/vm-3.vmdk isThinProv: YES
=============================================

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">disk_format</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin_provisioned</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">thin</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Mon, 14 Sep 2009 22:14:55 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10761</guid>
      <dc:date>2009-09-14T22:14:55Z</dc:date>
      <clearspace:dateToText>2 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>executeCommandUsingFastPass.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10730</link>
      <description>Execute vCLI/vSphere SDK for Perl scripts utilizing VMware vMA/VIMA vi-fastpass without user interaction or issuing &lt;b&gt;vifpinit&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Setup:&lt;/b&gt;&lt;br /&gt;
Here is the input file which contains the list of ESX(i) hosts that are being managed by VIMA/vMA&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat hostlist
lazarus.primp-industries.com
kang.primp-industries.com

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Here is just a dummy conf that is read in because of the default parsing/validation that is required for some of the perl modules that are written by default&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat DUMMY_CONF
VI_USERNAME=dummy
VI_PASSWORD=dummy

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Execute a vSphere SDK for Perl utility called &lt;b&gt;viversion.pl&lt;/b&gt; across set of hosts:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./executeCommandUsingFastPass.pl --hostlist hostlist --config DUMMY_CONF
Executing viversion.pl on Server: lazarus.primp-industries.com 
================ RESULTS ================

This is  HostAgent 4.0

This is VMware ESX 4.0.0 build-164009 running on x86 ESX Server microkernel
The product Line ID is a unique identifier for a product line. This is VMware ESX Server product.

Short form of the product name is VMware ESX having version 4.0.0

System is running on x86 ESX Server microkernel


Executing viversion.pl on Server: kang.primp-industries.com
================ RESULTS ================

This is  HostAgent 2.5u2

This is VMware ESX Server 3i 3.5.0 build-110271 running on x86 ESX Server microkernel
The product Line ID is a unique identifier for a product line. product line id is embeddedEsx
Short form of the product name is VMware ESX Server 3i having version 3.5.0

System is running on x86 ESX Server microkernel

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
You can easily modify the script to execute additional commands or even write directly to the vSphere SDK for Perl and use the fastpass credentials to connect to your hosts.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">host_operation</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vifpinit</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vifp</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <pubDate>Sat, 12 Sep 2009 18:15:13 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10730</guid>
      <dc:date>2009-09-12T18:15:13Z</dc:date>
      <clearspace:dateToText>2 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>getDatastoreUUID.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10706</link>
      <description>Retrieve datastore UUID from either ESX(i) host or vCenter.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getDatastoreUUID.pl --server himalaya.primp-industries.com --username root --datastore himalaya-local-SAS.Constellation
Enter password:

Datastore: himalaya-local-SAS.Constellation     UUID: 4a30b278-33269041-4a07-003048d9586a

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">storage</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">host_operation</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datastore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">uuid</category>
      <pubDate>Fri, 11 Sep 2009 03:00:10 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10706</guid>
      <dc:date>2009-09-11T03:00:10Z</dc:date>
      <clearspace:dateToText>2 months, 2 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>getWWPN.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10687</link>
      <description>Script to extract WWPN from you vmhba's provided a list of ESX(i) hosts. This script could be re-written to query from a specific ESX(i) host but currently requires host to be connected and managed by vCenter. Useful script if you need to re-zone existing or new hosts&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Input file which contains the list of ESX(i) hosts that is currently being managed by vCenter&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat hosts
helga.primp-industries.com
bertha.primp-industries.com

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Execute script against your vCenter that is managing the list of ESX(i) hosts&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getWWPN.pl --server refelex.primp-industries.com --username primp --list hosts
Enter password:

helga.primp-industries.com-vmhba1    10:00:00:00:c9:79:c9:84
helga.primp-industries.com-vmhba2    10:00:00:00:c9:79:c9:85
bertha.primp-industries.com-vmhba1    10:00:00:00:c9:7d:74:e8
bertha.primp-industries.com-vmhba2    10:00:00:00:c9:7d:74:e9 

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">wwpn</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">hba</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">configuration</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">host_operation</category>
      <pubDate>Wed, 09 Sep 2009 20:47:34 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10687</guid>
      <dc:date>2009-09-09T20:47:34Z</dc:date>
      <clearspace:dateToText>2 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>getVMsResourcePools.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10637</link>
      <description>This script extracts all the &lt;b&gt;Resource Pools&lt;/b&gt; for a given ESX(i) host or vCenter and provides a list of VMs under each resource pool. If you're not using any resource pools, then all VMs under a given host will be mapped to the root resource pool which is just called &lt;u&gt;&lt;b&gt;Resources&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getVMsResourcePools.pl --server reflex.primp-industries.com --username primp
Enter password:
Resource Pools:

Production -
        vm2
        sap2
        exchange2

Proof Of Concept -
        vm1
        sap1
        exchange1

Resources -
        vm01
        vm02
        vm03
        vm04
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Mon, 31 Aug 2009 02:35:03 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10637</guid>
      <dc:date>2009-08-31T02:35:03Z</dc:date>
      <clearspace:dateToText>2 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>factoryResetESXi.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10651</link>
      <description>Read a pretty interesting &lt;a class="jive-link-external" href="http://www.rtfm-ed.co.uk/?p=1671"&gt;article&lt;/a&gt; by &lt;a class="jive-link-external" href="http://www.rtfm-ed.co.uk/"&gt;Mike Laverick&lt;/a&gt; this morning regarding factory resetting ESXi systems, here is a Perl script that does the same thing. (note, in the current form of the script, it requires ESXi host to be managed by vMA. The reason for this is that additional credentials do not need to be specify)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt; &lt;br /&gt;
vCenter 2.5 or vCenter 4.0&lt;br /&gt;
ESXi 3.5 or 4.0&lt;br /&gt;
vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./factoryResetESXi.pl --server reflex.primp-industries.com --username primp --vihost kang.primp-industries.com
Enter password:
&amp;quot;kang.primp-industries.com&amp;quot; is entering maintenance mode ...
        &amp;quot;kang.primp-industries.com&amp;quot; has successfully entered maintenance mode!
Removing &amp;quot;kang.primp-industries.com&amp;quot; from vCenter ...
        &amp;quot;kang.primp-industries.com&amp;quot; has successfully been remove from vCenter!
Resetting factory settings on &amp;quot;kang.primp-industries.com&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">configuration</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_reset</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">factory_reset</category>
      <pubDate>Fri, 28 Aug 2009 17:08:51 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10651</guid>
      <dc:date>2009-08-28T17:08:51Z</dc:date>
      <clearspace:dateToText>2 months, 4 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Ghetto Tech Preview - ghettoVCB-restore.sh</title>
      <link>http://communities.vmware.com/message/1346680</link>
      <description>Nice work! Thanks  &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/blush.gif" alt=":8}" /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">ghettovcb-restore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ghettovcb</category>
      <pubDate>Wed, 26 Aug 2009 07:32:00 GMT</pubDate>
      <author>bulletprooffool</author>
      <guid>http://communities.vmware.com/message/1346680</guid>
      <dc:date>2009-08-26T07:32:00Z</dc:date>
      <clearspace:dateToText>3 months, 16 hours ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>Ghetto Tech Preview - ghettoVCB-restore.sh - Restoring VM's backed up from ghettoVCB to ESX(i) 3.5 and 4.0+</title>
      <link>http://communities.vmware.com/docs/DOC-10595</link>
      <description>&lt;h1&gt;Table of Contents:&lt;/h1&gt;
&lt;ul&gt;

&lt;ul&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Requirements&lt;/li&gt;
&lt;li&gt;Setup&lt;/li&gt;
&lt;li&gt;Usage&lt;/li&gt;
&lt;li&gt;Sample Execution&lt;/li&gt;
&lt;li&gt;Change Log&lt;/li&gt;
&lt;li&gt;Known Issues&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Description:&lt;/h2&gt;
&lt;br /&gt;
This script performs a restore of virtual machines backed up using &lt;b&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt;&lt;/b&gt;. Tasks are performed directly within the service console of the ESX(i) server involved in the restore process. This is currently a Ghetto Tech Preview that includes basic restore functionality. Two main use cases are supported in this release:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1)&lt;/b&gt;	Restore a VM that contains ALL VMDKs on one datastore&lt;br /&gt;
&lt;b&gt;2)&lt;/b&gt;	Restore a VM that has VMDKs located on multiple datastores&lt;br /&gt;
&lt;br /&gt;
In all cases, restored VMs will have VMDKs that reside on the SAME datastore chosen for the restore process. Please ensure that there is sufficient space on the target datastore before attempting a restore operation. In the near future, restoration of VMs backed up using the compression feature of ghettoVCB will be implemented.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:blue"&gt;Features&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Support for logging output&lt;/li&gt;
&lt;li&gt;Support for various debugging output&lt;/li&gt;
&lt;li&gt;Allow spaces in VM(s) backup list (not recommended and not a best practice)&lt;/li&gt;
&lt;li&gt;Support for restore in the following formats: &lt;b&gt;ZEROEDTHICK&lt;/b&gt; (default behavior), &lt;b&gt;2GB SPARSE&lt;/b&gt;, &lt;b&gt;THIN&lt;/b&gt; or &lt;b&gt;EAGERZEROEDTHICK&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements:&lt;/h2&gt;
VMs backed up using &lt;b&gt;&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB.sh&lt;/a&gt;&lt;/b&gt; on ESX(i) 3.5 or 4.0&lt;br /&gt;
SSH console access to ESX/ESXi 3.5 or 4.0 host&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Setup:&lt;/h2&gt;
&lt;b&gt;1)&lt;/b&gt; Download &lt;b&gt;ghettoVCB-restore.sh&lt;/b&gt; to either your ESX or ESXi&lt;br /&gt;
&lt;b&gt;2)&lt;/b&gt; Change the permissions on the script to ensure it can be executed:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;chmod +x ghettoVCB-restore.sh
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Usage:&lt;/h2&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB-restore.sh
###############################################################################
#
# ghettoVCB-restore for ESX/ESXi 3.5u2+ &amp;#38; 4.x+
# Author: William Lam
# http://www.engineering.ucsb.edu/~duonglt/vmware/
# Created: 08/18/2009
# Last modified: 08/25/2009
#
###############################################################################

Usage: ./ghettoVCB-restore.sh -c [VM_BACKUP_UP_LIST] -l [LOG_FILE]

OPTIONS:
   -c     VM backup list
   -l     File ot output logging

(e.g.)

Output will go to stdout
        ./ghettoVCB-restore.sh -c vms_to_restore

Output will log to /tmp/ghettoVCB-restore.log
        ./ghettoVCB-restore.sh -c vms_to_restore -l /tmp/ghettoVCB-restore.log

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Standard input for script is a file that contains:&lt;br /&gt;
&lt;b&gt;1)&lt;/b&gt;	Full path to the backed up VM&lt;br /&gt;
&lt;b&gt;2)&lt;/b&gt;	Full restore path&lt;br /&gt;
&lt;b&gt;3)&lt;/b&gt;	Restoration disk format&lt;br /&gt;
Reminder: When creating this file on a non-Linux/UNIX system, one may introduce ^M characters that will cause the script to misbehave. To ensure that this does not occur, please create the file on the ESX/ESXi host. &lt;br /&gt;
&lt;br /&gt;
Here is a sample of what the file should look like:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# cat vms_to_restore
#&amp;quot;&amp;lt;DIRECTORY or .TGZ&amp;gt;;&amp;lt;DATASTORE_TO_RESTORE_TO&amp;gt;;&amp;lt;DISK_FORMAT_TO_RESTORE&amp;gt;&amp;quot;
# DISK_FORMATS
# 1 = zeroedthick
# 2 = 2gbsparse
# 3 = thin
# 4 = eagerzeroedthick
# e.g.
# &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/VCAP/VCAP-2009-08-18--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;1&amp;quot;
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/VCAP/VCAP-2009-08-20--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;1&amp;quot;
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;1&amp;quot;
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;2&amp;quot;
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/vMA-resize/vMA-resize-2009-08-23--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;3&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Comments in the input file is acceptable so long as the intended line is preceded by a #. The above sample VM restore file, &lt;b&gt;vms_to_restore&lt;/b&gt;, describes the following backup:&lt;br /&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;VM to restore&lt;/td&gt;
&lt;td&gt;Datastore to restore to&lt;/td&gt;
&lt;td&gt;VMDK format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/VCAP/VCAP-2009-08-20--1&lt;/td&gt;
&lt;td&gt;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&lt;/td&gt;
&lt;td&gt;zeroedthick&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1&lt;/td&gt;
&lt;td&gt;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&lt;/td&gt;
&lt;td&gt;zeroedthick&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1&lt;/td&gt;
&lt;td&gt;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&lt;/td&gt;
&lt;td&gt;2gbsparse&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/vMA-resize/vMA-resize-2009-08-23--1&lt;/td&gt;
&lt;td&gt;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&lt;/td&gt;
&lt;td&gt;thin&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Sample Execution:&lt;/h2&gt;
&lt;br /&gt;
&lt;b&gt;Execute restore with output going to stdout (restore the first two VMs listed from above):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Input file:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# cat vms_to_restore
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/VCAP/VCAP-2009-08-20--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;1&amp;quot;
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;1&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB-restore.sh -c vms_to_restore
################## Restoring VM: VCAP  #####################
Start time: Sun Aug 23 22:31:26 PDT 2009
Restoring VM from: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/VCAP/VCAP-2009-08-20--1&amp;quot;
Restoring VM to Datastore: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&amp;quot; using Disk Format: &amp;quot;zeroedthick&amp;quot;
Creating VM directory: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/VCAP&amp;quot; ...
Copying &amp;quot;VCAP.vmx&amp;quot; file ...
Restoring VM's VMDK(s) ...
Updating VMDK entry in &amp;quot;VCAP.vmx&amp;quot; file ...
Destination disk format: VMFS zeroedthick
Cloning disk '/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/VCAP/VCAP-2009-08-20--1/VCAP.vmdk'...
Clone: 100% done.
Registering VCAP ...
End time: Sun Aug 23 22:32:32 PDT 2009
################## Completed restore for VCAP! #####################

################## Restoring VM: sideswipe  #####################
Start time: Sun Aug 23 22:32:32 PDT 2009
Restoring VM from: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1&amp;quot;
Restoring VM to Datastore: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&amp;quot; using Disk Format: &amp;quot;zeroedthick&amp;quot;
Creating VM directory: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/sideswipe&amp;quot; ...
Copying &amp;quot;sideswipe.vmx&amp;quot; file ...
Restoring VM's VMDK(s) ...
Updating VMDK entry in &amp;quot;sideswipe.vmx&amp;quot; file ...
Destination disk format: VMFS zeroedthick
Cloning disk '/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1/sideswipe.vmdk'...
Clone: 100% done.
Updating VMDK entry in &amp;quot;sideswipe.vmx&amp;quot; file ...
Destination disk format: VMFS zeroedthick
Cloning disk '/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1/4a31aece-e34d675a-72cf-003048d9586a/sideswipe.vmdk'...
Clone: 100% done.
Updating VMDK entry in &amp;quot;sideswipe.vmx&amp;quot; file ...
Destination disk format: VMFS zeroedthick
Cloning disk '/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1/4a31aece-e34d675a-72cf-003048d9586a/sideswipe_1.vmdk'...
Clone: 100% done.
Updating VMDK entry in &amp;quot;sideswipe.vmx&amp;quot; file ...
Destination disk format: VMFS zeroedthick
Cloning disk '/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/sideswipe/sideswipe-2009-08-20--1/sideswipe_1.vmdk'...
Clone: 100% done.
Registering sideswipe ...
End time: Sun Aug 23 22:34:46 PDT 2009
################## Completed restore for sideswipe! #####################


Start time: Sun Aug 23 22:31:26 PDT 2009
End   time: Sun Aug 23 22:34:46 PDT 2009
Duration  : 3.33 Minutes


---------------------------------------------------------------------------------------------------------------

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Execute restore with output going to log file &lt;b&gt;/tmp/ghettoVCB-restore.log&lt;/b&gt; (restore the last two VMs listed from above):&lt;br /&gt;
&lt;br /&gt;
Input file:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# cat vms_to_restore
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;2&amp;quot;
&amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/vMA-resize/vMA-resize-2009-08-23--1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;3&amp;quot;

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB-restore.sh -c vms_to_restore -l /tmp/ghettoVCB-restore.log
Logging output to &amp;quot;/tmp/ghettoVCB-restore.log&amp;quot; ...

cat /tmp/ghettoVCB-restore.log
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Display debug information level 1&lt;/b&gt;:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB-restore.sh -c vms_to_restore -d 1

################ DEBUG MODE ##############
Virtual Machine: &amp;quot;VCAP&amp;quot;
VM_VMX: &amp;quot;VCAP.vmx&amp;quot;
VM_ORG_FOLDER: &amp;quot;VCAP-2009-08-20--1&amp;quot;
VM_FOLDER_NAME: &amp;quot;VCAP&amp;quot;
VMDK_LIST_TO_MODIFY:
scsi0:0.fileName = &amp;quot;VCAP.vmdk&amp;quot;
scsi0:0.fileName  = &amp;quot;VCAP-0.vmdk&amp;quot;
##########################################


################ DEBUG MODE ##############
Virtual Machine: &amp;quot;sideswipe&amp;quot;
VM_VMX: &amp;quot;sideswipe.vmx&amp;quot;
VM_ORG_FOLDER: &amp;quot;sideswipe-2009-08-20--1&amp;quot;
VM_FOLDER_NAME: &amp;quot;sideswipe&amp;quot;
VMDK_LIST_TO_MODIFY:
scsi0:0.fileName = &amp;quot;sideswipe.vmdk&amp;quot;
scsi0:0.fileName  = &amp;quot;sideswipe-0.vmdk&amp;quot;
scsi0:1.fileName = &amp;quot;/vmfs/volumes/4a31aece-e34d675a-72cf-003048d9586a/sideswipe/sideswipe.vmdk&amp;quot;
scsi0:1.fileName  = &amp;quot;sideswipe-1.vmdk&amp;quot;
scsi1:8.fileName = &amp;quot;/vmfs/volumes/4a31aece-e34d675a-72cf-003048d9586a/sideswipe/sideswipe_1.vmdk&amp;quot;
scsi1:8.fileName  = &amp;quot;sideswipe-2.vmdk&amp;quot;
scsi3:12.fileName = &amp;quot;sideswipe_1.vmdk&amp;quot;
scsi3:12.fileName  = &amp;quot;sideswipe-3.vmdk&amp;quot;
##########################################


Start time: Sun Aug 23 23:04:49 PDT 2009
End   time: Sun Aug 23 23:04:49 PDT 2009
Duration  : 0 Seconds

---------------------------------------------------------------------------------------------------------------

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Display debug information level 2&lt;/b&gt;:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@himalaya ~]# ./ghettoVCB-restore.sh -c vms_to_restore -d 2
################## Restoring VM: stupid ass vm with spaces  #####################
==========&amp;gt; DEBUG MODE LEVEL 2 ENABLED &amp;lt;==========
Start time: Sun Aug 23 23:05:11 PDT 2009
Restoring VM from: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1&amp;quot;
Restoring VM to Datastore: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&amp;quot; using Disk Format: &amp;quot;2gbsparse&amp;quot;
Creating VM directory: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/stupid ass vm with spaces&amp;quot; ...
Copying &amp;quot;stupid ass vm with spaces.vmx&amp;quot; file ...
Restoring VM's VMDK(s) ...
Updating VMDK entry in &amp;quot;stupid ass vm with spaces.vmx&amp;quot; file ...

SOURCE: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1/stupid ass vm with spaces.vmdk&amp;quot;
        ORIGINAL_VMX_LINE: --&amp;gt;scsi0:0.fileName = &amp;quot;stupid ass vm with spaces.vmdk&amp;quot;&amp;lt;--
DESTIONATION: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/stupid ass vm with spaces/stupid ass vm with spaces-0.vmdk&amp;quot;
        MODIFIED_VMX_LINE: --&amp;gt;scsi0:0.fileName  = &amp;quot;stupid ass vm with spaces-0.vmdk&amp;quot;&amp;lt;--
Updating VMDK entry in &amp;quot;stupid ass vm with spaces.vmx&amp;quot; file ...

SOURCE: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1/4a31aece-e34d675a-72cf-003048d9586a/stupid ass vm with spaces.vmdk&amp;quot;
        ORIGINAL_VMX_LINE: --&amp;gt;scsi0:1.fileName = &amp;quot;/vmfs/volumes/4a31aece-e34d675a-72cf-003048d9586a/stupid ass vm with spaces/stupid ass vm with spaces.vmdk&amp;quot;&amp;lt;--
DESTIONATION: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/stupid ass vm with spaces/stupid ass vm with spaces-1.vmdk&amp;quot;
        MODIFIED_VMX_LINE: --&amp;gt;scsi0:1.fileName  = &amp;quot;stupid ass vm with spaces-1.vmdk&amp;quot;&amp;lt;--
Updating VMDK entry in &amp;quot;stupid ass vm with spaces.vmx&amp;quot; file ...

SOURCE: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/stupid ass vm with spaces/stupid ass vm with spaces-2009-08-20--1/4a31aece-e34d675a-72cf-003048d9586a/stupid ass vm with spaces_1.vmdk&amp;quot;
        ORIGINAL_VMX_LINE: --&amp;gt;scsi0:2.fileName = &amp;quot;/vmfs/volumes/4a31aece-e34d675a-72cf-003048d9586a/stupid ass vm with spaces/stupid ass vm with spaces_1.vmdk&amp;quot;&amp;lt;--
DESTIONATION: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/stupid ass vm with spaces/stupid ass vm with spaces-2.vmdk&amp;quot;
        MODIFIED_VMX_LINE: --&amp;gt;scsi0:2.fileName  = &amp;quot;stupid ass vm with spaces-2.vmdk&amp;quot;&amp;lt;--
Registering stupid ass vm with spaces ...
End time: Sun Aug 23 23:05:11 PDT 2009
################## Completed restore for stupid ass vm with spaces! #####################

################## Restoring VM: vMA-resize  #####################
==========&amp;gt; DEBUG MODE LEVEL 2 ENABLED &amp;lt;==========
Start time: Sun Aug 23 23:05:11 PDT 2009
Restoring VM from: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/vMA-resize/vMA-resize-2009-08-23--1&amp;quot;
Restoring VM to Datastore: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage&amp;quot; using Disk Format: &amp;quot;thin&amp;quot;
Creating VM directory: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/vMA-resize&amp;quot; ...
Copying &amp;quot;vMA-resize.vmx&amp;quot; file ...
Restoring VM's VMDK(s) ...
Updating VMDK entry in &amp;quot;vMA-resize.vmx&amp;quot; file ...

SOURCE: &amp;quot;/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS/vMA-resize/vMA-resize-2009-08-23--1/vMA-resize.vmdk&amp;quot;
        ORIGINAL_VMX_LINE: --&amp;gt;scsi0:0.fileName = &amp;quot;vMA-resize.vmdk&amp;quot;&amp;lt;--
DESTIONATION: &amp;quot;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage/vMA-resize/vMA-resize-0.vmdk&amp;quot;
        MODIFIED_VMX_LINE: --&amp;gt;scsi0:0.fileName  = &amp;quot;vMA-resize-0.vmdk&amp;quot;&amp;lt;--
Registering vMA-resize ...
End time: Sun Aug 23 23:05:11 PDT 2009
################## Completed restore for vMA-resize! #####################


Start time: Sun Aug 23 23:05:11 PDT 2009
End   time: Sun Aug 23 23:05:11 PDT 2009
Duration  : 0 Seconds

---------------------------------------------------------------------------------------------------------------

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Change Log:&lt;/h2&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Known Issues:&lt;/h2&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ghettovcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">restore</category>
      <pubDate>Mon, 24 Aug 2009 06:28:38 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10595</guid>
      <dc:date>2009-08-24T06:28:38Z</dc:date>
      <clearspace:dateToText>3 months, 18 hours ago</clearspace:dateToText>
      <clearspace:replyCount>11</clearspace:replyCount>
    </item>
    <item>
      <title>listAllDatastoresInCluster.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10612</link>
      <description>List all datastores for a given vCenter cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 2.5 / 4.0&lt;br /&gt;
ESX(i) 3.5 / 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@optimus]$ ./listAllDatastoresInCluster.pl --server teletron1.primp-industries.com --username primp --cluster autobots
This could take a few minutes depending on the size of the cluster ...

Cluster: autobots
        megatron-local-storage-1
        jetfire-local-storage-1
        sideswipe-local-storage-1
        sideswipe-local-storage-2
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">cluster</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">datastore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">list</category>
      <pubDate>Mon, 24 Aug 2009 20:57:18 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10612</guid>
      <dc:date>2009-08-24T20:57:18Z</dc:date>
      <clearspace:dateToText>3 months, 2 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>getNumofvCPUInCluster.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10556</link>
      <description>While waiting for VUM to finish up on some new vSphere ESX 4.0 hosts, I was reading VMTN blogs and noticed this interesting article by Jason Boche: &lt;a class="jive-link-external" href="http://www.boche.net/blog/index.php/2009/08/18/hidden-virtual-cpu-limit-restriction-in-esx-3-5/"&gt;http://www.boche.net/blog/index.php/2009/08/18/hidden-virtual-cpu-limit-restriction-in-esx-3-5/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This script will query a specific cluster and extract out the number of vCPU for the given cluster, each individual host and the advanced configuration &lt;b&gt;Misc.RunningVCpuLimit&lt;/b&gt; set for each host. &lt;br /&gt;
&lt;br /&gt;
In ESX 3.5 as Jason pointed out the default is &lt;u&gt;128&lt;/u&gt; with maximum support of &lt;u&gt;192&lt;/u&gt; and with vSphere ESX 4.0, this has changed to default of &lt;u&gt;512&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement:&lt;/b&gt;&lt;br /&gt;
VI Toolkit for Perl/vSphere SDK for Perl/VIMA 1.0/vMA 4.0&lt;br /&gt;
vCenter 2.5 / 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
On ESX 3.5:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield]$ ./getNumofvCPUInCluster.pl --server reflex.primp-industries.com --username primp --cluster primp-cluster
This could take a few minutes depending on the size of the cluster ...

Cluster: primp-cluster
	Host: primp-esx01
		Misc.RunningVCpuLimit: 128
		# of vCPU on host: 12
	Host: primp-esx02
		Misc.RunningVCpuLimit: 128
		# of vCPU on host: 13
	Host: primp-esx03
		Misc.RunningVCpuLimit: 128
		# of vCPU on host: 16
	Host: primp-esx04
		Misc.RunningVCpuLimit: 128
		# of vCPU on host: 16
      ..........
      # of vCPU: 463
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
On ESX 4.0:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield]$ ./getNumofvCPUInCluster.pl --server mauna-loa.primp-industries.com --username primp --cluster primpProd-cluster
This could take a few minutes depending on the size of the cluster ...

Cluster: primp-cluster
	Host: primp-esx01
		Misc.RunningVCpuLimit: 512
		# of vCPU on host: 21
	Host: primp-esx02
		Misc.RunningVCpuLimit: 512
		# of vCPU on host: 22
      # of vCPU: 23
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Tue, 18 Aug 2009 23:07:28 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10556</guid>
      <dc:date>2009-08-18T23:07:28Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
    </item>
    <item>
      <title>renameLocalStorageDatastore.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10571</link>
      <description>Have a bunch of ESX(i) hosts in vCenter? When you view their datastores, do you see a bunch of &lt;b&gt;localstorage (x)&lt;/b&gt; ? Would you like to rename it to something more useful like which local storage it belongs to? This script is for you!&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red"&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/span&gt; Please test this out in your environment before using.&lt;br /&gt;
&lt;br /&gt;
This script &lt;u&gt;requires&lt;/u&gt; vCenter and host(s) under a vCenter cluster and will look at all hosts datastores and find local storage and rename to the following format: "hostname-local-storage-X". It will try to use the short hostname on the ESX(i) host, but if it's not configured, it will use the ESX(i) display name and append the proper count if there are more than one local VMFS volume. There is a &lt;b&gt;just kidding mode&lt;/b&gt; which can be enabled to see what volumes it locates and show you the rename without actually executing the rename. If you set _&lt;b&gt;jk_mode&lt;/b&gt;_ to 0, the rename will execute, please run with 1 if you're not sure.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement:&lt;/b&gt;&lt;br /&gt;
vCenter 2.5 / 4.0&lt;br /&gt;
ESX(i) 3.5 / 4.0&lt;br /&gt;
vSphere SDK for Perl or vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Just Kidding mode:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@optimus]$ ./renameLocalStorageDatastore.pl --server teletron1.primp-industries.com --username primp --cluster autobots --jk_mode 1
This could take a few minutes depending on the size of the cluster ...

Cluster: autobots
Just Kidding Mode ENABLED! - Will not rename datastors but display what it would be renamed to

	Host: sideswipe.primp-industries.com
		Localstorage: local-storage (2)
		Rename to: [sideswipe-local-storage-1]
	Total # of local datastores on host: 1

	Host: jetfire.primp-industries.com
		Localstorage: local-storage
		Rename to: [jetfire-local-storage-1]
		Localstorage: local-storage (1)
		Rename to: [jetfire-local-storage-2]
	Total # of local datastores on host: 2
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Rename mode:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@optimus]$ ./renameLocalStorageDatastore.pl --server teletron1.primp-industries.com --username primp --cluster autobots --jk_mode 0
This could take a few minutes depending on the size of the cluster ...

Cluster: autobots

	Host: sideswipe.primp-industries.com
		Localstorage: local-storage (2)
		Rename to: [sideswipe-local-storage-1]
	Total # of local datastores on host: 1

	Host: jetfire.primp-industries.com
		Localstorage: local-storage
		Rename to: [jetfire-local-storage-1]
		Localstorage: local-storage (1)
		Rename to: [jetfire-local-storage-2]
	Total # of local datastores on host: 2
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">rename_datastore</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">local_storage</category>
      <pubDate>Wed, 19 Aug 2009 22:28:33 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10571</guid>
      <dc:date>2009-08-19T22:28:33Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>addvSwitchWSecurityPolicy.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10555</link>
      <description>Adding a vSwitch with Security Policy such as (allowPromiscuous,forgedTransmits,macChanges) along with other vSwitch parameters (not available by default with esxcfg-vswitch -A vSwitchX)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@simplejack.primp-industries.com]$ ./addvSwitchWSecurityPolicy.pl --server simplejack.primp-industries.com --username root --ap 1 --ft 0 --mc 1 --ports 256 --vswitch_name vSwitch2003
Enter password: 

Adding new vSwitch: &amp;quot;vSwitch2003&amp;quot; with the following conf: 
	[allowPromiscuous 1]
	[forgedTransmits 0]
	[macChanges 1]
	[ports 256]

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">configuration</category>
      <pubDate>Tue, 18 Aug 2009 18:58:24 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10555</guid>
      <dc:date>2009-08-18T18:58:24Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>getVMToolsStatus.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10563</link>
      <description>Retrieves the current status of all VMs VMware Tools against vCenter or individual ESX(i).&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getVMToolsStatus.pl --server reflex.primp-industries.com --username primp
Enter password:

Auroa   toolsNotInstalled
Bitsy   toolsNotInstalled
Certiorari      toolsNotRunning
Clifford        toolsOk
ESX-Kickstart   toolsNotInstalled
ESX3.5u4        toolsNotInstalled
ESX4-2  toolsNotInstalled
.........
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Sun, 16 Aug 2009 19:36:39 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10563</guid>
      <dc:date>2009-08-16T19:36:39Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>getShareableAndNonSharDatastore.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10552</link>
      <description>Extract all VMs on non-sharable datastores from vCenter, also allowing granularity at datacenter or cluster level.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
vCenter 2.5.x or 4.0&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Querying from entire vCenter:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getVMonShareableAndNonSharDatastore.pl --server mauna-loa.primp-industries.com --username primp --type all
Enter password:
Datacenter: mauna-loa
        Shared Datastores:
                Datastore: [http://dlgCore-FC-LUN202.VMstorage2|http://dlgCore-FC-LUN202.VMstorage2] is VMFS with: 58 VMs
                Datastore: [http://dlgCore-FC-LUN201.VMstorage1|http://dlgCore-FC-LUN201.VMstorage1] is VMFS with: 6 VMs
                Datastore: [http://dlgCore-FC-LUN200.Templates|http://dlgCore-FC-LUN200.Templates] is VMFS with: 8 VMs
                Datastore: [http://dlgCore-FC-LUN204.VMstorage4|http://dlgCore-FC-LUN204.VMstorage4] is VMFS with: 23 VMs
                Datastore: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] is NFS with: 3 VMs
                Datastore: [http://dlgCore-FC-LUN203.VMstorage3|http://dlgCore-FC-LUN203.VMstorage3] is VMFS with: 11 VMs

        Non-Shared Datastores:
                Datastore: [http://esx-1-local-SAS.Storage|http://esx-1-local-SAS.Storage] is VMFS with: 0 VMs
                Datastore: [http://esx-2-local-SAS.Storage|http://esx-2-local-SAS.Storage] is VMFS with: 0 VMs
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Querying from specific vCenter datacenter:&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getVMonShareableAndNonSharDatastore.pl --server reflex.primp-industries.com --username primp --type datacenter --datacenter Primp   
Enter password:
Datacenter: Primp
        Shared Datastores:
                Datastore: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] is NFS with: 4 VMs

        Non-Shared Datastores:
                Datastore: [simplejack-local-storage] is VMFS with: 4 VMs
                        ghettoVCB4i-test-vm-backup
                        ide-vm
                        .......
                Datastore: [kang-local-storage] is VMFS with: 0 VMs
                Datastore: [lazarus-local-storage] is VMFS with: 0 VMs
                Datastore: [http://dlgCore-iSCSI.test|http://dlgCore-iSCSI.test] is VMFS with: 0 VMs
                Datastore: [http://himalaya-local-SAS.Constellation|http://himalaya-local-SAS.Constellation] is VMFS with: 18 VMs
                        Iaorana
                        .......
                Datastore: [http://himalaya-local-SAS.Savvio|http://himalaya-local-SAS.Savvio] is VMFS with: 30 VMs
                        Fugue
                        VIMA
                        Rhapsody
                        Oxygen
                        .......
                Datastore: [himalaya-local-SATA.RE4-GP:Boot] is VMFS with: 0 VMs
                Datastore: [himalaya-local-SATA.RE4-GP:Storage] is VMFS with: 22 VMs
                        simplejack.primp-industries.com
                        lazarus.primp-industries.com
                        vMA-resize
                        ThinStation-Dev
                        ESX-Kickstart
                        primp-vapp-esx01
                        ubuntu-test
                        .......
                Datastore: [storage1] is VMFS with: 2 VMs
                        Test-WinXP
                        Test-RHEL

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Querying from specific vCenter cluster:&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getVMonShareableAndNonSharDatastore.pl --server reflex.primp-industries.com --username primp --type cluster --cluster PrimpESXi-cluster
Enter password:
Cluster: PrimpESXi-cluster
        Shared Datastores:
                Datastore: [http://dlgCore-NFS-bigboi.VM-Backups|http://dlgCore-NFS-bigboi.VM-Backups] is NFS with: 4 VMs

        Non-Shared Datastores:
                Datastore: [storage1] is VMFS with: 2 VMs
                        Test-WinXP
                        Test-RHEL
                Datastore: [simplejack-local-storage] is VMFS with: 4 VMs
                        ghettoVCB4i-test-vm-backup
                        ide-vm
                        itorga backuptrigger
                        dnie workstation
                Datastore: [kang-local-storage] is VMFS with: 0 VMs
                Datastore: [lazarus-local-storage] is VMFS with: 0 VMs


&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Fri, 14 Aug 2009 07:28:17 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10552</guid>
      <dc:date>2009-08-14T07:28:17Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>addVMAdvParamOption.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10551</link>
      <description>This script allows you to add/modify advanced parameter configuration for a given VM such as &lt;b&gt;vmsafe.enable&lt;/b&gt;, &lt;b&gt;monitor_control.restrict_backdoor&lt;/b&gt;, &lt;b&gt;vmx.allowNested&lt;/b&gt; and other advanced configuration keys. This script can execute against vCenter or individual ESX(i) host.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement:&lt;/b&gt;&lt;br /&gt;
ESX(i) 3.5+ or 4.0&lt;br /&gt;
VIMA 1.0/vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Adding a new param called &lt;b&gt;vmsafe.enable&lt;/b&gt; with value &lt;b&gt;false&lt;/b&gt; to a VM against vCenter:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./addVMAdvParamOption.pl --server reflex.primp-industries.com --username primp --vmname kate --key vmsafe.enable --value false
Enter password:
Reconfiguring &amp;quot;kate&amp;quot; with advanced parameter configuration: &amp;quot;vmsafe.enable=&amp;gt;false&amp;quot; ...
Sucessfully updated advanced parameter configuration for &amp;quot;kate&amp;quot;!

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Adding a new param called &lt;b&gt;vmx.allowNested&lt;/b&gt; with value &lt;b&gt;true&lt;/b&gt; to a VM against ESX host:&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./addVMAdvParamOption.pl --server himalaya.primp-industries.com --username root --vmname ESX3.5u4 --key vmx.allowNested --value true
Enter password:
Reconfiguring &amp;quot;ESX3.5u4&amp;quot; with advanced parameter configuration: &amp;quot;vmx.allowNested=&amp;gt;true&amp;quot; ...
Sucessfully updated advanced parameter configuration for &amp;quot;ESX3.5u4&amp;quot;!
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Ensure your VM is powered off before trying to modify any advanced parameters, else script will error out with a warning.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Fri, 14 Aug 2009 04:17:13 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10551</guid>
      <dc:date>2009-08-14T04:17:13Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>addVMCustomField.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10550</link>
      <description>Adding/updating a custom field to VM (available with vCenter _only_)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;
VIMA/vMA&lt;br /&gt;
ESX(i) 3.5 or 4.0&lt;br /&gt;
vCenter 2.5 or 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Adding a custom field as a VirtualMachine attribute, this takes affect on the entire infrastructure, whether or not you want to set an actual value for a given VM.&lt;br /&gt;
&lt;br /&gt;
This will add a new custom field to all VMs called &lt;b&gt;SERVER_TYPE&lt;/b&gt; and the operation is an &lt;b&gt;add&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./addVMCountCustomField.pl --server reflex.primp-industries.com --username primp --key SERVER_TYPE --operation add
Enter password:
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
To update a certain VM with a value to the custom field, you'll use the operation &lt;b&gt;update&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./addVMCountCustomField.pl --server reflex.primp-industries.com --username primp --key SERVER_TYPE --value PRODUCTION --operation update --vmname kate
Enter password:
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
You'll see the changes right away on vCenter and you'll notice with a specific VM, you would have updated it's custom field &lt;b&gt;SERVER_TYPE&lt;/b&gt; with the value &lt;b&gt;PRODUCTION&lt;/b&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Fri, 14 Aug 2009 03:16:49 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10550</guid>
      <dc:date>2009-08-14T03:16:49Z</dc:date>
      <clearspace:dateToText>3 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>takeVMScreenshot.pl using vMA 4.0</title>
      <link>http://communities.vmware.com/docs/DOC-10497</link>
      <description>Ever run into issues with your VMs where you have some debugging information logged to the console and you want to take a screenshot of it using vSphere API?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement&lt;/b&gt;&lt;br /&gt;
ESX(i) 4.0 (must execute against individual ESX(i) host and not vCenter)&lt;br /&gt;
vMA 4.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./takeVMScreenshot.pl --server himalaya.primp-industries.com --username root --vmname William-XP
Enter password:

Initiating screenshot of William-XP ...
Successfully capture screenshot from William-XP!
Downloading &amp;quot;William-XP-screenshot-0.png&amp;quot; to &amp;quot;vm_screenshots/William-XP-screenshot-0.png&amp;quot;
Removing screenshot &amp;quot;William-XP-screenshot-0.png&amp;quot; from ESX(i) host ...

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Here is what &lt;b&gt;William-XP-screenshot-0.png&lt;/b&gt; looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10497-2-6554/William-XP-screenshot-0.png" alt="William-XP-screenshot-0.png" width="620" class="jive-image-thumbnail jive-image" onclick="myJiveImage.start(this, 'http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10497-2-6554/William-XP-screenshot-0.png');return false;"/&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">screenshot</category>
      <pubDate>Wed, 12 Aug 2009 05:30:33 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10497</guid>
      <dc:date>2009-08-12T05:30:33Z</dc:date>
      <clearspace:dateToText>3 months, 2 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
    </item>
    <item>
      <title>Hot add memory to vMA or other supported Linux guestOSes using vSphere ESX(i) 4.0</title>
      <link>http://communities.vmware.com/docs/DOC-10492</link>
      <description>&lt;h2&gt;Summary&lt;/h2&gt;
This document will demonstrate how to hot add memory to a live running vMA (RHEL5) VM using vSphere ESX(i) 4.0, this feature is only supported on certain guestOSes, check vSphere documentation for more information. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Resources&lt;/h2&gt;
&lt;a class="jive-link-external" href="http://adaptivethinking.wordpress.com/2009/07/27/vsphere-esx4-hot-add-memory-for-linux-guests/"&gt;http://adaptivethinking.wordpress.com/2009/07/27/vsphere-esx4-hot-add-memory-for-linux-guests/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements&lt;/h2&gt;
ESX(i) 4.0&lt;br /&gt;
vMA 4.0 or other supported Linux guestOSes&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Instructions&lt;/h2&gt;
&lt;b&gt;1&lt;/b&gt;. Hot add memory requires a VM to be running hardware version 7 and since vMA 4.0 by default is distributed as HW4, you'll need to first right click on the VM and upgrade to hardware 7 before powering on the VM. You will also need to enable hot add memory which is a new configuration item once you've upgraded to HW7 under OPTIONS-&amp;gt;Memory/CPU Hotplug and just select 'enable'&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2&lt;/b&gt;. Power on vMA&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3&lt;/b&gt;. Let's verify the default memory available within vMA (this can be done using free,/proc/meminfo,top,etc)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:           498        178        320          0          6         98
-/+ buffers/cache:         73        425
Swap:         1023          0       1023

[vi-admin@vMa-resize ~]$ cat /proc/meminfo m
MemTotal:       510668 kB
MemFree:        327696 kB
Buffers:          6740 kB
Cached:         101200 kB
SwapCached:          0 kB
Active:         110392 kB
Inactive:        43864 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       510668 kB
LowFree:        327696 kB
SwapTotal:     1048568 kB
SwapFree:      1048568 kB
Dirty:              24 kB
Writeback:           0 kB
AnonPages:       46340 kB
Mapped:          43704 kB
Slab:            12584 kB
PageTables:       2408 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1303900 kB
Committed_AS:   222648 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    263328 kB
VmallocChunk: 34359474423 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Default installation of vMA 4.0 is 512mb of memory, we'll increase this to 1gb&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4&lt;/b&gt;. You will now use the vSphere Client and edit the vMA's memory and change it from 512mb to 1gb&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5&lt;/b&gt;. Download and copy &lt;b&gt;online_hotplug_memory.sh&lt;/b&gt; to vMA&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@vMa-resize ~]# chmod +x online_hotplug_memory.sh
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;6&lt;/b&gt;. Execute the script which will find any new memory allocated to vMA and online the memory&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@vMa-resize ~]# sudo ./online_hotplug_memory.sh
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory0&amp;quot; ...
        memory0 already online
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory1&amp;quot; ...
        memory1 already online
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory2&amp;quot; ...
        memory2 already online
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory3&amp;quot; ...
        memory3 already online
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory4&amp;quot; ...
        memory4 is new memory, onlining memory ...
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory5&amp;quot; ...
        memory5 is new memory, onlining memory ...
Found sparsemem: &amp;quot;/sys/devices/system/memory/memory7&amp;quot; ...
        memory7 is new memory, onlining memory ...

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
As you can see from the script output memory&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2687&amp;subject=0-3"&gt;0-3&lt;/a&gt; was already allocated and split up but memory&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2687&amp;subject=4-7"&gt;4-7&lt;/a&gt; was the newly added memory which needed to be brought online before the OS can use it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7&lt;/b&gt;. Let's verify the new memory that has been allocated while the VM was running&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[root@vMa-resize ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           882        188        694          0          7        100
-/+ buffers/cache:         80        802
Swap:         1023          0       1023

[root@vMa-resize ~]# cat /proc/meminfo
MemTotal:       903884 kB
MemFree:        711128 kB
Buffers:          7644 kB
Cached:         102612 kB
SwapCached:          0 kB
Active:         111996 kB
Inactive:        45060 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       903884 kB
LowFree:        711128 kB
SwapTotal:     1048568 kB
SwapFree:      1048568 kB
Dirty:              36 kB
Writeback:           0 kB
AnonPages:       46836 kB
Mapped:          43708 kB
Slab:            12748 kB
PageTables:       2460 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1500508 kB
Committed_AS:   224736 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    263628 kB
VmallocChunk: 34359474423 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">hot_add_memory</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">hot_add</category>
      <pubDate>Sun, 09 Aug 2009 18:47:36 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10492</guid>
      <dc:date>2009-08-09T18:47:36Z</dc:date>
      <clearspace:dateToText>3 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>How to increase/resize vMA Disks</title>
      <link>http://communities.vmware.com/docs/DOC-10501</link>
      <description>&lt;h2&gt;Summary: &lt;/h2&gt;
If you're extensively using vMA's vi-logger functionality or storing lots of content on the default 5gb VMDK, you can easily fill up the disks.  This document will provide the steps in resizing and increasing the disk sizes using LVM.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Environment:&lt;/h2&gt;
vMA 4.0 or VIMA 1.0 (not testing on VIMA 1.0, but steps should be exactly the same)&lt;br /&gt;
SSH and/or vSphere Client console access&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Operation:&lt;/h2&gt;
Increase &lt;u&gt;/var/log&lt;/u&gt; from 500MB to 10GB&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Steps:&lt;/h2&gt;
1. Here is a default vanilla installation of &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/index.html"&gt;vMA&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;Last login: Sat Aug  8 15:00:31 2009 from 172.30.0.225

Welcome to vMA
run 'vma-help' or see http://www.vmware.com/go/vma4 for more details.

[vi-admin@vMa-resize ~]$ cat /etc/vima-release | head -1
vMA 4.0.0 BUILD-161992

[vi-admin@vMa-resize ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root
                      3.3G  1.5G  1.7G  48% /
/dev/mapper/VolGroup00-var
                      496M   19M  452M   4% /var/log
/dev/sda1              99M   16M   79M  17% /boot
tmpfs                 250M     0  250M   0% /dev/shm

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
2. Notice &lt;b&gt;/var/log&lt;/b&gt; has total of 452MB free and I will attempt to fill it up to 98%&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo dd if=/dev/zero of=/var/log/big_ass_file bs=1M count=440
440+0 records in
440+0 records out
461373440 bytes (461 MB) copied, 9.64461 seconds, 47.8 MB/s

[vi-admin@vMa-resize ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root
                      3.3G  1.5G  1.7G  48% /
/dev/mapper/VolGroup00-var
                      496M  461M  9.9M  98% /var/log
/dev/sda1              99M   16M   79M  17% /boot
tmpfs                 250M     0  250M   0% /dev/shm

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;OH NO!&lt;/b&gt;  &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/sad.gif" alt=":(" /&gt;  &lt;u&gt;/var/log&lt;/u&gt; is full, what to do! Let's increase the size of /var/log to 10GB, that should be plenty for logs.&lt;br /&gt;
&lt;br /&gt;
3. Shutdown the vMA and edit the VM configurations and change the disk from 5gb to 15GB (increase of 10GB)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo shutdown -h now
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
4. Power back on vMA&lt;br /&gt;
&lt;br /&gt;
5. As you can see we've grown the virtual disk from 5gb to 16gb&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo fdisk -l
Password:

Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         652     5132767+  8e  Linux LVM

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
6. Next we'll be creating a new partition with the new space&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo fdisk /dev/sda

The number of cylinders for this disk is set to 1958.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (653-1958, default 653):
Using default value 653
Last cylinder or +size or +sizeM or +sizeK (653-1958, default 1958):
Using default value 1958

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;Note:&lt;/b&gt; The options were: n,p,3,&amp;lt;enter&amp;gt;,t,3,8e,w&lt;br /&gt;
&lt;br /&gt;
7. We now verify the new partition has been created:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo fdisk -l

Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         652     5132767+  8e  Linux LVM
/dev/sda3             653        1958    10490445   8e  Linux LVM
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;/dev/sda3&lt;/b&gt; is our new partition which has been formatted with LVM, we now need to reboot vMA before continuing. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;vi-admin@vMa-resize ~]$ sudo reboot
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
8. We need to add a physical volume before LVM can access the partition&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo pvcreate /dev/sda3
  Physical volume &amp;quot;/dev/sda3&amp;quot; successfully created
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
9. Now we need to extend the existing volume group to the physical volume which was found by doing (df -h)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo vgextend VolGroup00 /dev/sda3
  /dev/hda: open failed: No medium found
  Volume group &amp;quot;VolGroup00&amp;quot; successfully extended
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
10. Now we'll want to extend the logical volume into the new space, but we want to make sure how much the system will give us in terms of free space&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo vgdisplay | grep -i free
  Free  PE / Size       320 / 10.00 GB

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
As you can see, that is the additional 10GB we've added on top of the already existing 5GB&lt;br /&gt;
&lt;br /&gt;
11. Now we extend the LV to &lt;b&gt;/var&lt;/b&gt; and not to another mount point and we'll increase that to 10GB&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo lvextend -L+10G /dev/VolGroup00/var
  Extending logical volume var to 10.50 GB
  Logical volume var successfully resized
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
12. Last step is to make this space available to the OS, on general RHEL systems you have access to &lt;b&gt;ext2online&lt;/b&gt; but since vMA is a stripped down version of RHEL, that is not available. We'll make uses of &lt;b&gt;resize2fs&lt;/b&gt; to accomplish the same task&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ sudo resize2fs -p /dev/VolGroup00/var
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/var is mounted on /var/log; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/var to 11010048 (1k) blocks.
The filesystem on /dev/VolGroup00/var is now 11010048 blocks long.

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;Note:&lt;/b&gt; This task can take a few minutes depending on the disk size increase&lt;br /&gt;
&lt;br /&gt;
13. Now we verify the new disk increase for &lt;b&gt;/var/log&lt;/b&gt; for 10GB&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vMa-resize ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root
                      3.3G  1.5G  1.7G  48% /
/dev/mapper/VolGroup00-var
                       11G  462M  9.2G   5% /var/log
/dev/sda1              99M   16M   79M  17% /boot
tmpfs                 250M     0  250M   0% /dev/shm
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
voil&amp;agrave;! you've just increased the disk space on the default installation of vMA.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">lvm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">resize</category>
      <pubDate>Sat, 08 Aug 2009 22:46:54 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10501</guid>
      <dc:date>2009-08-08T22:46:54Z</dc:date>
      <clearspace:dateToText>3 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>getAllVMGuestHostname.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10500</link>
      <description>Retrieves all VMs and their guestOS hostnames &lt;b&gt;if&lt;/b&gt; VMware Tools is installed.&lt;br /&gt;
&lt;br /&gt;
Example Execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getAllVMGuestHostname.pl --server himalaya.primp-industries.com --username root
Enter password:
VM Display Name         VM Guest Hostname               VMware Tools Status
------------------------------------------------------------------------
winXP-base              Not Available           toolsNotRunning
Imager          Not Available           toolsNotRunning
ESX4-2          Not Available           toolsNotInstalled
kate            Not Available           toolsNotRunning
primp-vapp-esx01                Not Available           toolsNotInstalled
primp-vapp-vcenter01            Not Available           toolsNotInstalled
William-XP              william         toolsOk
simplejack.primp-industries.com         Not Available           toolsNotInstalled
VIMA            vima.primp-industries.com               toolsOld
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Sat, 08 Aug 2009 18:32:27 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10500</guid>
      <dc:date>2009-08-08T18:32:27Z</dc:date>
      <clearspace:dateToText>3 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>getAllVMMacs.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10490</link>
      <description>Extract MAC Addresses for all VMs residing on either vCenter or individual ESX(i) 3.5+ or 4.0 host&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./getAllVMMacs.pl --server simplejack.primp-industries.com
ghettoVCB4i-test-vm-backup
        [Network adapter 1] : 00:50:56:b0:0d:dc

ide-vm
        [Network adapter 1] : 00:50:56:99:2f:15
        [Network adapter 2] : 00:50:56:99:2f:16
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
The label &lt;b&gt;Network adapter&lt;/b&gt; is what is shown in the vSphere Client under VM configuration, it does not necessary match up to eth0,1,etc.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Fri, 07 Aug 2009 23:09:17 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10490</guid>
      <dc:date>2009-08-07T23:09:17Z</dc:date>
      <clearspace:dateToText>3 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>ESXi 3.5u4 is out, does the RCLI still have r/w access for the free version?</title>
      <link>http://communities.vmware.com/message/1330118</link>
      <description>Wow! &lt;br /&gt;
&lt;br /&gt;
At first I thought this was a joke. WMWare removes an essential feature of its product, calling the feature a "mistake" &lt;img src="?" alt="?" class="jive-image"  /&gt;&lt;br /&gt;
What a way to service users who have spent hundreds of hours writing scripts for the RCLI.....&lt;br /&gt;
&lt;br /&gt;
I've spent several days researching various virtualization products, and had decided to go for WMWare, in particular the free ESXi.&lt;br /&gt;
That's not going to happen now.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi3.5u4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">rcli</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vi_api</category>
      <pubDate>Wed, 05 Aug 2009 18:49:58 GMT</pubDate>
      <author>Visordude</author>
      <guid>http://communities.vmware.com/message/1330118</guid>
      <dc:date>2009-08-05T18:49:58Z</dc:date>
      <clearspace:dateToText>3 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>26</clearspace:replyCount>
    </item>
    <item>
      <title>whichClusterIsMyVMIn.pl - Find which Cluster your VM is part of (requires vCenter)</title>
      <link>http://communities.vmware.com/docs/DOC-10439</link>
      <description>This scripts allows you to find out which Cluster a given VM is part of.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirements&lt;/b&gt;&lt;br /&gt;
vCenter 2.5.x or 4.x&lt;br /&gt;
ESX(i) 3.5.x or 4.x&lt;br /&gt;
VI Perl Toolkit or vSphere SDK for Perl&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample execution&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./whichClusterIsMyVMIn.pl --server reflex.primp-industries.com --username primp --vmname simplejack.primp-industries.com

Located VM: &amp;quot;simplejack.primp-industries.com&amp;quot;!
VM: &amp;quot;simplejack.primp-industries.com&amp;quot; is hosted on &amp;quot;himalaya.primp-industries.com&amp;quot;
VM: &amp;quot;simplejack.primp-industries.com&amp;quot; is located on Cluster: &amp;quot;PrimpESX-cluster&amp;quot;

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Fri, 31 Jul 2009 17:05:38 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10439</guid>
      <dc:date>2009-07-31T17:05:38Z</dc:date>
      <clearspace:dateToText>3 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Commandline for removing VMs from "Inventory"</title>
      <link>http://communities.vmware.com/message/1311599</link>
      <description>&lt;br /&gt;
Are you connecting directly to the hosts with the VI Client, or through Vcenter? &lt;br /&gt;
&lt;p /&gt;
What I am seeing is that connecting directly to the host, the "vmware-cmd -s unregister" does in fact remove it from inventory, while if you check Vcenter the guest is orphaned. I've restarted management services, rebooted the host, and even disconnected it from vcenter and readded. The only way I've been able to get Vcenter to see the guest as really gone is to remove the host, delete it and then re-add it as a new host... or simply remove the orphaned guest from inventory - unfortunately both options void the whole "automation" theory.&lt;br /&gt;
&lt;p /&gt;
Have there been any new thoughts on this or any fixes? We are running 3.5 U4, Client and Vcenter 2.5 (builds 104215 and 147633 respectively).&lt;br /&gt;
&lt;p /&gt;
We, too, are trying to get this functioning without PERL or PowerShell.</description>
      <pubDate>Wed, 15 Jul 2009 12:54:49 GMT</pubDate>
      <author>Vrunner</author>
      <guid>http://communities.vmware.com/message/1311599</guid>
      <dc:date>2009-07-15T12:54:49Z</dc:date>
      <clearspace:dateToText>4 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>18</clearspace:replyCount>
    </item>
    <item>
      <title>poweroff_suspend_vm.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10269</link>
      <description>A script that allows you to perform either &lt;b&gt;"Power Off"&lt;/b&gt; or &lt;b&gt;"Suspend"&lt;/b&gt; operation against a list of VMs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample execution&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Sample VM file containing displayName of each VM separated by a newline to perform the operations against. &lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ cat vmList
Quentin
VCAP
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Suspending VMs&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./vmPowerOps.pl --config .viconfig --operation suspend --vmfile vmList
Trying to suspend Quentin
        Successfully suspended Quentin
Trying to suspend VCAP
        Successfully suspended VCAP
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Powering off VMs&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./vmPowerOps.pl --config .viconfig --operation poweroff --vmfile vmList
Trying to poweroff Quentin
        Successfully poweredoff Quentin
Trying to poweroff VCAP
        Successfully poweredoff VCAP
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Thu, 02 Jul 2009 03:01:33 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10269</guid>
      <dc:date>2009-07-02T03:01:33Z</dc:date>
      <clearspace:dateToText>4 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>queryDeletedVMs.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10282</link>
      <description>Query User and Date/Time on when a specific VM was deleted.&lt;br /&gt;
&lt;br /&gt;
Sample Execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@scofield ~]$ ./queryDeletedVMs.pl --server reflex.primp-industries.com --username primp --vmname blah
Enter password:
User: PRIMP-IND\primp
Deleted VM: Removed blah on himalaya.primp-industries.com from Primp
Date/Time: 2009-06-27T01:53:14.106999Z

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Sat, 27 Jun 2009 06:22:22 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10282</guid>
      <dc:date>2009-06-27T06:22:22Z</dc:date>
      <clearspace:dateToText>5 months, 17 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>queryVMCustomField.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10220</link>
      <description>Originally syndicated from: &lt;a class="jive-link-message" href="http://communities.vmware.com/message/1288452#1288452"&gt;Re: viPerl: List specific custom attributes for specific VM&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Query custom fields defined for a virtual machine. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; This is only available when querying against vCenter, this will not work for individual ESX(i) host&lt;br /&gt;
&lt;br /&gt;
Sample execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@tancredi ~]$ ./queryVMCustomField.pl --server reflex2.primp-industries.com --username primp --customfield SLA --vmname William-XP
Enter password:
Virtual Machine: William-XP
   SLA = 30min
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Fri, 19 Jun 2009 02:14:27 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10220</guid>
      <dc:date>2009-06-19T02:14:27Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>queryVMDiskUUID.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10200</link>
      <description>Query VMDK UUID &lt;br /&gt;
&lt;br /&gt;
Sample Execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vi-admin]$ ./queryVMDiskUUID.pl --vmname tancredi --server everest.primp-industries.com
Virtual Machine: tancredi
[everest-local-storage] tancredi/tancredi.vmdk
60 00 C2 91 db 51 be 29-fd c7 79 ec 27 8c c0 be
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; Ensure you're providing ESX(i) host as the &lt;b&gt;QueryVirtualDiskUuid()&lt;/b&gt; is not supported with vCenter.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Thu, 18 Jun 2009 17:32:51 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10200</guid>
      <dc:date>2009-06-18T17:32:51Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>getVMDiskCID.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10189</link>
      <description>Retrieve the CID value for VMDK(s) for a given virtual machine.&lt;br /&gt;
&lt;br /&gt;
Sample Execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@rafaeli ~]$ ./getVMDiskCID.pl --server mauna-loa.primp-industries.com --username primp --vmname lamw_base
Enter password:
Virtual Machine: lamw_base
        CURRENT VMDK: [everest-local-storage] lamw_base/lamw_base-000002.vmdk
        CID: 0xb95ddf5b
        PARENT VMDK: [everest-local-storage] lamw_base/lamw_base-000001.vmdk
        CID: 0xb95ddf5b
        PARENT VMDK: [everest-local-storage] lamw_base/lamw_base.vmdk
        CID: 0xb95ddf5b

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Thu, 18 Jun 2009 02:58:07 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10189</guid>
      <dc:date>2009-06-18T02:58:07Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>rdm.sh</title>
      <link>http://communities.vmware.com/docs/DOC-10188</link>
      <description>Locate VM(s) with RDMs on ESX(i) 3.5+</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Thu, 18 Jun 2009 02:45:36 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10188</guid>
      <dc:date>2009-06-18T02:45:36Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>rescanAllHBAInCluster.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10187</link>
      <description>Rescan all HBAs, VMFS volumes and refresh storage summary provided a vCenter cluster.&lt;br /&gt;
&lt;br /&gt;
Sample execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@tancredi ~]$ ./rescanAllHBAInCluster.pl --cluster development --server reflex2.primp-industries.com --username primp
Enter password:
Scanning cluster: development ...
        Rescan all HBAs successful for host everest.primp-industries.com.
        Rescan for new VMFS volumes successful for host everest.primp-industries.com.
        Refresh storage information successful for host everest.primp-industries.com.
Scanning cluster complete!

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">storage</category>
      <pubDate>Thu, 18 Jun 2009 02:42:40 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10187</guid>
      <dc:date>2009-06-18T02:42:40Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>removeOrphansFromvCenter.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10190</link>
      <description>Remove virtual machines that may have been deleted directly on ESX(i) host but not reflected in vCenter, also known as orphaned VMs.&lt;br /&gt;
&lt;br /&gt;
Sample execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@tancredi ~]$ ./removeOrphansFromvCenter.pl --server reflex2.primp-industries.com --username primp
Enter password:
Searching Host: everest.primp-industries.com
        hey_im_orphaned orphaned &amp;#38; Removed from inventory!
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">orphaned_vm</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">orphaned</category>
      <pubDate>Mon, 15 Jun 2009 00:16:19 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10190</guid>
      <dc:date>2009-06-15T00:16:19Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>reconfigureDRS.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10181</link>
      <description>Enable/Disable DRS on a vCenter cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample execution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Enable DRS&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima ~]$ ./reconfigureDRS.pl --cluster development --operation enable --server reflex2.primp-industries.com --username primp
Enter password:
enable DRS on Cluster: development
Cluster reconfiguration completed!

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Disable DRS&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima ~]$ ./reconfigureDRS.pl --cluster development --operation disable --server reflex2.primp-industries.com --username primp
Enter password:
disable DRS on Cluster: development
Cluster reconfiguration completed!

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">general</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">drs</category>
      <pubDate>Sun, 14 Jun 2009 16:15:13 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10181</guid>
      <dc:date>2009-06-14T16:15:13Z</dc:date>
      <clearspace:dateToText>5 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>queryDiskParition.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10173</link>
      <description>Take a look at this thread for more information:&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-message" href="http://communities.vmware.com/message/1283135#1283135"&gt;Re: get disk partitions&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Sample execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima ~]$ ./queryDiskParition.pl --server &amp;lt;esx_erver&amp;gt; --device /dev/cciss/c0d0
partition: 1
type: linuxNative
startSector: 63
endSector: 514079
isLogical: NO
size: 250.98 MB

partition: 2
type: linuxNative
startSector: 514080
endSector: 17285939
isLogical: NO
size: 8.00 GB

partition: 3
type: linuxSwap
startSector: 17285940
endSector: 20643524
isLogical: NO
size: 1.60 GB

partition: 4
type: extended
startSector: 20643525
endSector: 143299799
isLogical: NO
size: 58.49 GB

partition: 5
type: vmfs
startSector: 20643588
endSector: 126319094
isLogical: YES
size: 50.39 GB

partition: 6
type: linuxNative
startSector: 126319158
endSector: 134705024
isLogical: YES
size: 4.00 GB

partition: 7
type: linuxNative
startSector: 134705088
endSector: 138897989
isLogical: YES
size: 2.00 GB

partition: 8
type: linuxNative
startSector: 138898053
endSector: 143090954
isLogical: YES
size: 2.00 GB

partition: 9
type: vmkDiagnostic
startSector: 143091018
endSector: 143299799
isLogical: YES
size: 101.94 MB

Total size: 68.33 GB
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">storage</category>
      <pubDate>Sat, 13 Jun 2009 23:15:16 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10173</guid>
      <dc:date>2009-06-13T23:15:16Z</dc:date>
      <clearspace:dateToText>5 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>updateVMPortgroup.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10112</link>
      <description>Sample execution:&lt;br /&gt;
&lt;br /&gt;
Update Network Adapter 1 to portgroup &lt;b&gt;"production_network"&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@tancredi ~][http://everest.primp-industries.com|http://everest.primp-industries.com]$ ./updateVMPortgroup.pl --server everest.primp-industries.com --vmname &amp;quot;thegeneral&amp;quot; --vnic 1 --portgroup &amp;quot;production_network&amp;quot;
Reconfiguration of portgroup &amp;quot;production_network&amp;quot; successful for &amp;quot;thegeneral&amp;quot;.
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Update Network Adapter 2 to portgroup &lt;b&gt;"test_network"&lt;/b&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@tancredi ~][http://everest.primp-industries.com|http://everest.primp-industries.com]$ ./updateVMPortgroup.pl --server everest.primp-industries.com --vmname &amp;quot;thegeneral&amp;quot; --vnic 2 --portgroup &amp;quot;test_network&amp;quot;
Reconfiguration of portgroup &amp;quot;test_network&amp;quot; successful for &amp;quot;thegeneral&amp;quot;.

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
Make sure you spell the VM portgroup correctly as it is case sensitive to your vSwitch configurations. To check, you can always run &lt;b&gt;esxcfg-vswitch -l&lt;/b&gt; on the Service Console or using the vCLI.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <pubDate>Sun, 07 Jun 2009 03:58:33 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10112</guid>
      <dc:date>2009-06-07T03:58:33Z</dc:date>
      <clearspace:dateToText>5 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Got problems installing VDDK 1.1 onto VMware vMA 4.0? Solution here</title>
      <link>http://communities.vmware.com/message/1265517</link>
      <description>As the topic states, if you're trying to install VDDK 1.1 you'll notice there is a shared library package that is missing by default on VMware vMA 4.0, take a look here for the solution: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/212352"&gt;How to install VDDK 1.1 on vMA 4.0 (libfuse.so.2 fix)&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9852"&gt;vGhetto Script Repository&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/private/bitbucket/developer/codecentral" title="Sample code for VMware vSphere SDKs and APIs"&gt;VMware Code Central - Scripts/Sample code for Developers and Administrators&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
If you find this information useful, please award points for "correct" or "helpful".</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">libfuse.so.2</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vddk1.1</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vddk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <pubDate>Thu, 28 May 2009 19:10:03 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1265517</guid>
      <dc:date>2009-05-28T19:10:03Z</dc:date>
      <clearspace:dateToText>6 months, 5 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>getAllPowedOffVMs.pl</title>
      <link>http://communities.vmware.com/docs/DOC-10058</link>
      <description>Sample execution:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima ~]$ ./getAllPowedOffVMs.pl --server reflex.primp-industries.com --username primp --cluster PrimpESX-cluster
Enter password:
Found Cluster: PrimpESX-cluster
        Checking host: himalaya.primp-industries.com
                vmm is poweredOff

                ESXi3.5 is poweredOff
                knoppix is poweredOff
                horrid is poweredOff
                ThinStation-Dev is poweredOff
                vdiMaster is poweredOff
                Fourier is poweredOff
        Checking host: kang.primp-industries.com
                master-xp is poweredOff
&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">general</category>
      <pubDate>Thu, 28 May 2009 16:59:08 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-10058</guid>
      <dc:date>2009-05-28T16:59:08Z</dc:date>
      <clearspace:dateToText>6 months, 7 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>Modify "vmregister.pl" or sample "vmregister.pl" to not require "datacenter &amp;#38; resource pool"</title>
      <link>http://communities.vmware.com/message/1263309</link>
      <description>The "fix" works but it does not register it in the folder specified by --folder, it registers under some random folder. Any ideas how to get it to register unde the folder indicated with the option?</description>
      <pubDate>Wed, 27 May 2009 05:41:46 GMT</pubDate>
      <author>vmsap</author>
      <guid>http://communities.vmware.com/message/1263309</guid>
      <dc:date>2009-05-27T05:41:46Z</dc:date>
      <clearspace:dateToText>6 months, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
    </item>
    <item>
      <title>Scripted Install Generator tool dropped or forgotten in ESX 4?</title>
      <link>http://communities.vmware.com/message/1260660</link>
      <description>&lt;br /&gt;
sorry again - btw, i did find this in the rel notes at &lt;br /&gt;
&lt;p /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/vsphere4/doc/vsp_esx40_vc40_rel_notes.html"&gt;http://www.vmware.com/support/vsphere4/doc/vsp_esx40_vc40_rel_notes.html&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
as i wanted this functionality too...  &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/confused.gif" alt="?:|" /&gt;  &lt;br /&gt;
&lt;p /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;The VMware Web Access kickstart script generator is not supported&lt;/b&gt; &lt;br clear="all" /&gt;  &lt;br clear="all" /&gt; 	For ESX scripted installation, the VMware Web Access script generator is not available in vSphere 4.0. &lt;br clear="all" /&gt;  &lt;br clear="all" /&gt;  &lt;br clear="all" /&gt; 	Workaround: You can use the kickstart script that is auto-generated &lt;br clear="all" /&gt; 	after an interactive installation. After the first interactive &lt;br clear="all" /&gt; 	installation of ESX, the installer creates a&amp;lt;code&amp;gt;* /root/ks.cfg&amp;lt;/code&amp;gt;* script in the ESX filesystem. This script reflects the choices you made &lt;br clear="all" /&gt; 	in the interactive installation. For a complete list of supported &lt;br clear="all" /&gt; 	commands and a sample script, see the &lt;a class="jive-link-external" href="http://www.vmware.com/pdf/vsphere4/r40/vsp_40_esx_vc_installation_guide.pdf"&gt;ESX and vCenter Server Installation Guide&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">scriptedinstall</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">scripted_install</category>
      <pubDate>Sat, 23 May 2009 15:45:52 GMT</pubDate>
      <author>jpratt_at_norwich_dot_edu</author>
      <guid>http://communities.vmware.com/message/1260660</guid>
      <dc:date>2009-05-23T15:45:52Z</dc:date>
      <clearspace:dateToText>6 months, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
    </item>
    <item>
      <title>Undef error when trying to access SNMP MOR</title>
      <link>http://communities.vmware.com/message/1260125</link>
      <description>I am having a very similar issue using the VI Remote CLI tools from multiple machines, and operating systems , e.g. Windows and the Linux RCLI Appliance when accessing a VMware ESX Server 3i, 3.5.0, 123629 and Virtual Center 2.50. infrastructure. &lt;br /&gt;
&lt;br /&gt;
The output from Windows: &lt;br /&gt;
&lt;p /&gt;
C:\Program Files\VMware\VMware VI Remote CLI\bin&amp;gt;vmkfstools.pl --config .\config.cfg --vihost edclvmhp051.xxxxxxxx.com --clonevirtualdisk /vmfs/volumes/4a09d9ba-c1022122-d9ce-001f295d144c/VPCB990003/VPCB990003.vmx /vmfs/volumes/4a09d9ba-c1022122-d9ce-001f295d144c/VPCB990003/VPCB990003_t.vmx --diskformat thin --adapterType lsilogic &lt;br /&gt;
&lt;p /&gt;
Can't call method "type" on an undefined value at C:/Program Files/VMware/VMware&lt;br /&gt;
VI Remote CLI/Perl/lib/VMware/VICommon.pm line 1026. &lt;br /&gt;
&lt;p /&gt;
End Disconnect &lt;br /&gt;
&lt;p /&gt;
I would like to be able to leverage the CLI toolset and am not able to do so currently..&lt;br /&gt;
&lt;p /&gt;
Please advise.</description>
      <pubDate>Fri, 22 May 2009 19:14:17 GMT</pubDate>
      <author>BryanStansel</author>
      <guid>http://communities.vmware.com/message/1260125</guid>
      <dc:date>2009-05-22T19:14:17Z</dc:date>
      <clearspace:dateToText>6 months, 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
    </item>
    <item>
      <title>ghettoVCBg2.pl - Free alternative for backing up VMs in ESX(i) 3.5 and 4.x (no SSH console required!)</title>
      <link>http://communities.vmware.com/docs/DOC-9984</link>
      <description>&lt;h2&gt;Description:&lt;/h2&gt;
This tool is the follow up release of the &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-8760"&gt;ghettoVCB&lt;/a&gt; backup utility which allows users to perform backups of virtual machines residing on &lt;b&gt;ESX(i) 3.5+&lt;/b&gt; servers using methodology similar to VMware's VCB tool. By incorporating highly constructive feedback from the VMware community and utilizing the existing VI API, ghettoVCB&amp;rsquo;s framework was completely rewritten to be &lt;a class="jive-link-external" href="http://www.youtube.com/watch?v=K2cYWfq--Nw"&gt;harder, better, faster, stronger&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The primary motivation for ghettoVCBg2 was to provide ESXi users with access to the utility without relying on unlocking and utilizing the unsupported console. To satisfy this requirement, the rebuilt framework takes advantage of the &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/viperltoolkit/"&gt;VI Perl Toolkit/vSphere SDK for Perl&lt;/a&gt; which is present in the &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vima/"&gt;VIMA/vMA&lt;/a&gt; virtual appliance provided by VMware. As a result, ghettoVCBg2 provides a more proper backup solution that administrators can utilize in their virtual infrastructure. &lt;br /&gt;
&lt;br /&gt;
As it stands, it is a requirement that ghettoVCB be invoked directly on each of the ESX servers hosting virtual machines in need of a backup. By taking advantage of VIMA/vMA, the entire backup process becomes centralized in turn eliminating the abovementioned requirement. Additionally, by leveraging the vi-fastpass library, unattended authentication between VIMA/vMA and target ESX servers is made possible. This alleviates the need to continually pass in credentials for each ESX server. &lt;br /&gt;
&lt;br /&gt;
By centralizing the backup process, individual virtual machine backup lists pertaining to their respective ESX(i) servers are no longer required. ghettoVCBg2 has the ability to identify virtual machines and their respective hosts, potentially eliminating any past confusion associated with maintaining multiple lists. &lt;br /&gt;
&lt;br /&gt;
In its current configuration, the script will allow up to 3 unique backups of the Virtual Machine before it will overwrite the previous backups; this however, can be modified to fit procedures if need be. Please be diligent in running the script in a test or staging environment before using it on production live Virtual Machines; this script functions well within our environment but there is a chance that it may not fit well into other environments.&lt;br /&gt;
&lt;br /&gt;
Find more information at: &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-9843"&gt;http://communities.vmware.com/docs/DOC-9843&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_operations</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima1.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ghettovcbg2</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <pubDate>Thu, 21 May 2009 14:32:09 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9984</guid>
      <dc:date>2009-05-21T14:32:09Z</dc:date>
      <clearspace:dateToText>6 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>New  VMware vSphere Health Check Report v1.0</title>
      <link>http://communities.vmware.com/message/1234467</link>
      <description>When you're saying VIM, I assume you're talking about the vSphere SDK for Perl (Perl bindings to the VI API) ?&lt;br /&gt;
&lt;br /&gt;
Take a look in the BETA forum, there you'll find a section to the SDK download for the toolkits. &lt;br /&gt;
&lt;br /&gt;
Here is the breakdown of the new names if you're familiar with the old names such as VI Toolkit or VI Perl Toolkit: &lt;a class="jive-link-external" href="http://communities.vmware.com/blogs/DeveloperCenter/2009/04/21/what-is-new-in-vsphere-sdks-38toolkits"&gt;http://communities.vmware.com/blogs/DeveloperCenter/2009/04/21/what-is-new-in-vsphere-sdks-38toolkits&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
If you find this information useful, please award points for "correct" or "helpful".</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vsphere_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmware_health_check</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">health_check</category>
      <pubDate>Thu, 23 Apr 2009 21:14:38 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1234467</guid>
      <dc:date>2009-04-23T21:14:38Z</dc:date>
      <clearspace:dateToText>7 months, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
    </item>
    <item>
      <title>Script to find RDMs on ESX Hosts or VC</title>
      <link>http://communities.vmware.com/message/1234356</link>
      <description>&lt;br /&gt;
My coworker came up with the following as the posted one didnt work with 3.0.1&lt;br /&gt;
&lt;p /&gt;
find /vmfs/volumes/*/*/*-rd*.vmdk | uniq | egrep -v /vmfs/volumes/[&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=&amp;subject=%3Adigit%3A%5D"&gt;:digit:]&lt;/a&gt;</description>
      <pubDate>Thu, 23 Apr 2009 19:55:59 GMT</pubDate>
      <author>CITITECHS</author>
      <guid>http://communities.vmware.com/message/1234356</guid>
      <dc:date>2009-04-23T19:55:59Z</dc:date>
      <clearspace:dateToText>7 months, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>11</clearspace:replyCount>
    </item>
    <item>
      <title>RCLI 3.5u2 new?</title>
      <link>http://communities.vmware.com/message/1231939</link>
      <description>Gotcha, thanks. &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
If you find this information useful, please award points for "correct" or "helpful".</description>
      <pubDate>Tue, 21 Apr 2009 21:07:24 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1231939</guid>
      <dc:date>2009-04-21T21:07:24Z</dc:date>
      <clearspace:dateToText>7 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>Not happy with VI API/RCLI ESXi 3.5u4 lockdown? Worry not, VMware VIX to the rescue ... for now =)</title>
      <link>http://communities.vmware.com/message/1230459</link>
      <description>While browsing around the management API forum this morning, I stumbled across a question in the VMware VIX forum regarding the age old question "Will this API/Toolkit continue to work with ESXi 3.5u4 after the read-only fix"? I would have thought the answer was no, the VMware VIX API would be governed in the same manner as the VI API and you would need to have at least the Foundation license to have full read/write capabilities. To my surprise, that was not the case as Carter Shanklin responded in this thread: &lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://communities.vmware.com/message/1230436#1230436"&gt;http://communities.vmware.com/message/1230436#1230436&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;
It's a separate API. Any licensing it did would have to be implemented within VIX, which is not really a priority. Some day (think far away) we'll be exposing VIX functionality through VI API, when that happens it will be subject to VI licensing.&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
So it looks like for all those that enjoyed the RCLI for VM management, you still have an option of looking at &lt;a class="jive-link-external" href="http://engr.ucsb.edu/~duonglt/vmware/#vmware_vix"&gt;VMware VIX&lt;/a&gt; and specifically the &lt;b&gt;vmrun&lt;/b&gt; binary that is available. The VIX API has actually been around for sometime and I'm not an expert in the history but as of version 1.6.2, a pre-compiled binary was released which provides a way for a user to automate some basic tasks for virtual machine management so long as your VM(s) have VMware Tools installed and you're using at least ESX(i) 3.5u3+. The VIX API can be installed on both Windows and Linux and the neat thing about the tool is you can talk directly to an individual ESX(i) host or vCenter. There are some known issues like reverting snapshots, but this is definitely a very powerful tool in my mind to provide further management of your VM(s) and it's great to hear this will eventually be part of the standard VI API, makes it easier on developers to create tools/applications across a common API. &lt;br /&gt;
&lt;br /&gt;
Here is a quick list of available options (VMware VIX installed on VIMA): &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima ~]$ vmrun

vmrun version 2.0.0 build-127388

Usage: vmrun [AUTHENTICATION-FLAGS] COMMAND [PARAMETERS]



AUTHENTICATION-FLAGS
--------------------
These must appear before the command and any command parameters.

   -h &amp;lt;hostName&amp;gt;  (not needed for Workstation)
   -P &amp;lt;hostPort&amp;gt;  (not needed for Workstation)
   -T &amp;lt;hostType&amp;gt; (ws|server|server1)
     for example, use '-T server' for Server 2.0
                  use '-T server1' for Server 1.0
   -u &amp;lt;userName in host OS&amp;gt;  (not needed for Workstation)
   -p &amp;lt;password in host OS&amp;gt;  (not needed for Workstation)
   -gu &amp;lt;userName in guest OS&amp;gt;
   -gp &amp;lt;password in guest OS&amp;gt;



POWER COMMANDS           PARAMETERS           DESCRIPTION
--------------           ----------           -----------
start                    Path to vmx file     Start a VM
                         [gui|nogui]

stop                     Path to vmx file     Stop a VM
                         [hard|soft]

reset                    Path to vmx file     Reset a VM
                         [hard|soft]

suspend                  Path to vmx file     Suspend a VM
                         [hard|soft]

pause                    Path to vmx file     Pause a VM

unpause                  Path to vmx file     Unpause a VM



SNAPSHOT COMMANDS        PARAMETERS           DESCRIPTION
-----------------        ----------           -----------
snapshot                 Path to vmx file     Create a snapshot of a VM
                         Snapshot name

deleteSnapshot           Path to vmx file     Remove a snapshot from a VM
                         Snapshot name

revertToSnapshot         Path to vmx file     Set VM state to a snapshot
                         Snapshot name



RECORD/REPLAY COMMANDS   PARAMETERS           DESCRIPTION
----------------------   ----------           -----------
beginRecording           Path to vmx file     Begin recording a VM
                         Snapshot name

endRecording             Path to vmx file     End recording a VM

beginReplay              Path to vmx file     Begin replaying a VM
                         Snapshot name

endReplay                Path to vmx file     End replaying a VM



GUEST OS COMMANDS        PARAMETERS           DESCRIPTION
-----------------        ----------           -----------
runProgramInGuest        Path to vmx file     Run a program in Guest OS
                         [-noWait]
                         [-activeWindow]
                         [-interactive]
                         Complete-Path-To-Program
                         [Program arguments]

fileExistsInGuest        Path to vmx file     Check if a file exists in Guest OS
                         Path to file in guest

setSharedFolderState     Path to vmx file     Modify a Host-Guest shared folder
                         Share name
                         Host path
                         writable | readonly

addSharedFolder          Path to vmx file     Add a Host-Guest shared folder
                         Share name
                         New host path

removeSharedFolder       Path to vmx file     Remove a Host-Guest shared folder
                         Share name

listProcessesInGuest     Path to vmx file     List running processes in Guest OS

killProcessInGuest       Path to vmx file     Kill a process in Guest OS
                         process id

runScriptInGuest         Path to vmx file     Run a script in Guest OS
                         Interpreter path
                         script_text

deleteFileInGuest        Path to vmx file     Delete a file in Guest OS
                         Path in guest

createDirectoryInGuest   Path to vmx file     Create a directory in Guest OS
                         Directory path in guest

deleteDirectoryInGuest   Path to vmx file     Delete a directory in Guest OS
                         Directory path in guest

listDirectoryInGuest     Path to vmx file     List a directory in Guest OS
                         Directory path in guest

copyFileFromHostToGuest  Path to vmx file     Copy a file from host OS to guest OS
                         Path on host
                         Path in guest

copyFileFromGuestToHost  Path to vmx file     Copy a file from guest OS to host OS
                         Path in guest
                         Path on host

renameFileInGuest        Path to vmx file     Rename a file in Guest OS
                         Original name
                         New name

captureScreen            Path to vmx file     Capture the screen of the VM to a local file
                         Path on host

writeVariable            Path to vmx file     Write a variable in the VM state
                         [runtimeConfig|guestEnv]
                         variable name
                         variable value

readVariable             Path to vmx file     Read a variable in the VM state
                         [runtimeConfig|guestEnv]
                         variable name



VPROBE COMMANDS          PARAMETERS           DESCRIPTION
---------------          ----------           -----------
vprobeVersion            Path to vmx file     List VP version

vprobeLoad               Path to vmx file     Load VP script
                         'VP script text'

vprobeReset              Path to vmx file     Disable all vprobes

vprobeListProbes         Path to vmx file     List probes

vprobeListGlobals        Path to vmx file     List global variables



GENERAL COMMANDS         PARAMETERS           DESCRIPTION
----------------         ----------           -----------
list                                          List all running VMs

upgradevm                Path to vmx file     Upgrade VM file format, virtual hw

installtools             Path to vmx file     Install Tools in Guest

register                 Path to vmx file     Register a VM

unregister               Path to vmx file     Unregister a VM

listRegisteredVM                              List registered VMs

clone                    Path to vmx file     Create a copy of the VM
                         Path to destination vmx file
                         full|linked
                         [Snapshot name]




Examples:


Starting a virtual machine with Workstation on a Windows host
   vmrun -T ws start &amp;quot;c:\my VMs\myVM.vmx&amp;quot;


Stopping a virtual machine with Server on a linux host
   vmrun -T server -h https://myHost.com/sdk -u hostUser -p hostPassword stop &amp;quot;[storage1] vm/myVM.vmx&amp;quot;


Running a program in a virtual machine with Workstation on a Windows host with Windows guest
   vmrun -T ws -gu guestUser -gp guestPassword runProgramInGuest &amp;quot;c:\my VMs\myVM.vmx&amp;quot; &amp;quot;c:\Program Files\myProgram.exe&amp;quot;


Running a program in a virtual machine with Server on a linux host with linux guest
   vmrun -T server -h https://myHost.com/sdk -u hostUser -p hostPassword -gu guestUser -gp guestPassword runProgramInGuest &amp;quot;[storage1] vm/myVM.vmx&amp;quot; /usr/bin/X11/xclock -display :0


Creating a snapshot of a virtual machine with Workstation on a Windows host
   vmrun -T ws snapshot &amp;quot;c:\my VMs\myVM.vmx&amp;quot; mySnapshot


Reverting to a snapshot with Workstation on a Windows host
   vmrun -T ws revertToSnapshot &amp;quot;c:\my VMs\myVM.vmx&amp;quot; mySnapshot


Deleting a snapshot with Workstation on a Windows host
   vmrun -T ws deleteSnapshot &amp;quot;c:\my VMs\myVM.vmx&amp;quot; mySnapshot

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
So it looks like for those that are looking to make use of the free version of ESXi, you still have some capabilities for VM management using VMware VIX, note VIX is only for guest management and there are no available tools or exposed functionality for host management. If you're looking for host management utilities then I would suggest purchasing at least the Foundation license and take advantage of VI Perl Toolkit/RCLI, VI Powershell, VI API, etc. &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;&lt;br /&gt;
&lt;br /&gt;
If you find this information useful, please award points for "correct" or "helpful".</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">rcli</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmware_vix</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vi_api</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">lockdown</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi3.5u4</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">read-only</category>
      <pubDate>Mon, 20 Apr 2009 17:56:07 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1230459</guid>
      <dc:date>2009-04-20T17:56:07Z</dc:date>
      <clearspace:dateToText>7 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>further exploration of vCMA</title>
      <link>http://communities.vmware.com/message/1221955</link>
      <description>Forgot to also mention if additional customization will be supported, provide a mechanism to easily save the configuration file to say a &lt;b&gt;.tgz&lt;/b&gt; that can be exported out through a webpage or through the console via scp or something. This way if you want to rollout multiple vCMA or reinstall you can backup the configuration file and reload. &lt;br /&gt;
&lt;br /&gt;
(e.g.)&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;backup-conf.sh
reload-conf.sh
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Also I assume users should be rolling out 1 vCMA per vCenter instance, I don't recall if there was a max number of supported user's on a single vCMA? &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcma</category>
      <pubDate>Thu, 09 Apr 2009 16:12:04 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1221955</guid>
      <dc:date>2009-04-09T16:12:04Z</dc:date>
      <clearspace:dateToText>7 months, 2 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
    </item>
    <item>
      <title>New VM cloning script for ESX/ESXi 3.5u2+</title>
      <link>http://communities.vmware.com/message/1208025</link>
      <description>It's a best practice that data that is meant for the hypervisor should not be shared or seen by the guestOS. Having said that it's possible and I believe there are a few threads floating on the forum's regarding this, a quick search should yield some results that may be helpful. I don't recommend trying to extract data from the .VMX and presenting it to a guest, as some have mentioned there are security measures to block against such data sharing and I would not rely on any methods developed as a perm solution.  &lt;br /&gt;
&lt;br /&gt;
If you need to add custom attributes to describe a VM, you can do so with annotations and use either VI Perl Toolkit or Powershell to automatically update the annotations, there are few examples in the API forums I believe. You could also manually updated the .VMX file as you create the clones, an example would be:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;annotation = &amp;quot;My VM does blah&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Hopefully this answered your question&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
William Lam&lt;br /&gt;
VMware vExpert 2009&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;&lt;br /&gt;
&lt;a class="jive-link-external" href="http://twitter.com/lamw"&gt;http://twitter.com/lamw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" alt="http://engineering.ucsb.edu/~duonglt/vmware/vexpert_silver_icon.jpg" class="jive-image"  /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">clone</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">cloning</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_clone</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vm_cloning</category>
      <pubDate>Wed, 25 Mar 2009 01:13:27 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1208025</guid>
      <dc:date>2009-03-25T01:13:27Z</dc:date>
      <clearspace:dateToText>8 months, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
    </item>
    <item>
      <title>VI API r/w license for ESXi</title>
      <link>http://communities.vmware.com/message/1191657</link>
      <description>By the way - what does it mean that the API is read-only? Is there any document describing the limitations of the API in the free ESXi version?&lt;br /&gt;
&lt;br /&gt;
I was playing with python example found online and was able to start/stop/suspend VMs when talking to ESXi 3.5 U2 and U3 hosts just fine. I was a bit surprised because I thought that these operations were inaccessible.&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
&lt;br /&gt;
 Andrzej</description>
      <pubDate>Sat, 07 Mar 2009 02:50:18 GMT</pubDate>
      <author>aszeszo_vsl</author>
      <guid>http://communities.vmware.com/message/1191657</guid>
      <dc:date>2009-03-07T02:50:18Z</dc:date>
      <clearspace:dateToText>8 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
    </item>
    <item>
      <title>How to forcefully delete an entire folder ? vifs.pl does not support this feature</title>
      <link>http://communities.vmware.com/message/1180569</link>
      <description>Steve,&lt;br /&gt;
&lt;br /&gt;
I guess I spoke too soon, you're right the limitation is in vifs.pl. I think this is something that would be useful to have out of the box without having to make any adjustments. Thanks once again and I was hoping I did not have to ghetto rig the solution =)&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vifs.pl</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">rmdir</category>
      <pubDate>Tue, 24 Feb 2009 17:28:17 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1180569</guid>
      <dc:date>2009-02-24T17:28:17Z</dc:date>
      <clearspace:dateToText>9 months, 3 days ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
    </item>
    <item>
      <title>get_view MOR Property Filter ?</title>
      <link>http://communities.vmware.com/message/1177625</link>
      <description>Hi William,&lt;br /&gt;
&lt;div class="jive-quote"&gt;&lt;span class="jive-quote-header"&gt;lamw wrote:&lt;/span&gt;&lt;br /&gt;
I always thought we had to use the {noformat} tags. Anywho, I just fixed the output, you should be able to see what I tried.&lt;/div&gt;
Use the { code } tags for that. They usually work best for code and well.. the majority of things that you don't want to be reformatted.&lt;br /&gt;
Have a peeksy at my document here that discusses on how to do these type of things in the forum: &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-2555"&gt;Undocumented wiki markup tricks&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br&gt;&lt;br&gt;--&lt;br /&gt;
Wil&lt;br /&gt;
_____________________________________________________ &lt;br /&gt;
Visit the new VMware developers wiki at &lt;a class="jive-link-external" href="http://www.vi-toolkit.com"&gt;http://www.vi-toolkit.com&lt;/a&gt;</description>
      <pubDate>Fri, 20 Feb 2009 10:46:57 GMT</pubDate>
      <author>wila</author>
      <guid>http://communities.vmware.com/message/1177625</guid>
      <dc:date>2009-02-20T10:46:57Z</dc:date>
      <clearspace:dateToText>9 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>9</clearspace:replyCount>
    </item>
    <item>
      <title>Parameter for "QueryVirtualDiskFragmentation" experimental feature</title>
      <link>http://communities.vmware.com/message/1177498</link>
      <description>QueryVirtualDiskFragmentation method is for querying percentage of fragmentation of the "sparse" virtual disk. If the virtual disk being queried is not of type "sparse", the method may just return "0" or nothing. The "uninitialized value" message printed is a warning, and is printed when the value in the "print" command does not hold any value. &lt;br /&gt;
&lt;br /&gt;
Also, QueryVirtualDiskFragmentation method gives the fragmentation of virtual disk file(s) in the host operating system, not the fragmentation of the guest operating system's filesystem inside the virtual disk. If you want to query the disk geometry information for the virtual disk, then QueryVirtualDiskGeometry is the correct method.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">queryvirtualdiskfragmentation</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">disk_fragmentation</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">fragmentation</category>
      <pubDate>Fri, 20 Feb 2009 05:17:41 GMT</pubDate>
      <author>njain</author>
      <guid>http://communities.vmware.com/message/1177498</guid>
      <dc:date>2009-02-20T05:17:41Z</dc:date>
      <clearspace:dateToText>9 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
    </item>
    <item>
      <title>Generating hostd logs from host_view confusion</title>
      <link>http://communities.vmware.com/message/1168898</link>
      <description>njain,&lt;br /&gt;
&lt;br /&gt;
The goal is to replicate what already exists in the &lt;b&gt;hostdiagostic.pl&lt;/b&gt; script but in a more condensed fashion. The parameters from the command line can either be a ESX/ESXi host or vCenter .. from there I have appropriate lines of code that will figure out if this is a &lt;b&gt;HostAgent&lt;/b&gt; or &lt;b&gt;VirtualCenter&lt;/b&gt; type and make the appropriate calls. With respect to the vCenter option, it will drill down into the Cluster view and foreach cluster, it'll get the managed object of the host and from there make a call to this function:&lt;br /&gt;
&lt;br /&gt;
Each hostSystem makes a call to this printHostdLogs function:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;foreach my $cluster (@$cluster_views) {
	my $hosts = Vim::get_views (mo_ref_array =&amp;gt; $cluster-&amp;gt;host);
	foreach(@$hosts) {
		printHostdLogs($_,'vc');
	}
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
The function will then take a look to see if this is either a single host or vCenter, if it's vCenter, it'll pass the managed object of the host into the &lt;b&gt;BrowseDiagnosticLog&lt;/b&gt;. Again, majority of this code is based exactly on &lt;b&gt;hostdiagonistic.pl&lt;/b&gt; script, but I wanted to provided a more condense down version of that script and I've been able to get the single host to output the logs, but when I input vCenter instances and try to pass the host MO, it always fails but referencing the VMware script, that's what it's doing exactly.&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;sub printHostdLogs {
	my ($host,$opt_type) = @_;
	## HOSTD LOGS ##
	my $logData;
	my $logKey = &amp;quot;hostd&amp;quot;;
	my $hostd_log_print = 10; 
	my $diagmgr_view = Vim::get_view(mo_ref =&amp;gt; Vim::get_service_content()-&amp;gt;diagnosticManager);
	if($opt_type eq 'vc') {
	        $logData = $diagmgr_view-&amp;gt;BrowseDiagnosticLog(key =&amp;gt; $logKey, host =&amp;gt; $host, start =&amp;gt; &amp;quot;999999999&amp;quot;);
	} else {
	        $logData = $diagmgr_view-&amp;gt;BrowseDiagnosticLog(key =&amp;gt; $logKey,start =&amp;gt; &amp;quot;999999999&amp;quot;);
	}

	my $lineEnd = $logData-&amp;gt;lineEnd;
	my $start = $lineEnd - $hostd_log_print;
        if($opt_type eq 'vc') {
                 $logData = $diagmgr_view-&amp;gt;BrowseDiagnosticLog(key =&amp;gt; $logKey, host =&amp;gt; $host, start =&amp;gt; $start,lines =&amp;gt; $hostd_log_print);
        else {
	          $logData = $diagmgr_view-&amp;gt;BrowseDiagnosticLog(key =&amp;gt; $logKey,start =&amp;gt; $start,lines =&amp;gt; $hostd_log_print);
        }
	if ($logData-&amp;gt;lineStart != 0) {
	        foreach my $line (@{$logData-&amp;gt;lineText}) {
	                Util::trace(0, &amp;quot;&amp;quot; .$line.&amp;quot;\n&amp;quot;);
	        }
	}
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;b&gt;UPDATE:&lt;/b&gt; I originally missed the fact the &lt;b&gt;readLogFile&lt;/b&gt; function in &lt;u&gt;hostdiagnostic&lt;/u&gt; actually checked to see if the host type was 'VirtualCenter' or 'HostAgent' and hence I did not check properly when trying to read through the logs, the function is now fixed and it works. &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">hostd_log</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">hostd</category>
      <pubDate>Wed, 11 Feb 2009 17:14:13 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1168898</guid>
      <dc:date>2009-02-11T17:14:13Z</dc:date>
      <clearspace:dateToText>9 months, 2 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>New VMware Developer Community forums vProbes/Experimental APIs</title>
      <link>http://communities.vmware.com/message/1166875</link>
      <description>I was just browsing the Developer Community this evening and noticed two new forums:&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://communities.vmware.com/community/developer/vprobes"&gt;vProbes&lt;/a&gt; and &lt;a class="jive-link-external" href="http://communities.vmware.com/community/developer/exapis"&gt;Experimental APIs&lt;/a&gt; ... wondering what new stuff might be coming out&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vprobe</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">experimental_apis</category>
      <pubDate>Tue, 10 Feb 2009 06:17:59 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1166875</guid>
      <dc:date>2009-02-10T06:17:59Z</dc:date>
      <clearspace:dateToText>9 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>How to interpret Cluster effectiveMem &amp;#38; effectiveCpu?</title>
      <link>http://communities.vmware.com/message/1164413</link>
      <description>Confirmed the answer, this is not the amount of resources consumed, only what is available to be consumed by the VM(s). This unfourtante that these stats must be obtained manually by collecting the quickStats on each host and accumlating the information. This would be a nice feature to have at the cluster level&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Fri, 06 Feb 2009 17:20:08 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1164413</guid>
      <dc:date>2009-02-06T17:20:08Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>Given MO of VM, list all files associated with VM (e.g. -flat.vmdk,-delta.vmdk,*vmware.log,etc)</title>
      <link>http://communities.vmware.com/message/1163928</link>
      <description>I decided that just finding orphaned .vmsn files help but I ended up just looking at the datastore and locating all delta files and printing the relevant information based on user configurations.&lt;br /&gt;
&lt;br /&gt;
Here is the latest revision of the script and there is a sample report if you're interested on what the output looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9420"&gt;http://communities.vmware.com/docs/DOC-9420&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Fri, 06 Feb 2009 04:25:03 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1163928</guid>
      <dc:date>2009-02-06T04:25:03Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>15</clearspace:replyCount>
    </item>
    <item>
      <title>Querying to see if Intel-VT or AMD-V is enabled</title>
      <link>http://communities.vmware.com/message/1162644</link>
      <description>I've looked around at the host hardware config data objects, but did not find any information relevant in checking on whether a host has either the Intel-VT or AMD-V bits enabled within the bios. I found some information in HostCpuIdInfo data object but is that enough to tell whether or not these features are enabled? I don't believe so if I'm not mistaken and I don't see any other advanced BIOS information that could obtained?&lt;br /&gt;
&lt;br /&gt;
Is this information provided through the API?&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Thu, 05 Feb 2009 00:34:47 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1162644</guid>
      <dc:date>2009-02-05T00:34:47Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Getting properly VM view from ClusterComputerResources</title>
      <link>http://communities.vmware.com/message/1162276</link>
      <description>I've noticed implementing the following section of code has increase my script execution time by almost 1.5-2x. It looks like there is no way to directly access the contents of a specific VM, so the solution is to just print out the contents of the entire datastore and all VM(s) residing under it?&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;#retrieve datastore summary from VM
my $vm_datastore_view = $vm-&amp;gt;datastore;
foreach (@$vm_datastore_view) {
               my $ds = Vim::get_view(mo_ref =&amp;gt; $_);
               $vms_storage{$vm-&amp;gt;config-&amp;gt;name} = $ds-&amp;gt;summary-&amp;gt;name;
               my $vm_environBrowse = $vm-&amp;gt;environmentBrowser;
               my $ds_browser = Vim::get_view(mo_ref =&amp;gt; $ds-&amp;gt;browser);
               my $ds_path = &amp;quot;&amp;quot;;

               my $file_query = FileQueryFlags-&amp;gt;new(fileSize =&amp;gt; 1,
                                       fileType =&amp;gt; 0,
                                       modification =&amp;gt; 0);

			   #add matchPattern
               my $searchSpec = HostDatastoreBrowserSearchSpec-&amp;gt;new(details =&amp;gt; $file_query,);
               my $search_res = $ds_browser-&amp;gt;SearchDatastoreSubFolders(datastorePath =&amp;gt; $ds_path,searchSpec =&amp;gt; $searchSpec);

               if ($search_res) {
                       foreach my $result (@$search_res) {
                               my $files = $result-&amp;gt;file;
                               if ($files) {
                                       print &amp;quot;\n\nFolder:: &amp;quot; . $result-&amp;gt;folderPath . &amp;quot;\n&amp;quot;;
                                       print &amp;quot;-------------------------------------------------------------\n&amp;quot;;
                                       printf &amp;quot;%-50s%-20s&amp;quot;, &amp;quot;Name&amp;quot;, &amp;quot;Size(in bytes)&amp;quot;;
                                       print &amp;quot;\n-------------------------------------------------------------\n&amp;quot;;
                                       foreach my $file (@$files) {
                                               printf &amp;quot;%-50s%-20s&amp;quot;, $file-&amp;gt;path, $file-&amp;gt;fileSize;
                                               print &amp;quot;\n&amp;quot;;
                                        }
                               }
                       }
               }
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
I'm thinking this is probably inefficient to try to accomplish this task within VM view since you're going to loop through the datastore contents multiple times and should be done only once when looping through all datastores seen by a given cluster and record the VM(s) with delta files in the directory?&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Wed, 04 Feb 2009 18:46:49 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1162276</guid>
      <dc:date>2009-02-04T18:46:49Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>11</clearspace:replyCount>
    </item>
    <item>
      <title>few vmrun.exe questions</title>
      <link>http://communities.vmware.com/message/1158981</link>
      <description>For 1, no you can't directly get the results back.&lt;br /&gt;
&lt;br /&gt;
However, you can redirect the output to a file, then copy that file to the host using the 'copyFileFromGuestToHost' command.</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vix</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmrun</category>
      <pubDate>Sun, 01 Feb 2009 05:17:04 GMT</pubDate>
      <author>mattrich</author>
      <guid>http://communities.vmware.com/message/1158981</guid>
      <dc:date>2009-02-01T05:17:04Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>7</clearspace:replyCount>
    </item>
    <item>
      <title>VMware Health Check Report v0.3 for (vCenter, vCenter Cluster and/or ESX/ESXi hosts)</title>
      <link>http://communities.vmware.com/message/1158969</link>
      <description>Check out my new VMware health check report at: &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9420"&gt;http://communities.vmware.com/docs/DOC-9420&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The script reports on the following:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;vCenter Build/Release&lt;/li&gt;
&lt;li&gt;ESX/ESXi Build/Release&lt;/li&gt;
&lt;li&gt;Cluster(s) Name/Statistics (Hosts,CPU and MEM availabity, HA,DRS and DPM enabled)&lt;/li&gt;
&lt;li&gt;ESX/ESXi Hardware configuration (NICs/HBAs)&lt;/li&gt;
&lt;li&gt;ESX/ESXi State&lt;/li&gt;
&lt;li&gt;ESX/ESXi Config (WIP)&lt;/li&gt;
&lt;li&gt;ESX/ESXi Datastore summary&lt;/li&gt;
&lt;li&gt;Virtual Machines summary&lt;/li&gt;
&lt;li&gt;VM Storage summary&lt;/li&gt;
&lt;li&gt;VM Network summary&lt;/li&gt;
&lt;li&gt;VM w/Snapshots&lt;/li&gt;
&lt;li&gt;VM w/RDMs&lt;/li&gt;
&lt;li&gt;VM w/NPIV enabled&lt;/li&gt;
&lt;li&gt;VM w/connected CD-ROMs&lt;/li&gt;
&lt;li&gt;VM w/connected Floppys&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
The script supports vCenter and all it's managed entities, a single vCenter cluster or individual ESX 3.x+/ESXi 3.5+ hosts. &lt;br /&gt;
&lt;br /&gt;
Let me know if you run into any issues or your thoughts about the output, thanks!&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5.1</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcenter2.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vcenter</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">report</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">health_check</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">health</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtual_center</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">virtualcenter</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">cluster</category>
      <pubDate>Sun, 01 Feb 2009 04:31:40 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1158969</guid>
      <dc:date>2009-02-01T04:31:40Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Unable retrieve # of disks for VM, always returns 0</title>
      <link>http://communities.vmware.com/message/1155780</link>
      <description>That is true, I could just "count".&lt;br /&gt;
&lt;br /&gt;
I'm not using the &lt;b&gt;vminfo.pl&lt;/b&gt; code directly, but looking at the API and looking at vminfo.pl, I was able to match up the value to numVirtualDisks. I'm using and older sample code called &lt;b&gt;"clusterList.pl"&lt;/b&gt; which starts from ClusterComputeResource. &lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-message" href="http://communities.vmware.com/message/744314#744314"&gt;http://communities.vmware.com/message/744314#744314&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I'm able to get the vm view and like I said, I've been able to get all attributes but this single one is the one that is acting up. It's weird because if I did something wrong, I would have expected it to return null or thrown an error but it just comes back as 0. I have an array of VM(s) ranging from Linux/Win and the majority are poweredOn and have the latest VMware tools running, which I don't think would affect the results. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE&lt;/b&gt;: I also noticed when I pass in a single ESX/ESXi host, the retrieval of the # of disks per VM is outputted correctly, it's when I drill down from the ClusterComputerResource-&amp;gt;Cluster-&amp;gt;Host-&amp;gt;VM that it prints 0. &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Wed, 28 Jan 2009 17:51:32 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1155780</guid>
      <dc:date>2009-01-28T17:51:32Z</dc:date>
      <clearspace:dateToText>9 months, 4 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>"Quick" migration script for VM(s) running on ESXi 3.5u2+</title>
      <link>http://communities.vmware.com/message/1154792</link>
      <description>Yeah I hear ya...I mess with an NFS server a few times. Maybe i will try it again.</description>
      <pubDate>Tue, 27 Jan 2009 17:46:43 GMT</pubDate>
      <author>s1xth</author>
      <guid>http://communities.vmware.com/message/1154792</guid>
      <dc:date>2009-01-27T17:46:43Z</dc:date>
      <clearspace:dateToText>10 months, 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>15</clearspace:replyCount>
    </item>
    <item>
      <title>Linked Clones implementation for VMware VDI environment at UC Santa Barbara, ResNet</title>
      <link>http://communities.vmware.com/docs/DOC-9201</link>
      <description>&lt;h2&gt;Description:&lt;/h2&gt;
Motivated by heavy disk costs and slow deployment processes, scripts were developed in-house to make VDI administration easier without incurring any additional costs above that which is necessary. The outcome of these scripts is two tools whose usage will be described in this document. &lt;br /&gt;
&lt;br /&gt;
Our current environment is a small installation of about twenty thinclients (and associated virtual machines) that make up our student accessible lab computers. Total storage consumption is hovering around 80 GB on a single datastore with Linked Clones distributed across 2 ESX hosts. Each VM is configured with 2 vCPUs and 1 GB of memory. At the moment, standard applications like office productivity software is being used on the production VMs. A discussion to extend the application set to include engineering and graphics design oriented software is currently underway thanks to the capabilities of HP RGS.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;b&gt;Update - (1/22/2009)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
An issue was found with linked clones that are joined to a Windows domain. Win2k/WinXP/Win2k3 domain members change their computer account passwords every &lt;b&gt;30 days&lt;/b&gt;. When linked clones have been sealed in &lt;b&gt;Step 7&lt;/b&gt;, the computer account password generated after joining the domain is saved in the snapshot. This becomes an issue on the 30th day (or 7th day in pre-Win2k machines) when the computer account password is changed and the domain controller receives the new password. &lt;b&gt;Step 8&lt;/b&gt; in the procedure defines that the linked clones are reverted to their state immediately after joining the domain. On the 30th day, this causes the old computer account password of the linked clone to be in effect consequently disallowing any communication between the domain controller and the linked clone. &lt;br /&gt;
&lt;br /&gt;
This problem can be solved in five ways (in order of increasing work and accessibility):&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Proactive Solutions:&lt;/b&gt;&lt;br /&gt;
1) Disable machine account password changes on the domain controller as per instructions from:&lt;br /&gt;
	&lt;a class="jive-link-external" href="http://technet.microsoft.com/en-us/library/cc785826.aspx"&gt;http://technet.microsoft.com/en-us/library/cc785826.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This can be limited to just linked clone domain members by applying the necessary group policy security setting to these domain members. This is the solution we employed. Any linked clones that are "Powered On" should be "Rebooted" or "Reverted" and then subsequently "Powered On" after updating the GPO. &lt;br /&gt;
&lt;br /&gt;
2) Disable machine account password changes on the master image (before link cloning) as per instructions from:&lt;br /&gt;
	&lt;a class="jive-link-external" href="http://support.microsoft.com/kb/154501"&gt;http://support.microsoft.com/kb/154501&lt;/a&gt;&lt;br /&gt;
These instructions apply to Windows 2000 and NT. Use the Windows 2000 instructions on Windows XP. This hasn't been tested. It doesn't seem as though the domain controller will override this setting but it is up to the user to find out. &lt;br /&gt;
&lt;br /&gt;
3) Retire linked clones every month which will probably happen often due to image updates.&lt;br /&gt;
&lt;br /&gt;
4) Delete linked clone snapshots before password update occurs on the 30th day and resnap the clones afterwards. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Reactive Solution:&lt;/b&gt;&lt;br /&gt;
5) Delete linked clone snapshots, unjoin each linked clone from the domain, rejoin each linked clone to the domain and resnap each linked clone using &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9061"&gt;my-vmware-cmd.sh&lt;/a&gt;. This can actually be relatively quick and effortless if scripted properly.&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Tools and Hardware:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9020"&gt;ghetto-esx-linked-clones.sh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9061"&gt;my-vmware-cmd.sh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;VMware ESX 3.5u3&lt;/li&gt;
&lt;li&gt;VMware Virtual Center 2.5u3&lt;/li&gt;
&lt;li&gt;HP SAM (Session Allocation Manager) [VDI Connection broker]&lt;/li&gt;
&lt;li&gt;HP RGS Sender/Receiver&lt;/li&gt;
&lt;li&gt;HP BL460c&lt;/li&gt;
&lt;li&gt;HP EVA4400&lt;/li&gt;
&lt;li&gt;HP T5730 thinclients&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Implementation:&lt;/h2&gt;
&lt;br /&gt;
&lt;b&gt;Step 1.&lt;/b&gt; &lt;br /&gt;
&lt;blockquote&gt;Create a Master VM image with Windows XP Professional, install VMware Tools and all applications that will be available on the Linked Clone VMs (including SAM registration and RGS Sender services). Ensure that the Master VM is set to automatically obtain an IP address via DHCP and that it is on the correct network that linked clones will be operating on.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 2.&lt;/b&gt; &lt;br /&gt;
&lt;blockquote&gt;Shutdown Master VM image.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 3.&lt;/b&gt; &lt;br /&gt;
&lt;blockquote&gt;Create Linked Clones using &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9020"&gt;ghetto-esx-linked-clones.sh&lt;/a&gt;.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 4.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;Create DHCP reservations on Windows DHCP server from the MAC address file that &lt;b&gt;"ghetto-esx(i)-linked-clones.sh"&lt;/b&gt; creates using a custom &lt;b&gt;.vbs&lt;/b&gt; DHCP IP reservation script. &lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 5.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;Power on all newly created Linked Clones using VIClient if resources allow it.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 6.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;Once powered on, a custom &lt;b&gt;.vbs&lt;/b&gt; script utilizing WMI calls to request that the new Linked Clones join our Active Directory domain is executed from a Windows machine.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 7.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;Once all VMs have been joined to the domain, the snap function of &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9061"&gt;my-vmware-cmd.sh&lt;/a&gt; is run on these VMs. This is required to capture the pristine state of the system right after joining the domain. &lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 8.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;At this point, the VMs are ready to be utilized by the available thinclients that have the HP SAM client installed on them. Changes that are made to the Linked Clones by users are discarded because the Linked Clones are refreshed every night using the revert function of &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9061"&gt;my-vmware-cmd.sh&lt;/a&gt; that is scheduled with a crontab.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 9.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;When an image needs to be rebuilt/upgraded, the Master VM image is cloned and worked on while the existing Linked Clones are online. Steps 1 through 7 are followed again on the new Master VM image and new Linked Clones are created with special attention towards disabling these new Linked Clones inside HP SAM. &lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 10.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;The old inactive Linked Clones are disabled in HP SAM with old active Linked Clones left alone. The new Linked Clones are then enabled inside HP SAM. The old active Linked Clones will be manually disabled once the user logs out.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Step 11.&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;The purge function of &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9061"&gt;my-vmware-cmd.sh&lt;/a&gt; is then used to destroy the old Linked Clones and all old Linked Clones are removed from HP SAM resources.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Note: With the advent of the new HP RGS licensing model, HP hardware is no longer necessary in a VMware VDI environment utilizing this display protocol.&lt;/b&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">vdi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">linked</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">clones</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">ucsb</category>
      <pubDate>Wed, 17 Dec 2008 16:37:08 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9201</guid>
      <dc:date>2008-12-17T16:37:08Z</dc:date>
      <clearspace:dateToText>10 months, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>9</clearspace:replyCount>
    </item>
    <item>
      <title>How to use "DatastoreHostMount" data object</title>
      <link>http://communities.vmware.com/message/1151449</link>
      <description>So I took the portgroups found within the cluster and the mapping of ESX/ESXi hosts that had these portgroups into a hash and compared and printout the relevant information. I found that of the other two processes, this one actually took longer to process and I was wondering if I was efficiently extracting the key pieces of information. Secondly, I found that currently it will compare with the list of "valid" hosts, but the problem is the hash table will contain hosts that may or may not be valid and hence the output is extended and could contains hosts that are disconnected or not responding. &lt;br /&gt;
&lt;br /&gt;
UPDATED: I added an additional check prior to adding the values into the hash, this seems to have eliminated invalid hosts, but the duration of time is still pretty long. Also I noticed on my end, there were a few lines that had a null "portgroup" printout. I'm thinking I might be missing another check somewhere. &lt;br /&gt;
&lt;br /&gt;
I've attached the latest revision of the script.  &lt;br /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Thu, 22 Jan 2009 23:01:42 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1151449</guid>
      <dc:date>2009-01-22T23:01:42Z</dc:date>
      <clearspace:dateToText>10 months, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>43</clearspace:replyCount>
    </item>
    <item>
      <title>VI Perl Toolkit "vmcontrol.pl" suspend operation slow on ESXi ?</title>
      <link>http://communities.vmware.com/message/1151051</link>
      <description>Yes I also tried to suspend using the VI Client and it's still slower than traditional ESX 3.5u3.&lt;br /&gt;
&lt;br /&gt;
Here are my findings on the VIC since it provides a timestamp on when the task started/completed:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ESX 3.5u3 w/WinXP SP2&lt;/b&gt;&lt;br /&gt;
Start: 8:39:46&lt;br /&gt;
End 8:39:30	&lt;br /&gt;
&lt;i&gt;16seconds&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ESXi 3.5u3 w/WinXP SP2&lt;/b&gt;&lt;br /&gt;
Start: 8:40:02&lt;br /&gt;
End: 8:38:53&lt;br /&gt;
&lt;i&gt;~1.4min&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The only other thing to note is our ESXi 3.5u3 is actually running off of a stateless PXE boot, could that affect the performance? and possibly degrade the various tasks? I've found powering on the system is just as fast if not faster on ESXi than on the standard ESX. &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
--William&lt;br /&gt;
VMware ESX/ESXi scripts and resources at: &lt;a class="jive-link-external" href="http://engineering.ucsb.edu/~duonglt/vmware/"&gt;http://engineering.ucsb.edu/~duonglt/vmware/&lt;/a&gt;</description>
      <pubDate>Thu, 22 Jan 2009 16:45:03 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/message/1151051</guid>
      <dc:date>2009-01-22T16:45:03Z</dc:date>
      <clearspace:dateToText>10 months, 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
    <item>
      <title>Modify "vmregister.pl" to unregister VM w/o leaving orphaned inventory?</title>
      <link>http://communities.vmware.com/message/1146968</link>
      <description>Sorry, I didn't understand that you were wanting to use fastpass to connect.&lt;br /&gt;
&lt;br /&gt;
Nothing really good immediately comes to mind.  You could use the sessions feature of the SDK to connect to vCenter and save the session file (it's just a cookie), then when a VM is to be unregistered, use that session file to connect and do it, but I would imagine that the session will time out at some point.</description>
      <pubDate>Sun, 18 Jan 2009 07:18:59 GMT</pubDate>
      <author>acsulli</author>
      <guid>http://communities.vmware.com/message/1146968</guid>
      <dc:date>2009-01-18T07:18:59Z</dc:date>
      <clearspace:dateToText>10 months, 1 week ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
    </item>
    <item>
      <title>ghettoClone.sh - Automate cloning VM(s) for ESX/ESXi 3.5u2+ utilizing VMware VIMA: RCLI + VI Perl Toolkit</title>
      <link>http://communities.vmware.com/docs/DOC-9321</link>
      <description>&lt;h2&gt;Description &lt;/h2&gt;
&lt;br /&gt;
This script utilizes &lt;a class="jive-link-external" href="http://www.vmware.com/pdf/vi3_35/esx_3/r35u2/vi3_35_25_u2_rcli.pdf"&gt;VMware RCLI&lt;/a&gt; (Remote command line interface) and &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/viperltoolkit/viperl15/doc/perl_toolkit_utilities_idx.html"&gt;VMware VI Perl Toolkit&lt;/a&gt; found in &lt;a class="jive-link-external" href="http://www.vmware.com/download/download.do?downloadGroup=VI-RCLI-U2"&gt;VMware VIMA&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
VMware currently provides few automated options to clone existing virtual machines that require the use of Virtual Center. That is, virtual machine cloning can be achieved through the use of VI Client and tools like &lt;b&gt;“vmclone.pl”&lt;/b&gt; (which is part of the VI Perl Toolkit) however it is a stringent requirement that Virtual Center must be present in the virtual infrastructure to take advantage of these options. In contrast, virtual machine cloning can also be achieved manually by executing a sequence of commands through the Service Console. The benefit of this option is that Virtual Center is not needed however it quickly becomes cumbersome and impractical if a large number of virtual machines are to be cloned.&lt;br /&gt;
&lt;br /&gt;
The motivation for this script ( &lt;b&gt;ghettoClone.sh&lt;/b&gt; ) then is to provide administrators with a means to automatically clone and deploy a large subset of virtual machines into a virtual environment without requiring tedious Service Console work or Virtual Center. Furthermore, for ease of accessibility, the free VMware VIMA appliance was chosen as the central launch point for the cloning process. &lt;b&gt;ghettoClone.sh&lt;/b&gt; is executed from within VIMA and is compatible with both ESX and ESXi 3.5u2+. It accepts a single source virtual machine along with inputted configuration parameters to tailor cloned virtual machines.  &lt;br /&gt;
&lt;br /&gt;
Please note that &lt;b&gt;ghettoClone.sh&lt;/b&gt; will generate full one to one copies of the source VM (which include all VMDK files associated with it). Each cloned virtual machine will inherit all attributes pertaining to the source VM except that of the UUID bio/location ID’s and display name which will be unique across all generated clones. If you're looking to deploy Linked Clones, please refer to this script instead: &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-9020"&gt;http://communities.vmware.com/docs/DOC-9020&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color:red"&gt;Important Note:&lt;/span&gt;&lt;/b&gt; Upon execution of the cloning process, the user will be prompted to select an available datastore where cloned virtual machines will be stored. It is up to the user to ensure that there is enough space prior to executing the cloning process. This includes but is not limited to considering swap file sizes and room for possible snapshots. The cloning process will begin immediately after confirmation of the datastore so please proceed with caution. It is recommended that the &lt;b&gt;dry run&lt;/b&gt; process is executed before committing to a configuration.  &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Requirements:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;VMware VIMA (virtual appliance)&lt;/li&gt;
&lt;li&gt;ESX/ESXi 3.5u2+&lt;/li&gt;
&lt;li&gt;my-vmregister.pl (modified version of the sample code provided by VMware) [Download at the bottom]&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Usage:&lt;/h2&gt;
&lt;br /&gt;
&lt;b&gt;ghettoClone.sh input parameters:&lt;/b&gt;&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;Usage: ./ghettoClone.sh [-h SERVER] [-v VM_TO_CLONE] [-n NAMING_CONVENTION] [-s START] [-e END] [-f NAME_FILE] -d

Please quote your params if you dare to use spaces in your naming conventions!
Ensure this script is being executed on VMware VIMA and your ESX/ESXi hosts are 3.5u2+

OPTIONS:
   -h   ESX/ESXi 3.5+ Server IP or Hostname
   -v   VM to clone (VM display name)
   -n   Clone naming convention
   -s   Starting value
   -e   Ending value
   -f   File containg naming convention for VM clones (separate each name with newline)
   -d   Dry run, produces only text output of what would be executed based on input parameters

(e.g.)
        ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -n &amp;quot;UCSB-CLONE-&amp;quot; -s 1 -e 10
        ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -n &amp;quot;UCSB-CLONE-&amp;quot; -s 1 -e 10 -d
        ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -f cloneInputFile.txt
        ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -f cloneInputFile.txt -d
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Use cases&lt;/h2&gt;
&lt;br /&gt;
There are 2 supported use cases:&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;&lt;b&gt;&lt;span style="color:blue"&gt;Option 1 - &lt;/span&gt;&lt;/b&gt; Deploy clones from source VM by specifying a cloned VM naming convention and amount (start/end parameter) of clones. &lt;/h4&gt;
&lt;br /&gt;
&lt;h4&gt;&lt;b&gt;&lt;span style="color:green"&gt;Option 2 - &lt;/span&gt;&lt;/b&gt; Deploy clones from source VM by specifying a subset of VM names through an input file. The amount of cloned VMs will directly correlate with the amount of display names present in the input file. &lt;/h4&gt;
&lt;br /&gt;
Both use cases support the &lt;b&gt;“Dry Run”&lt;/b&gt; feature which allows the user to simulate and validate execution of the script before actual execution of the cloning process. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Prerequisite&lt;/h2&gt;
&lt;br /&gt;
Prior to starting, ensure that the VMware VIMA host is managing the appropriate ESX or ESXi 3.5u2+ hosts (those that will be utilizing the ghettoClone.sh script). The script uses VMware VI Fast Pass authentication to connect to the ESX/ESXi server(s). The following steps will demonstrate how to set this up prior to executing the script. &lt;br /&gt;
&lt;br /&gt;
1. Add ESX/ESXi hosts to VIMA managment using  &lt;b&gt;vifp&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A password prompt for the vi-admin account and root password to the pertinent ESX/ESXi host(s) will be presented.&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ sudo vifp addserver olga.resnet.ucsb.edu
root@olga.resnet.ucsb.edu's password:
[vi-admin@vima-primp-industries ~]$

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Verify that the appropriate hosts are being managed by VIMA&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ sudo vifp listservers
olga.resnet.ucsb.edu
himalaya.primp-industries.com

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
3. Lastly, prior to running any of the RCLI or VI Perl Toolkits that utilize VI Fast Pass (not all can), run the following command on the appropriate ESX/ESXi host(s).&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ vifpinit olga.resnet.ucsb.edu

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
To remove a server from VIMA, use the argument &lt;b&gt;“removeserver”&lt;/b&gt; on the host and provide the appropriate credentials. &lt;br /&gt;
&lt;br /&gt;
Now, you're ready to begin!&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;h2&gt;Example execution &lt;/h2&gt;
&lt;h3&gt;Environment&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ESXi 3.5u3 host &lt;/li&gt;
&lt;li&gt;Source VM 1 is Windows XP SP2 with 2 VMDK's (10 GB and 50 MB) named &lt;b&gt;UCSB_TEST&lt;/b&gt; stored on local storage&lt;/li&gt;
&lt;li&gt;Source VM 2 is Windows XP SP2 with 2 VMDK's (10 GB and 100 MB) named &lt;b&gt;UCSB-ENGINEERING&lt;/b&gt; stored on FC LUN&lt;/li&gt;
&lt;li&gt;Clone 3 VMs &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;span style="color:blue"&gt;Option 1&lt;/span&gt;&lt;/h3&gt;
&lt;br /&gt;
1. Dry run execution&lt;br /&gt;
&lt;div class="jive-quote"&gt;./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -n "UCSB-RESNET-CLONE-" -s 1 -e 3 -d&lt;/div&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -n &amp;quot;UCSB-RESNET-CLONE-&amp;quot; -s 1 -e 3 -d

Retrieving info from: olga.resnet.ucsb.edu ...
Selection    Available space       Maximum Capacity     Type                 Name
1)           34.18 GB              124.75 GB            VMFS                 dlgCore-FC-LUN200.Templates
2)           244.61 GB             255.25 GB            VMFS                 olga-local-SAS.Storage
3)           91.58 GB              151.75 GB            VMFS                 dlgCore-FC-LUN202.VMstorage2
4)           29.19 GB              152.75 GB            VMFS                 dlgCore-FC-LUN203.VMstorage3
5)           53.29 GB              150.75 GB            VMFS                 dlgCore-FC-LUN201.VMstorage1
6)           exit

Please select a datastore in which the cloned virtual machines will be stored:
2
#################### DRY RUN MODE ####################
# Temp working directory: tmp_clone_2009-01-09_144356
# ESX Server to initiate clone: olga.resnet.ucsb.edu
# SOURCE VM: UCSB_TEST
# SOURCE VM PATH: [http://olga-local-SAS.Storage|http://olga-local-SAS.Storage] UCSB_TEST/UCSB_TEST.vmx
# SOURCE VM DIR: [http://olga-local-SAS.Storage|http://olga-local-SAS.Storage] UCSB_TEST
# SOURCE VM DATASTORE: [http://olga-local-SAS.Storage|http://olga-local-SAS.Storage]
# DESTINATION VM DATASTORE: [http://olga-local-SAS.Storage|http://olga-local-SAS.Storage]
# VMDK-[0]: -&amp;gt;UCSB_TEST_1.vmdk&amp;lt;-
# VMDK-[1]: -&amp;gt;UCSB_TEST.vmdk&amp;lt;-
# 2 valid VMDK(s) total
# Clone naming convention: UCSB-RESNET-CLONE-{1-3}
# 3 clone(s) to create
##################################################

Start time: Fri Jan  9 14:36:59 PST 2009
End   time: Fri Jan  9 14:37:04 PST 2009
Duration  : 5 Seconds

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Select a datastore and start clone duplication ( &lt;b&gt;note&lt;/b&gt;: in this instance, duplication will take place on the same datastore [local storage: source and destination]. Duplication may be faster on FC/iSCSI/NFS and dissimilar source and destination datastores.)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -n "UCSB-RESNET-CLONE-" -s 1 -e 3&lt;/div&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB_TEST -n &amp;quot;UCSB-RESNET-CLONE-&amp;quot; -s 1 -e 3

Retrieving info from: olga.resnet.ucsb.edu ...
Selection    Available space       Maximum Capacity     Type                 Name
1)           34.18 GB              124.75 GB            VMFS                 dlgCore-FC-LUN200.Templates
2)           244.61 GB             255.25 GB            VMFS                 olga-local-SAS.Storage
3)           91.57 GB              151.75 GB            VMFS                 dlgCore-FC-LUN202.VMstorage2
4)           29.19 GB              152.75 GB            VMFS                 dlgCore-FC-LUN203.VMstorage3
5)           53.29 GB              150.75 GB            VMFS                 dlgCore-FC-LUN201.VMstorage1
6)           exit

Please select a datastore in which the cloned virtual machines will be stored:
2

0% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-1&amp;quot; - 0/3 - Time elapsed: 5 Seconds
0% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-1&amp;quot; - 0/3 - Time elapsed: 31 Seconds
...
0% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-1&amp;quot; - 0/3 - Time elapsed: 6.67 Minutes
33% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-2&amp;quot; - 1/3 - Time elapsed: 6.77 Minutes
...
33% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-2&amp;quot; - 1/3 - Time elapsed: 13.43 Minutes
66% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-3&amp;quot; - 2/3 - Time elapsed: 13.52 Minutes
...
66% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-3&amp;quot; - 2/3 - Time elapsed: 20.45 Minutes
100% Complete! - Creating clone &amp;quot;UCSB-RESNET-CLONE-3&amp;quot; - 3/3 - Time elapsed: 20.53 Minutes

Start time: Fri Jan  9 14:48:23 PST 2009
End   time: Fri Jan  9 15:08:56 PST 2009
Duration  : 20.55 Minutes

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;span style="color:green"&gt;Option 2&lt;/span&gt;&lt;/h3&gt;
&lt;br /&gt;
0. Input file&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ cat toCloneList
ALima
AAmbrosio
MKerr
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
The script accepts a file listing display names of the VM clones to be created. Each needs to be separated by a newline.&lt;br /&gt;
&lt;br /&gt;
1. Dry run execution&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB-ENGINEERING -f toCloneList -d&lt;/div&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB-ENGINEERING -f toCloneList -d

Retrieving info from: olga.resnet.ucsb.edu ...
Selection    Available space       Maximum Capacity     Type                 Name
1)           52.83 GB              124.75 GB            VMFS                 dlgCore-FC-LUN200.Templates
2)           244.61 GB             255.25 GB            VMFS                 olga-local-SAS.Storage
3)           91.50 GB              151.75 GB            VMFS                 dlgCore-FC-LUN202.VMstorage2
4)           29.19 GB              152.75 GB            VMFS                 dlgCore-FC-LUN203.VMstorage3
5)           53.29 GB              150.75 GB            VMFS                 dlgCore-FC-LUN201.VMstorage1
6)           exit

Please select a datastore in which the cloned virtual machines will be stored:
3
#################### DRY RUN MODE ####################
# Temp working directory: tmp_clone_2009-01-09_151630
# ESX Server to initiate clone: olga.resnet.ucsb.edu
# SOURCE VM: UCSB-ENGINEERING
# SOURCE VM PATH: [http://dlgCore-FC-LUN200.Templates|http://dlgCore-FC-LUN200.Templates] UCSB-ENGINEERING/UCSB-ENGINEERING.vmx
# SOURCE VM DIR: [http://dlgCore-FC-LUN200.Templates|http://dlgCore-FC-LUN200.Templates] UCSB-ENGINEERING
# SOURCE VM DATASTORE: [http://dlgCore-FC-LUN200.Templates|http://dlgCore-FC-LUN200.Templates]
# DESTINATION VM DATASTORE: [http://dlgCore-FC-LUN202.VMstorage2|http://dlgCore-FC-LUN202.VMstorage2]
# VMDK-[0]: -&amp;gt;UCSB-ENGINEERING_1.vmdk&amp;lt;-
# VMDK-[1]: -&amp;gt;UCSB-ENGINEERING.vmdk&amp;lt;-
# 2 valid VMDK(s) total
# Clone naming convention: [ AAmbrosio ALima MKerr ]
# 3 clone(s) to create
##################################################

Start time: Fri Jan  9 15:16:36 PST 2009
End   time: Fri Jan  9 15:16:41 PST 2009
Duration  : 5 Seconds

&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Select datastore and start clone duplication ( &lt;b&gt;note&lt;/b&gt;: in this instance, duplication will take place from one source FC datastore to different destination FC datastore)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB-ENGINEERING -f toCloneList&lt;/div&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;[vi-admin@vima-primp-industries ~]$ ./ghettoClone.sh -h olga.resnet.ucsb.edu -v UCSB-ENGINEERING -f toCloneList

Retrieving info from: olga.resnet.ucsb.edu ...
Selection    Available space       Maximum Capacity     Type                 Name
1)           52.83 GB              124.75 GB            VMFS                 dlgCore-FC-LUN200.Templates
2)           244.61 GB             255.25 GB            VMFS                 olga-local-SAS.Storage
3)           91.50 GB              151.75 GB            VMFS                 dlgCore-FC-LUN202.VMstorage2
4)           29.19 GB              152.75 GB            VMFS                 dlgCore-FC-LUN203.VMstorage3
5)           53.29 GB              150.75 GB            VMFS                 dlgCore-FC-LUN201.VMstorage1
6)           exit

Please select a datastore in which the cloned virtual machines will be stored:
3

0% Complete! - Creating clone &amp;quot;AAmbrosio&amp;quot; - 0/3 - Time elapsed: 10 Seconds
...
0% Complete! - Creating clone &amp;quot;AAmbrosio&amp;quot; - 0/3 - Time elapsed: 2.62 Minutes
33% Complete! - Creating clone &amp;quot;ALima&amp;quot; - 1/3 - Time elapsed: 2.70 Minutes
...
33% Complete! - Creating clone &amp;quot;ALima&amp;quot; - 1/3 - Time elapsed: 5.42 Minutes
66% Complete! - Creating clone &amp;quot;MKerr&amp;quot; - 2/3 - Time elapsed: 5.50 Minutes
...
66% Complete! - Creating clone &amp;quot;MKerr&amp;quot; - 2/3 - Time elapsed: 8.12 Minutes
100% Complete! - Creating clone &amp;quot;MKerr&amp;quot; - 3/3 - Time elapsed: 8.20 Minutes

Start time: Fri Jan  9 15:21:35 PST 2009
End   time: Fri Jan  9 15:29:49 PST 2009
Duration  : 8.23 Minutes

&lt;/code&gt;&lt;/pre&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=1">3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">update_2</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">update_3</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">rcli</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vmware_vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vi_perl_toolkit</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">vitk</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">clones</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">clone</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">cloning</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">full_clone</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esx_cloning</category>
      <category domain="http://communities.vmware.com/tags?communityID=1">esxi_cloning</category>
      <pubDate>Fri, 09 Jan 2009 23:57:43 GMT</pubDate>
      <author>lamw</author>
      <guid>http://communities.vmware.com/docs/DOC-9321</guid>
      <dc:date>2009-01-09T23:57:43Z</dc:date>
      <clearspace:dateToText>10 months, 2 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
    </item>
  </channel>
</rss>

