<?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 : Document List - vSphere Management Assistant (vMA)</title>
    <link>http://communities.vmware.com/community/vmtn/vsphere/automationtools/vima?view=documents</link>
    <description>Latest Documents in vSphere Management Assistant (vMA)</description>
    <language>en</language>
    <pubDate>Wed, 14 Oct 2009 20:49:13 GMT</pubDate>
    <generator>Clearspace 1.10.12 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2009-10-14T20:49:13Z</dc:date>
    <dc:language>en</dc:language>
    <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.2&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=2687">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vima1.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma4</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vcli</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">rcli</category>
      <pubDate>Wed, 14 Oct 2009 18:06:35 GMT</pubDate>
      <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>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.2&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=2687">third_party_agents_scripts</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">register_your_agent_script</category>
      <pubDate>Tue, 15 Sep 2009 23:57:33 GMT</pubDate>
      <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>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=2687">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">screenshot</category>
      <pubDate>Wed, 12 Aug 2009 05:30:33 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10497</guid>
      <dc:date>2009-08-12T05:30:33Z</dc:date>
      <clearspace:dateToText>3 months, 1 week 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=2687">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">hot_add_memory</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">hot_add</category>
      <pubDate>Sun, 09 Aug 2009 18:47:36 GMT</pubDate>
      <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=2687">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma4</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">lvm</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">resize</category>
      <pubDate>Sat, 08 Aug 2009 22:46:54 GMT</pubDate>
      <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>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=2687">vcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vm_backup</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vima1.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vma4.0</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vghettovcb</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">esx3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">esx4</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">esxi_3.5</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">esxi_4</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">esxi_4</category>
      <pubDate>Thu, 23 Apr 2009 04:36:49 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9843</guid>
      <dc:date>2009-04-23T04:36:49Z</dc:date>
      <clearspace:dateToText>5 days, 51 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>110</clearspace:replyCount>
    </item>
    <item>
      <title>VI Remote CLI 3.5 Update 2</title>
      <link>http://communities.vmware.com/docs/DOC-9823</link>
      <description>&lt;br /&gt;
Remote CLI commands allow you to perform many of the operations you might currently perform using the ESX 3 service console. You can use Remote CLI commands in scripts that run on ESXi 3.5 and ESX 3.5 hosts.  Remote CLI commands are especially useful for an ESXi host because ESXi does not include a service console.&lt;br /&gt;
&lt;p /&gt;
Links for VMware Infrastructure Remote Command‐Line Interface (Remote CLI) version 3.5 Update 2:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/pdf/vi3_35/esx_3/r35u2/vi3_35_25_u2_rcli.pdf"&gt;Remote CLI 3.5 Update 2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://www.vmware.com/download/download.do?downloadGroup=VI-RCLI-U2"&gt;Remote CLI 3.5 Update 2 software&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;</description>
      <pubDate>Tue, 21 Apr 2009 18:45:25 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9823</guid>
      <dc:date>2009-04-21T18:45:25Z</dc:date>
      <clearspace:dateToText>7 months, 6 days ago</clearspace:dateToText>
    </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=2687">vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vmware_vima</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">apc</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">apcupsd</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">shutdown_script</category>
      <category domain="http://communities.vmware.com/tags?communityID=2687">vi_perl_toolkit</category>
      <pubDate>Mon, 16 Feb 2009 08:51:14 GMT</pubDate>
      <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>
  </channel>
</rss>

