<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ray Heffer &#187; vsphere</title>
	<atom:link href="http://www.rayheffer.com/tag/vsphere/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rayheffer.com</link>
	<description>Enterprise Technologies</description>
	<lastBuildDate>Sat, 04 Feb 2012 17:51:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to pass the VMware VCAP-DCD exam (it&#8217;s tough!)</title>
		<link>http://www.rayheffer.com/1983/how-to-pass-the-vmware-vcap-dcd-exam-its-tough/</link>
		<comments>http://www.rayheffer.com/1983/how-to-pass-the-vmware-vcap-dcd-exam-its-tough/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 19:07:29 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[VCAP-DCD]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[vcap-dcd]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1983</guid>
		<description><![CDATA[Since the days when exams were written with chalk and slates and blog posts were cave paintings, it is obligatory to share the experience of taking exams within the community. I hope the title didn&#8217;t get you too excited as I signed an NDA and really can&#8217;t tell you how to pass this exam. But, what [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1983%2Fhow-to-pass-the-vmware-vcap-dcd-exam-its-tough%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1983_2Fhow-to-pass-the-vmware-vcap-dcd-exam-its-tough_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1983%2Fhow-to-pass-the-vmware-vcap-dcd-exam-its-tough%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft" title="VMware Certified Advanced Professional - Datacenter Design (VCAP-DCD)" src="http://www.rayheffer.com/wp-content/uploads/2010/01/vcap-dcd-292x300.png" alt="VMware Certified Advanced Professional - Datacenter Design (VCAP-DCD)" width="140" height="144" />Since the days when exams were written with chalk and slates and blog posts were cave paintings, it is obligatory to share the experience of taking exams within the community. I hope the title didn&#8217;t get you too excited as I signed an NDA and really can&#8217;t tell you how to pass this exam. But, what I can do is give you advice and help you focus your study where it really matters. For starters, if you are reading this then you are probably wondering about the VCP5 and the VCAP5 exams. I wouldn&#8217;t blame you if you are opting to hold on for the release of the VCAP5 exams, but as it stands whilst I write this post we have no idea when they will be released. It&#8217;s likely to be next year sometime, but that is a pure guess. Gregg over at <a href="http://thesaffageek.co.uk/vcap5-dca-dcd/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/thesaffageek.co.uk/vcap5-dca-dcd/?referer=');">TheSaffaGeek </a>has already started compiling some material to help you with studying for the VCAP 5 exams. However, if you have decided to jump straight in and sit the VCAP-DCD4 (VDCD410) exam then here are my thoughts.</p>
<p>This exam is HARD-ass. There are a few peeps that say it&#8217;s easy, but I personally found this harder than the VCAP-DCA due to the shear number of questions (113 in total as stated in the <a href="http://mylearn.vmware.com/register.cfm?course=76644" target="_blank" onclick="pageTracker._trackPageview('/outgoing/mylearn.vmware.com/register.cfm?course=76644&amp;referer=');">blueprint</a>). If you are a native English speaker then you get 3 hours 45 minutes (4 hours for non-native), and the key to passing this exam is primarily being able to skim-read a case study or scenario and understand design requirements, constraints, risks, assumptions and translate these into one or more of the possible answers. If you spend time reading each question in detail then you are likely to run out of time. It&#8217;s also a hard exam to study for because it tests your general experience with vSphere and design knowledge, so you are not just remembering where something is configured.<span id="more-1983"></span></p>
<p>I don&#8217;t want to repeat what a Google search will already reveal as there are plenty of VCAP-DCD study resources out there (I&#8217;ve provided my favorite links below), but one significant study aid is the <a href="http://mylearn.vmware.com/mgrreg/courses.cfm?ui=www_edu&amp;a=one&amp;id_subject=13754" target="_blank" onclick="pageTracker._trackPageview('/outgoing/mylearn.vmware.com/mgrreg/courses.cfm?ui=www_edu_amp_a=one_amp_id_subject=13754&amp;referer=');">VMware vSphere Design Workshop</a> course, especially if you are not familiar with the VMware design methodology. Another valuable resource is the <a href="http://www.amazon.co.uk/Vmware-Vsphere-4-1-Technical-Deepdive/dp/1456301446" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.amazon.co.uk/Vmware-Vsphere-4-1-Technical-Deepdive/dp/1456301446?referer=');">VMware vSphere HA and DRS Technical Deepdive</a> by <a href="http://www.yellow-bricks.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.yellow-bricks.com/?referer=');">Duncan Epping</a> and <a href="http://frankdenneman.nl/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/frankdenneman.nl/?referer=');">Frank Denneman</a>. I&#8217;m not just saying that because they&#8217;re great guys, this book really did help me with the exam. Understanding some of the advanced settings and HA best practices is an important skill to learn, and this book covers much of what you need to know.</p>
<p>You will be tested on some technical knowledge, but the main factor required to pass this exam is based on your ability to map business requirements to a valid vSphere solution. Unlike the VCAP-DCA exam where you need to learn how to configure multipathing options from the command line for example, the VCAP-DCD requires you to understand which circumstances you would need to do this and which options you  need to configure based on customer requirements.</p>
<p>Do you need a home lab for this exam?   No. For the VCAP-DCA you certainly need a lab environment but the DCD exam tests your understanding of vSphere in-depth and many of the best practices surrounding it. Time to start reading I&#8217;m afraid!</p>
<p>The exam format contains a mix of multiple choice, drag-and-drop and design (Visio style) questions. If you do lots of vSphere designs and you use Visio a lot then you&#8217;ll be fine with this, but one free tool that worked very well for me is the drawing app with Google Docs. If you have a Google account, just head to Docs and select Create &gt; Drawing. This is actually an excellent little tool and alternative to Visio and you can practice some vSphere designs. I even managed to get vNIC&#8217;s looking like a NIC card, good fun too!</p>
<p>My final tip is not to panic. Whilst I said this exam is HARD-ass, it is not impossible. If you fail it?   Then at least you have experience of the exam and know where to focus your learning for next time.</p>
<p>&nbsp;</p>
<p>Good luck!!</p>
<hr />
<h4>My VCAP-DCD Study Guides and Resources</h4>
<p><a href="http://thesaffageek.co.uk/vcap-dca-dcd/" onclick="pageTracker._trackPageview('/outgoing/thesaffageek.co.uk/vcap-dca-dcd/?referer=');">http://thesaffageek.co.uk/vcap-dca-dcd/</a><br />
<a href="http://www.vmware.com/resources/techresources/10166" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/resources/techresources/10166?referer=');">http://www.vmware.com/resources/techresources/10166</a><br />
<a href="http://www.virtualsmb.net/?p=109" onclick="pageTracker._trackPageview('/outgoing/www.virtualsmb.net/?p=109&amp;referer=');">http://www.virtualsmb.net/?p=109</a><br />
<a href="http://vmwaredevotee.com/2010/10/11/cpu-performance-monitoring-on-esx-and-vms/" onclick="pageTracker._trackPageview('/outgoing/vmwaredevotee.com/2010/10/11/cpu-performance-monitoring-on-esx-and-vms/?referer=');">http://vmwaredevotee.com/2010/10/11/cpu-performance-monitoring-on-esx-and-vms/</a><br />
<a href="http://www.virtualizationteam.com/virtualization-vmware/certification-virtualization-vmware/vcap-dcd/my-vcap-dcd-journey-tips.html" onclick="pageTracker._trackPageview('/outgoing/www.virtualizationteam.com/virtualization-vmware/certification-virtualization-vmware/vcap-dcd/my-vcap-dcd-journey-tips.html?referer=');">http://www.virtualizationteam.com/virtualization-vmware/certification-virtualization-vmware/vcap-dcd/my-vcap-dcd-journey-tips.html</a><br />
<a href="http://www.seancrookston.com/2011/09/13/vcap-dcd-tips-and-exam-experience/" onclick="pageTracker._trackPageview('/outgoing/www.seancrookston.com/2011/09/13/vcap-dcd-tips-and-exam-experience/?referer=');">http://www.seancrookston.com/2011/09/13/vcap-dcd-tips-and-exam-experience/</a><br />
<a href="http://www.seancrookston.com/vcap-dcd-index/" onclick="pageTracker._trackPageview('/outgoing/www.seancrookston.com/vcap-dcd-index/?referer=');">http://www.seancrookston.com/vcap-dcd-index/</a><br />
<a href="http://professionalvmware.com/2011/09/brownbag-follow-up-vcap-dcd-objective-1-jason-boche/" onclick="pageTracker._trackPageview('/outgoing/professionalvmware.com/2011/09/brownbag-follow-up-vcap-dcd-objective-1-jason-boche/?referer=');">http://professionalvmware.com/2011/09/brownbag-follow-up-vcap-dcd-objective-1-jason-boche/</a><br />
<a href="http://communities.vmware.com/docs/DOC-9279" onclick="pageTracker._trackPageview('/outgoing/communities.vmware.com/docs/DOC-9279?referer=');">http://communities.vmware.com/docs/DOC-9279<br />
</a><a href="http://mylearn.vmware.com/courseware/82525/VCAPDCD_Tutorial.swf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/mylearn.vmware.com/courseware/82525/VCAPDCD_Tutorial.swf?referer=');">http://mylearn.vmware.com/courseware/82525/VCAPDCD_Tutorial.swf<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1983/how-to-pass-the-vmware-vcap-dcd-exam-its-tough/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>1.1 VCAP-DCA Study Guide &#8211; Implement and Manage Storage, part 2</title>
		<link>http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/</link>
		<comments>http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 16:52:26 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[VCAP-DCA]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[directpath io]]></category>
		<category><![CDATA[esxcfg-mpath]]></category>
		<category><![CDATA[esxcli corestorage]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[LUN masking]]></category>
		<category><![CDATA[npiv]]></category>
		<category><![CDATA[Pluggable Storage Architecture]]></category>
		<category><![CDATA[raw device mappings]]></category>
		<category><![CDATA[rdm]]></category>
		<category><![CDATA[resxtop]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[storage best practices]]></category>
		<category><![CDATA[storage filters]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[vcap]]></category>
		<category><![CDATA[vcap-dca]]></category>
		<category><![CDATA[vcp]]></category>
		<category><![CDATA[VMFS resignaturing]]></category>
		<category><![CDATA[vscsiStats]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1623</guid>
		<description><![CDATA[This is the second part to my VCAP-DCA study guide on storage (section 1.1 of the blueprint). As mentioned in part 1, I intend to focus these study notes on what you need to know with essential learning points. There is a big section on LUN masking using PSA related commands in this part of my study [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1623%2F1-1-vcap-dca-study-guide-storage-part-2%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1623_2F1-1-vcap-dca-study-guide-storage-part-2_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1623%2F1-1-vcap-dca-study-guide-storage-part-2%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is the second part to my VCAP-DCA study guide on storage (section 1.1 of the blueprint). As mentioned in <a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">part 1</a>, I intend to focus these study notes on what you need to know with essential learning points. There is a big section on LUN masking using PSA related commands in this part of my study guide, and also an introduction to analysing performance stats with esxtop. Whilst esxtop is covered in many of the VCAP-DCA blueprint sections, 1.1 is the first section it is mentioned in regards to assessing storage performance, so at the very end of this post I have included the topic &#8216;Using ESXTOP for Storage Performance Analysis&#8217;.</p>
<p><span id="more-1623"></span></p>
<h3 style="text-align: center;">Implement and Manage Complex Storage Solutions</h3>
<p style="text-align: center;"><span style="color: #888888;"><a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">Part 1</a></span> | <span style="color: #888888;">Part 2</span></p>
<h4><strong>Knowledge Required</strong></h4>
<ul>
<li>Identify RAID levels</li>
<li>Identify supported HBA types</li>
<li>Identify virtual disk format types</li>
</ul>
<h4><strong>Key Focus Areas</strong></h4>
<ul>
<li>VMware DirectPath I/O (see <a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">part 1)</a><strong><br />
</strong></li>
<li>NPIV (see <a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">part 1)</a></li>
<li>Storage Best Practices (see <a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">part 1)</a></li>
<li>Raw Device Mapping (see <a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">part 1)</a></li>
<li>Storage filters</li>
<li>VMFS resignaturing</li>
<li>LUN masking using PSA-related commands</li>
<li>I/O workloads</li>
</ul>
<h4><strong>Key Materials (VMware PDF&#8217;s &amp; KB articles)</strong></h4>
<ol>
<li><a href="http://vmware.com/files/pdf/techpaper/VMW-vSphere4-directpath-host.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/vmware.com/files/pdf/techpaper/VMW-vSphere4-directpath-host.pdf?referer=');">Configuration Examples and Troubleshooting for VMDirectPath</a></li>
<li><a href="http://kb.vmware.com/kb/1010789" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1010789?referer=');">Configuring VMDirectPath I/O pass-through devices on an ESX host</a></li>
<li><a href="http://www.brocade.com/downloads/documents/white_papers/white_papers_partners/NPIV_ESX4_0_GA-TB-145-01.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.brocade.com/downloads/documents/white_papers/white_papers_partners/NPIV_ESX4_0_GA-TB-145-01.pdf?referer=');">How to Configure NPIV on VMware vSphere 4.0</a></li>
<li><a href="http://www.vmware.com/pdf/vmfs-best-practices-wp.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vmfs-best-practices-wp.pdf?referer=');">VMware Storage Best Practices</a></li>
<li><a href="http://www.vmware.com/technical-resources/virtual-storage/best-practices.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/technical-resources/virtual-storage/best-practices.html?referer=');">Best Practices for Configuring Virtual Storage</a></li>
<li><a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf?referer=');">Performance Best Practices for VMware vSphere 4.0</a></li>
<li><a href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4627.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.redbooks.ibm.com/redpapers/pdfs/redp4627.pdf?referer=');">VMware Multipathing with the SAN Volume Controller and the Causes of SCSI-2 Reservation Conflicts</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_san_cfg.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_san_cfg.pdf?referer=');">Fibre Channel SAN Configuration Guide</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_iscsi_san_cfg.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_iscsi_san_cfg.pdf?referer=');">iSCSI SAN Configuration Guide</a></li>
<li><a href="http://www.vmware.com/files/pdf/performance_char_vmfs_rdm.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/performance_char_vmfs_rdm.pdf?referer=');">Performance Characterization of VMFS and RDM Using a SAN</a></li>
<li><a href="http://www.vmware.com/files/pdf/vmfs_resig.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/vmfs_resig.pdf?referer=');">VMware VMFS Volume Management</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf?referer=');">ESX Configuration Guide</a> (RDM, Storage Filters, Resignaturing)</li>
<li><a href="http://kb.vmware.com/kb/1009449" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1009449?referer=');">Masking a LUN from ESX and ESXi 4.x using the MASK_PATH plug-in</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp4_41_vcli_inst_script.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp4_41_vcli_inst_script.pdf?referer=');">vSphere Command-Line Interface Installation and Scripting Guide </a>(good section on LUN masking)</li>
<li><a href="http://kb.vmware.com/kb/1014953" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1014953?referer=');">Identifying disks when working with VMware ESX</a></li>
<li><a href="http://www.vmware.com/files/pdf/partners/academic/vpact-workloads.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/partners/academic/vpact-workloads.pdf?referer=');">Storage Workload Characterization and Consolidation in Virtualized Environments</a><strong><br />
</strong></li>
<li><a href="http://communities.vmware.com/docs/DOC-10095" target="_blank" onclick="pageTracker._trackPageview('/outgoing/communities.vmware.com/docs/DOC-10095?referer=');">Using vscsiStats for Storage Performance Analysis</a></li>
<li><a href="https://www.vmware.com/support/developer/vcli/vcli41/doc/reference/vifs.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/support/developer/vcli/vcli41/doc/reference/vifs.html?referer=');">VIFS reference document</a></li>
<li><a href="http://kb.vmware.com/kb/900" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/900?referer=');">VMware KB 900: Moving or Copying Virtual Disks in a VMware Environment</a></li>
</ol>
<hr />
<h4>Storage Filters</h4>
<p>Storage filters are used by default with vCenter to avoid storage corruption by retrieving only the storage devices or LUN&#8217;s that can (or should) be used. VMware KB article <a href="http://kb.vmware.com/kb/1010513" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1010513?referer=');">1010513</a> details how to switch off vCenter storage filters, and the ESX Configuration guide (page 133) also contains details on how to do this.</p>
<p>This explanation is taken from the aforementioned KB article:</p>
<p>This LUN filtering mechanism helps prevent LUN corruption that might occur if the following conditions are not met:</p>
<ul>
<li>The same LUN cannot be used for a VMFS datastore and RDM simultaneously.</li>
<li>Two virtual machines cannot have access to the same LUN using two different RDM mapping files.</li>
</ul>
<p>Follow these steps to switch off vCenter storage filters:</p>
<p>1. Within the vSphere client, go to Administration &gt; vCenter Server Settings, then click on Advanced Settings.</p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/vCenter-Storage-Filters-01.jpg" rel="lightbox[1623]" title="VMware vCenter Storage Filters"><img class="alignnone size-medium wp-image-1635" title="VMware vCenter Storage Filters" src="http://www.rayheffer.com/wp-content/uploads/2011/07/vCenter-Storage-Filters-01-300x290.jpg" alt="VMware vCenter Storage Filters" width="300" height="290" /></a></p>
<p>2. Depending on the storage filter you want to add, enter one or both of the following values:</p>
<p><code>config.vpxd.filter.rdmFilter; false</code> &#8211; This filters RDM&#8217;s that are already assigned to a VM.<br />
<code>config.vpxd.filter.vmfsFilter; false</code> &#8211; This will filter LUN&#8217;s with an existing VMFS volume.</p>
<p>Duncan Epping also has an excellent <a href="http://www.yellow-bricks.com/2010/08/11/storage-filters/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.yellow-bricks.com/2010/08/11/storage-filters/?referer=');">blog post</a> on storage filters, where he details two other filters that can be used:</p>
<p><code>config.vpxd.filter.hostRescanFilter</code> &#8211; Disables the automatic rescan that occurs after a VMFS datastore is added.<br />
<code>config.vpxd.filter.SameHostAndTransportsFilter</code> &#8211; This will filter LUN&#8217;s that do not have the same masking applied as the original VMFS volume. Also filters which LUN&#8217;s are available to add as an extent.</p>
<p>I actually have an excellent use case for the Host Rescan Filter because I experienced some horrendous problems a few years ago where this saved the day. I had a VI 3.5 cluster which was hosted externally and there was a fault with the SAN. Each time a datastore was added, which incidentally was weekly due to DR testing, it caused the database LUN to go down and an externally hosted web application went offline. Not good. By adding config.vpxd.filter.hostRescanFilter to the vCenter advanced settings, it prevented an automatic rescan on all of the hosts when a datastore is added.</p>
<hr />
<h4>VMFS Resignaturing</h4>
<p>The topic of VMFS volume resignaturing will usually occur when you have taken a LUN snapshot, for example a DR site may have a replicated LUN, and you need to present an existing VMFS volume to an ESX host (this is done by taking a snapshot of the replicated LUN). This changed since VI 3.5 and it was made easier with ESX/ESXi 4 as described in VMware KB article <a href="http://kb.vmware.com/kb/1011387" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1011387?referer=');">1011387</a>. I would recommend that you read page 120 of the <a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf?referer=');">ESX Configuration guide</a>, as this contains more information on resignaturing a VMFS volume.</p>
<p>For the VCAP-DCA lab you should understand what to do when presented with a replica VMFS LUN as you&#8217;ll have three options:</p>
<ol>
<li>Keep the existing datastore (do not change the signature)</li>
<li>Assign a new signature</li>
<li>Format the disk (this will create a new VMFS volume)</li>
</ol>
<p>You need to learn how to list volumes, resignature or mount without resignaturing which is detailed in KB article <a href="http://kb.vmware.com/kb/1011387" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1011387?referer=');">1011387</a>. Here are a summary of commands you need to know:<br />
<code>esxcfg-volume -l</code> &#8211; This will list all volumes detected as snapshots (replica LUN&#8217;s)</p>
<p>Mount the volume without resignaturing the LUN (take the VMFS UUID or label from the output of esxcfg-volume -l):<br />
<code>esxcfg-volume -m &lt;VMFS UUID|label&gt;</code> (Use -M to keep the LUN mounted after host reboot)</p>
<p>Mount the volume and resignature the LUN:<br />
<code>esxcfg-volume -r &lt;VMFS UUID|label&gt;</code></p>
<hr />
<h4>LUN Masking and PSA Commands</h4>
<p>LUN masking is usually performed on the storage array (remember that in the VCP exam?), NetApp uses Initiator Groups, EMC Clariion uses Storage Groups, but you can also perform masking on the ESX/ESXi host using <code>esxcli corestorage claimrule</code>.  Read page 57 of the vSphere Command-Line Interface Installation and Scripting Guide, this is listed in the key learning materials section above (<a href="http://www.vmware.com/pdf/vsphere4/r41/vsp4_41_vcli_inst_script.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp4_41_vcli_inst_script.pdf?referer=');">14</a>) and VMware <a href="http://kb.vmware.com/kb/1009449" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1009449?referer=');">KB article 1009449</a> also describes masking a LUN from ESX and ESXi 4.x using the MASK_PATH plug-in.</p>
<p>This is a long topic and a complicated process, especially if you plan to perform this on multiple ESX hosts. I&#8217;m not sure if this needs to be performed in the VCAP-DCA exam, but I would strongly recommend doing this a few times in your home lab (if you have one).</p>
<p>Two things you should do first:</p>
<p>1. Check what multipath plugins are currently installed on your ESX/ESXi host with: <code>esxcfg-mpath -G</code></p>
<p style="padding-left: 30px;">You should see NMP and MASK_PATH</p>
<p>2. Check what the next available rule ID is, using: <code>esxcli corestorage claimrule list</code></p>
<p style="padding-left: 30px;">The claimrules for MASK_PATH will start at 101, so as you can see from my screenshot the next rule will be 102.</p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-mpath_claimrule-list.jpg" rel="lightbox[1623]" title="VMware LUN masking esxcfg-mpath and esxcli corestorage claimrule list"><img title="VMware LUN masking esxcfg-mpath and esxcli corestorage claimrule list" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-mpath_claimrule-list-300x101.jpg" alt="VMware LUN masking esxcfg-mpath and esxcli corestorage claimrule list" width="300" height="101" /></a></p>
<p>3. Add the mask rule with:</p>
<p><code>esxcli corestorage claimrule add –rule &lt;number&gt; -t location –A &lt;hba_adapter&gt; -C &lt;channel&gt; -T &lt;target&gt; -L &lt;LUN&gt; -P MASK_PATH</code></p>
<p>Example: <code>esxcli corestorage claimrule add --rule 102 -t location vmhba35 -C 0 -T 0 -L 10 -P MASK_PATH</code></p>
<p>To get the location of the path you want to mask, I use <code>esxcfg-scsidevs --vmfs</code> to find the NAA device and then use <code>esxcfg-mpath -L</code>: to get the paths. Choose the path you want to mask.</p>
<p style="padding-left: 30px;">i. List the datastores and get the NAA device of the datastore:</p>
<p style="padding-left: 30px;"><code>esxcfg-scsidevs --vmfs</code></p>
<p style="padding-left: 30px;">ii. List the paths for the datastore and that will give you the location:</p>
<p style="padding-left: 30px;"><code>esxcfg-mpath -L | grep &lt;naa_device&gt;</code></p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-scsidevs.jpg" rel="lightbox[1623]" title="VMware LUN masking - Finding NAA device of a datastore with esxcfg-scsidevs --vmfs"><img class="alignnone size-medium wp-image-1676" title="VMware LUN masking - Finding NAA device of a datastore with esxcfg-scsidevs --vmfs" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-scsidevs-300x172.jpg" alt="VMware LUN masking - Finding NAA device of a datastore with esxcfg-scsidevs --vmfs" width="300" height="172" /></a></p>
<p> 4. Verify that the rule has been added successfully:</p>
<p><strong>Note:</strong> You&#8217;ll see the new rule listed under class type &#8216;File&#8217;.</p>
<p style="padding-left: 30px;"><code>esxcli corestorage claimrule list</code></p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-mpath_claimrule-list-new-rule.jpg" rel="lightbox[1623]" title="VMware LUN masking - Listing rules with esxcli corestorage claimrule list"><img class="alignnone size-medium wp-image-1683" title="VMware LUN masking - Listing rules with esxcli corestorage claimrule list" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-mpath_claimrule-list-new-rule-300x152.jpg" alt="VMware LUN masking - Listing rules with esxcli corestorage claimrule list" width="300" height="152" /></a></p>
<p>5. Load the claimrules, and list them to see that the new rule is in runtime.</p>
<p style="padding-left: 30px;"><code>esxcli corestorage claimrule load</code></p>
<p style="padding-left: 30px;"><code>esxcli corestorage claimrule list</code></p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-mpath_claimrule-list-runtime.jpg" rel="lightbox[1623]" title="VMware LUN masking - Show runtime rules with esxcli corestorage claimrule list"><img class="alignnone size-medium wp-image-1684" title="VMware LUN masking - Show runtime rules with esxcli corestorage claimrule list" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-mpath_claimrule-list-runtime-300x179.jpg" alt="VMware LUN masking - Show runtime rules with esxcli corestorage claimrule list" width="300" height="179" /></a></p>
<p>6. Next we need to disassociate our path from the PSA plug-in which is owned by NMP, this will associate it with MASK_PATH.</p>
<p style="padding-left: 30px;"><code>esxcli corestorage claiming reclaim -d &lt;naa.ID&gt;</code></p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcli-corestorage-claiming-reclaim.jpg" rel="lightbox[1623]" title="esxcli corestorage claiming reclaim"><img class="alignnone size-medium wp-image-1685" title="esxcli corestorage claiming reclaim" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcli-corestorage-claiming-reclaim-300x145.jpg" alt="" width="300" height="145" /></a></p>
<p>7. Verify that our device is not used by the host, and the LUN is not active.</p>
<p style="padding-left: 30px;"><code>esxcfg-mpath -L | grep &lt;naa.ID&gt;</code></p>
<p style="padding-left: 30px;"><code>esxcfg-scsidevs --vmfs</code> (the device should no longer be listed).</p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-scsidevs-esxcfg-mpath-verify-removed.jpg" rel="lightbox[1623]" title="esxcfg-scsidevs esxcfg-mpath (verify removed)"><img class="alignnone size-medium wp-image-1686" title="esxcfg-scsidevs esxcfg-mpath (verify removed)" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxcfg-scsidevs-esxcfg-mpath-verify-removed-300x117.jpg" alt="" width="300" height="117" /></a></p>
<hr />
<h4>I/O Workloads</h4>
<p>This is the final subject on the Implement and Manage Storage section, but measuring I/O workloads is an important part of administering a vSphere environment, not just a topic you should learn just for the VCAP-DCA exam. A great place to start is vscsiStats, a tool that is available on ESX and ESXi (prior to ESXi 4.1 this had to be downloaded to the host). vscsiStats measures I/O on the VMDK (virtual machine SCSI disk) so the underlying storage architecture can be NFS, Fibre Channel, or iSCSI. ESXTOP is another obvious choice for measuring performance, in particular IO workloads but it lacks somewhat as it only provides latency for F/C and iSCSI (not NFS). See the community document listed under my key materials above (<a href="http://communities.vmware.com/docs/DOC-10095" target="_blank" onclick="pageTracker._trackPageview('/outgoing/communities.vmware.com/docs/DOC-10095?referer=');">17</a>) for further info on vscsiStats.</p>
<p><strong>Note:</strong> Section 6.4 of the VCAP-DCA blueprint also has ESXTOP and vscsiStats listed as the skills required for troubleshooting storage performance and connectivity. I feel these are best introduced here and then re-visited again when you start study for 6.4.</p>
<p><strong>Using vscsiStats</strong></p>
<p>vscsiStats will measure:</p>
<ul>
<li>I/O Length (size)</li>
<li>Seek distance (Understand <a href="http://en.wikipedia.org/wiki/Seek_time#Seek_time" target="_blank" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Seek_time_Seek_time?referer=');">disk seek time</a>)</li>
<li>Outstanding I/O&#8217;s (IO queues)</li>
<li>Latency (ms) *Most useful statistic</li>
<li>Interarrival (Measures the time of read/write IO requests and the arrival in Microseconds to the virtual disk)</li>
</ul>
<p>Using vscsiStats is really easy, and involves the following steps:</p>
<p>1. List the available virtual machines with vscsiStats -l</p>
<p style="padding-left: 30px;"><code>vscsiStats -l</code></p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/vscsiStats-l.jpg" rel="lightbox[1623]" title="Using VMware vscsiStats -l to list the available virtual machines"><img class="alignnone size-medium wp-image-1691" title="Using VMware vscsiStats -l to list the available virtual machines" src="http://www.rayheffer.com/wp-content/uploads/2011/07/vscsiStats-l-300x180.jpg" alt="Using VMware vscsiStats -l to list the available virtual machines" width="300" height="180" /></a></p>
<p style="padding-left: 30px;">Note: Find the virtual machine you want to collect statistics for and make a note (or copy) the worldGroupID number.</p>
<p>2. Next, start vscsiStats and specifiy the worldGroupID:</p>
<p style="padding-left: 30px;">vscsiStats -s -w &lt;worldGroupID&gt;</p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/vscsiStats-s-w.jpg" rel="lightbox[1623]" title="Using VMware vscsiStats -s -w to start collection"><img class="alignnone size-medium wp-image-1693" title="Using VMware vscsiStats -s -w to start collection" src="http://www.rayheffer.com/wp-content/uploads/2011/07/vscsiStats-s-w-300x28.jpg" alt="Using VMware vscsiStats -s -w to start collection" width="300" height="28" /></a></p>
<p>3. Use vscsiStats -p to specify the metric and print the statistics:</p>
<p style="padding-left: 30px;">vscsiStats -p latency (type vscsiStats on it&#8217;s own to see the help and other options)</p>
<p style="padding-left: 30px;"><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/vscsiStats-p-latency.jpg" rel="lightbox[1623]" title="VMware vscsiStats -p latency - This will show IO latency for the virtual machine disks"><img class="alignnone size-medium wp-image-1694" title="VMware vscsiStats -p latency - This will show IO latency for the virtual machine disks" src="http://www.rayheffer.com/wp-content/uploads/2011/07/vscsiStats-p-latency-300x272.jpg" alt="VMware vscsiStats -p latency - This will show IO latency for the virtual machine disks" width="300" height="272" /></a></p>
<p><strong>Using ESXTOP for Storage Performance Analysis</strong></p>
<p>ESXTOP is a tool based on the &#8216;top&#8217; command in Linux, but is specifically geared towards ESX/ESXi performance metrics. It&#8217;s all over the VCAP-DCA blueprint so you must be comfortable using esxtop for the exam or you might be in trouble. The best place to start is, well&#8230; running esxtop!  Seriously it can be a bit daunting at first, but try and use it in a lab environment and understand what the stats are telling you.</p>
<p>Here are the top things you should know about esxtop:</p>
<ol>
<li>Interactive mode (default)</li>
<li>Custom configuration &#8211; saving your configuration to a file (W to save c to load)</li>
<li>Batch mode (esxtop -b &lt;filename&gt;)</li>
<li>Identifying I/O latency</li>
</ol>
<p><strong>esxtop Configuration Files</strong></p>
<p>Once you are familiar with esxtop, you need to know how to save your configuration file using W. You might want to do this because you&#8217;ve changed the order of some columns or added some additional fields. The default filename is esxtop41rc (just press ENTER to save the default) and this will load each time at default, otherwise you can press c and load your own configuration.</p>
<p><strong>Interactive mode (default)</strong></p>
<p>When you run esxtop, by default it&#8217;s running in interactive mode. Press h (for help) and you&#8217;ll see the help screen (below). I often refer to this to remind myself how to switch from cpu (default) to virutal machine disk stats by pressing v.</p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/esxtop-help.jpg" rel="lightbox[1623]" title="VMware esxtop help screen"><img class="alignnone size-medium wp-image-1706" title="VMware esxtop help screen" src="http://www.rayheffer.com/wp-content/uploads/2011/07/esxtop-help-300x220.jpg" alt="VMware esxtop help screen" width="300" height="220" /></a></p>
<p><strong>Batch Mode (exporting to CSV)</strong></p>
<p>The first thing you need to do is configure esxtop in interactive mode to display the fields and columns you want to export. Once you&#8217;ve done this save your configuration, following the steps above, and then use the -b option for batch mode and specify a csv filename to use. We will also specify the a delay (-d) in seconds between the samples taken, and a number of iterations (-n) otherwise esxtop will run until you press CTRL &amp; C. See the following:</p>
<p><code>esxtop -b -d 5-n 20 &gt; filename.csv</code> (this will sample every 5 seconds, 20 times).</p>
<p><strong>Identify I/O Latency (Fibre channel &amp; iSCSI only)</strong></p>
<p>This is one of my favorite sections and uses of esxtop, it really shows how powerful it is. Run esxtop in interactive mode then press u to switch to &#8216;disk device&#8217; and press f to change the fields so you can see the following metrics (turn off F and G).</p>
<ul>
<li>DAVG/cmd &#8211; Device average latency (should be under 25, preferable 15-20)</li>
<li>KAVG/cmd &#8211; Kernel average latency (should be less than 2, or zero)</li>
<li>GAVG/cmd &#8211; Guest average latency, this is the sum of DAVG and KAVG (should be less than 25)</li>
<li>QAVG/cmd &#8211; Queue average latency (should be zero)</li>
</ul>
<p>The VMware communities document <a href="http://communities.vmware.com/docs/DOC-9279" target="_blank" onclick="pageTracker._trackPageview('/outgoing/communities.vmware.com/docs/DOC-9279?referer=');">Interpreting esxtop Statistics</a> has more information on this under section 4.2, as does Duncan Epping&#8217;s <a href="http://www.yellow-bricks.com/esxtop/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.yellow-bricks.com/esxtop/?referer=');">esxtop page</a>. Simon Greaves has recently <a href="http://simongreaves.co.uk/blog/esxtop-guide" target="_blank" onclick="pageTracker._trackPageview('/outgoing/simongreaves.co.uk/blog/esxtop-guide?referer=');">posted on esxtop</a>. Finally, read VMware KB article <a href="http://kb.vmware.com/kb/1008205" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1008205?referer=');">1008205</a> which summarises the steps to monitor I/O latency with esxtop.</p>
<hr />
<p>This is part 2 of the VCAP-DCA Study Guide &#8211; Storage, go back to <a href="http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/">Part 1</a> for:</p>
<ul>
<li>VMware DirectPath I/O<strong><br />
</strong></li>
<li>NPIV</li>
<li>Storage Best Practices</li>
<li>Raw Device Mapping</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.1 VCAP-DCA Study Guide &#8211; Implement and Manage Storage, part 1</title>
		<link>http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/</link>
		<comments>http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 20:40:46 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[VCAP-DCA]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[directpath io]]></category>
		<category><![CDATA[npiv]]></category>
		<category><![CDATA[raw device mappings]]></category>
		<category><![CDATA[rdm]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[storage best practices]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[vcap]]></category>
		<category><![CDATA[vcap-dca]]></category>
		<category><![CDATA[vcp]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1558</guid>
		<description><![CDATA[This is the very first subject on the VCAP-DCA blueprint, and I intend to focus these study notes on what you need to know with essential learning points. Throughout my study notes I have made a few assumptions about the reader. You will: Already have a good grasp of vSphere and are comfortable using the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1558%2F1-1-vcap-dca-study-guide-storage%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1558_2F1-1-vcap-dca-study-guide-storage_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1558%2F1-1-vcap-dca-study-guide-storage%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is the very first subject on the VCAP-DCA blueprint, and I intend to focus these study notes on what you need to know with essential learning points. Throughout my study notes I have made a few assumptions about the reader. You will:</p>
<ul>
<li>Already have a good grasp of vSphere and are comfortable using the vSphere client.</li>
<li>Have a good understanding of storage types, RAID levels, iSCSI, fiber channel, NFS.</li>
<li>Have some basic Linux knowledge, such as using Vi or Nano, and navigating around the file system.</li>
<li>Not be very familiar with using the vMA, PowerCLI, Service Console, or DCUI (at least not for anything advanced).</li>
<li>Need further guidance on using ESXTOP / RESXTOP and other performance and troubleshooting methods.</li>
</ul>
<p>With that in mind I recommend that rather that following the exam blueprint in order, you try and focus on the topics you find the hardest. If I&#8217;ve not included notes on some topics (RAID for example) it is because there is already a wealth of information available. This way, your VCAP-DCA study can be focused on key learning points that target gaps in your knowledge or areas of weakness. Also bear in mind that at the time of writing this I haven&#8217;t taken the VCAP-DCA yet, but as a former virtual infrastructure team lead and admin, in addition to recent knowledge in the field I hope my notes help not only myself, but others to pass the certification too.<br />
<span id="more-1558"></span></p>
<h3 style="text-align: center;">Implement and Manage Complex Storage Solutions</h3>
<p style="text-align: center;"><span style="color: #888888;">Part 1</span> | <a href="http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/">Part 2</a></p>
<h4><strong>Knowledge Required</strong></h4>
<ul>
<li>Identify RAID levels</li>
<li>Identify supported HBA types</li>
<li>Identify virtual disk format types</li>
</ul>
<h4><strong>Key Focus Areas</strong></h4>
<ul>
<li>VMware DirectPath I/O<strong><br />
</strong></li>
<li>NPIV</li>
<li>Storage Best Practices</li>
<li>Raw Device Mapping</li>
<li>Storage filters (see <a href="http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/">part 2</a>)</li>
<li>VMFS resignaturing (see <a href="http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/">part 2</a>)</li>
<li>LUN masking using PSA-related commands (see <a href="http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/">part 2</a>)</li>
<li>I/O workloads (see <a href="http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/">part 2</a>)</li>
</ul>
<h4><strong>Key Materials (VMware PDF&#8217;s &amp; KB articles)</strong></h4>
<ol>
<li><a href="http://vmware.com/files/pdf/techpaper/VMW-vSphere4-directpath-host.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/vmware.com/files/pdf/techpaper/VMW-vSphere4-directpath-host.pdf?referer=');">Configuration Examples and Troubleshooting for VMDirectPath</a></li>
<li><a href="http://kb.vmware.com/kb/1010789" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1010789?referer=');">Configuring VMDirectPath I/O pass-through devices on an ESX host</a></li>
<li><a href="http://www.brocade.com/downloads/documents/white_papers/white_papers_partners/NPIV_ESX4_0_GA-TB-145-01.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.brocade.com/downloads/documents/white_papers/white_papers_partners/NPIV_ESX4_0_GA-TB-145-01.pdf?referer=');">How to Configure NPIV on VMware vSphere 4.0</a></li>
<li><a href="http://www.vmware.com/pdf/vmfs-best-practices-wp.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vmfs-best-practices-wp.pdf?referer=');">VMware Storage Best Practices</a></li>
<li><a href="http://www.vmware.com/technical-resources/virtual-storage/best-practices.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/technical-resources/virtual-storage/best-practices.html?referer=');">Best Practices for Configuring Virtual Storage</a></li>
<li><a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf?referer=');">Performance Best Practices for VMware vSphere 4.0</a></li>
<li><a href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4627.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.redbooks.ibm.com/redpapers/pdfs/redp4627.pdf?referer=');">VMware Multipathing with the SAN Volume Controller and the Causes of SCSI-2 Reservation Conflicts</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_san_cfg.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_san_cfg.pdf?referer=');">Fibre Channel SAN Configuration Guide</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_iscsi_san_cfg.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_iscsi_san_cfg.pdf?referer=');">iSCSI SAN Configuration Guide</a></li>
<li><a href="http://www.vmware.com/files/pdf/performance_char_vmfs_rdm.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/performance_char_vmfs_rdm.pdf?referer=');">Performance Characterization of VMFS and RDM Using a SAN</a></li>
<li><a href="http://www.vmware.com/files/pdf/vmfs_resig.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/vmfs_resig.pdf?referer=');">VMware VMFS Volume Management</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf?referer=');">ESX Configuration Guide</a> (RDM, Storage Filters, Resignaturing)</li>
<li><a href="http://kb.vmware.com/kb/1009449" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1009449?referer=');">Masking a LUN from ESX and ESXi 4.x using the MASK_PATH plug-in</a></li>
<li><a href="http://www.vmware.com/pdf/vsphere4/r41/vsp4_41_vcli_inst_script.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp4_41_vcli_inst_script.pdf?referer=');">vSphere Command-Line Interface Installation and Scripting Guide </a>(good section on LUN masking)</li>
<li><a href="http://kb.vmware.com/kb/1014953" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1014953?referer=');">Identifying disks when working with VMware ESX</a></li>
<li><a href="http://www.vmware.com/files/pdf/partners/academic/vpact-workloads.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/partners/academic/vpact-workloads.pdf?referer=');">Storage Workload Characterization and Consolidation in Virtualized Environments</a><strong><br />
</strong></li>
<li><a href="http://communities.vmware.com/docs/DOC-10095" target="_blank" onclick="pageTracker._trackPageview('/outgoing/communities.vmware.com/docs/DOC-10095?referer=');">Using vscsiStats for Storage Performance Analysis</a></li>
<li><a href="https://www.vmware.com/support/developer/vcli/vcli41/doc/reference/vifs.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/support/developer/vcli/vcli41/doc/reference/vifs.html?referer=');">VIFS reference document</a></li>
<li><a href="http://kb.vmware.com/kb/900" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/900?referer=');">VMware KB 900: Moving or Copying Virtual Disks in a VMware Environment</a></li>
</ol>
<hr />
<h4><strong>DirectPath I/O</strong></h4>
<p>VMware DirectPath allows a virtual machine to access hardware adapters in the ESX/ESXi host directly, whilst bypassing the virtualisation layer. You MUST have a processor that supports this, either Intel VTd or AMD IOMMU. I&#8217;ve based my study notes on my home lab which doesn&#8217;t support this so the screenshot below shows the DirectPath I/O Configuration screen with a message &#8216;Host does not support passthrough configuration&#8217;. A few key points to remember are:</p>
<ul>
<li>An adapter can only be used by a single virtual machine when using DirectPath I/O.</li>
<li>Only two devices can be passed through to a virtual machine.</li>
<li>Virtual machine hardware version 7 must be used.</li>
<li>Host requires a restart once the device has been added for passthrough.</li>
<li>Check the VMware HCL (Hardware Compatibility Guide) to make sure the device is supported.</li>
<li>It is typically used on virtual machines that have very high I/O requirements such as database servers that need direct access to a storage HBA (host bus adapter).</li>
<li>It relies on Intel VT-d (Virtual Technology for Directed I/O) or AMD IOMMU (IO Memory Management Unit), although the latter is experimental. Remember to enable this option in the BIOS!</li>
</ul>
<p>I recommend you read key materials <a href="http://vmware.com/files/pdf/techpaper/VMW-vSphere4-directpath-host.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/vmware.com/files/pdf/techpaper/VMW-vSphere4-directpath-host.pdf?referer=');">1</a> and <a href="http://kb.vmware.com/kb/1010789" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/1010789?referer=');">2</a> in the list above which is a small 5-page VMware PDF on DirectPath I/O and a VMware KB on Configuring VMDirectPath I/O pass-through devices on an ESX host.</p>
<p>1) To enable VMware DirectPath IO using the vSphere Client, select the host, go to the configuration tab, and click Advanced Settings (under Hardware).</p>
<p><strong><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/DirectPathIO-Config.jpg" rel="lightbox[1558]" title="VMware DirectPath IO Configuration"><img class="size-medium wp-image-1590 alignnone" title="VMware DirectPath IO Configuration" src="http://www.rayheffer.com/wp-content/uploads/2011/07/DirectPathIO-Config-300x175.jpg" alt="VMware DirectPath IO Configuration" width="300" height="175" /></a> </strong></p>
<p>2) Click on &#8216;Configure Passthrough&#8217; and select the device from the list.</p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/07/DirectPathIO-Passthrough-Devices.jpg" rel="lightbox[1558]" title="VMware DirectPath IO Passthrough Devices Configuration"><img class="alignnone size-medium wp-image-1603" title="VMware DirectPath IO Passthrough Devices Configuration" src="http://www.rayheffer.com/wp-content/uploads/2011/07/DirectPathIO-Passthrough-Devices-248x300.jpg" alt="VMware DirectPath IO Passthrough Devices Configuration" width="248" height="300" /></a></p>
<p>You should then see the selected device listed, but it will not be passed through until the host is restarted.</p>
<p>3) To assign the device to a virtual machine (must be powered off), go to Edit Settings and click Add, select PCI Device, click Next.</p>
<p>4) You will see a list of devices available. Select the device, click Next and Finish.</p>
<p>The virtual machine operating system should then detect the hardware as it would on a physical machine.</p>
<p>The following features are NOT supported with DirectPath I/O:</p>
<ul>
<li>Fault Tolerance</li>
<li>VMotion</li>
<li>Storage VMotion</li>
<li>DRS</li>
<li>HA</li>
<li>Snapshots</li>
<li>Hot add</li>
<li>Suspend</li>
</ul>
<hr />
<h4>NPIV (N-Port ID Virtualisation)</h4>
<p>NPIV allows a virtual machine to have it&#8217;s own WWN on the fibre channel SAN using a virtual HBA port. It uses an RDM (Raw Device Map) to map the LUN to the virtual machine.</p>
<p>Read key materials number <a href="http://www.brocade.com/downloads/documents/white_papers/white_papers_partners/NPIV_ESX4_0_GA-TB-145-01.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.brocade.com/downloads/documents/white_papers/white_papers_partners/NPIV_ESX4_0_GA-TB-145-01.pdf?referer=');">3</a> (listed above) by Brocade as it has an excellent overview on NPIV and how to configure it. Here is an overview:</p>
<p>1. To enable NPIV for a virtual machine (must be powered off), go to Edit Settings and click on the Options tab.<br />
2. Select Fibre Channel NPIV and you will have a choice to leave any assigned WWN&#8217;s unchanged or generate new WWN&#8217;s.<br />
3. Click OK.<br />
<a href="http://www.rayheffer.com/wp-content/uploads/2011/07/NPIV-Options.jpg" rel="lightbox[1558]" title="VMware NPIV Options"><img class="alignnone size-medium wp-image-1605" title="VMware NPIV Options" src="http://www.rayheffer.com/wp-content/uploads/2011/07/NPIV-Options-300x267.jpg" alt="VMware NPIV Options" width="300" height="267" /></a></p>
<p>Now we will assign a Raw Device Map disk (RDM) to the virtual machine)<br />
5. Go back to the Hardware tab, click Add and choose Hard Disk.<br />
6. Select Raw Device Mappings, click Next.<br />
7. Select the RDM, click Next.<br />
8. Select &#8216;Store with Virtual Machine&#8217;, click Next.<br />
9. Select &#8216;Virtual&#8217; under the compatibility mode, click Next and Finish.</p>
<hr />
<h4>Storage Best Practices</h4>
<p>Firstly, read key materials <a href="http://www.vmware.com/pdf/vmfs-best-practices-wp.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vmfs-best-practices-wp.pdf?referer=');">4</a>, <a href="http://www.vmware.com/technical-resources/virtual-storage/best-practices.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/technical-resources/virtual-storage/best-practices.html?referer=');">5</a> and <a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf?referer=');">6</a> (listed above) they are excellent resources and they must be understood before attempting the VCAP-DCA. Don&#8217;t forget that this isn&#8217;t a multiple choice exam, it&#8217;s a lab based exam. It&#8217;s important to focus your area of study on best practices as much as the hard facts. For example, &#8216;Most Recently Used&#8217; is the default multipathing policy for an active / passive array, and fixed is recommended for active / active. But read the documentation in the key materials and understand why this is so.</p>
<p>You will read that using FIXED on an active / passive array will cause LUN path thrashing, but what does this mean?   Well, my background is with EMC Clariion storage which contains two SP&#8217;s (Strorage Processors) and each LUN will have a preferred SP:</p>
<p>LUN 1 &#8211; SP A<br />
LUN 2 &#8211; SP A<br />
LUN 3 &#8211; SP B<br />
LUN 4 &#8211; SP B</p>
<p>So whilst both storage processors are indeed active, you can&#8217;t access all LUN&#8217;s through a single SP unless it is the preferred storage processor for all LUN&#8217;s. This will happen if you manually change it for each LUN or a failure occurs in the SAN fabric. I like to use the term &#8216;LUN path thrashing&#8217; not &#8216;path thrashing&#8217; for that reason, as each LUN will (or may) have a preferred storage processor (A or B).</p>
<p>LUN path thrashing will occur when the active path for a given LUN repeatedly switches from one storage processor to the other. This is where the importance of this subject matters, especially in regards to the VCAP-DCA exam as we&#8217;re about to learn a good use for esxcfg-mpath!</p>
<p><code>esxcfg-mpath -l</code> will list the paths, and in the example above where two LUN&#8217;s are active on SP A and the other two on SP B, you will see that two paths are &#8216;on&#8217; for each storage processor and two paths are &#8216;standby&#8217;. Now consider a scenario where there are two hosts (server A and server B), and server A&#8217;s preferred path to LUN 1 is SP A and server B&#8217;s preferred path to LUN 1 is SP B. In this scenario it may cause the SP A to become the preferred controller for LUN 1, then the other host will cause SP B to become the preferred controller for LUN 1. This is LUN path thrashing.</p>
<p>Whilst we&#8217;re on the subject, ALUA (Asymmetric Logical Unit Access) will allow a host to reach a LUN via either storage processor (it will appear as active / active to the host) because it routes the I/O internally to the storage processor that owns the LUN. Incidentally if you want to learn more about ALUA and EMC Clariion storage then the following article by Bas Raayman is highly recommended: <a href="http://bit.ly/qE50KE" target="_blank" onclick="pageTracker._trackPageview('/outgoing/bit.ly/qE50KE?referer=');">http://bit.ly/qE50KE</a></p>
<p><strong>Using VIFS to copy virtual machine files</strong></p>
<p>If you are familiar with Linux then you already know about <code>cp</code> and <code>mv</code> commands to move or copy files. VMware KB article 900 states the following:</p>
<p>&#8220;To prevent performance and data management related issues on ESX, avoid the use of scp, cp, or mv for storage operations&#8230;&#8221;</p>
<p>I won&#8217;t focus too much on this, but I&#8217;ve included two useful resources in the key materials section at the beginning of this post (<a href="https://www.vmware.com/support/developer/vcli/vcli41/doc/reference/vifs.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/support/developer/vcli/vcli41/doc/reference/vifs.html?referer=');">18</a>, <a href="http://kb.vmware.com/kb/900" target="_blank" onclick="pageTracker._trackPageview('/outgoing/kb.vmware.com/kb/900?referer=');">19</a>).</p>
<hr />
<h4>Raw Device Mapping</h4>
<p>The first thing to understand is why use RDM&#8217;s in the first place, and I&#8217;ve included a link (<a href="http://www.vmware.com/files/pdf/performance_char_vmfs_rdm.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/files/pdf/performance_char_vmfs_rdm.pdf?referer=');">10</a>) in the key materials section above to Performance Characterization of VMFS and RDM Using a SAN. This PDF from VMware was based on ESX 3.5, but the technology remains the same and it contains a performance study on using Raw Device Mappings. Also read page 135 of the ESX Configuration Guide (<a href="http://www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/pdf/vsphere4/r41/vsp_41_esx_server_config.pdf?referer=');">12</a>) which has a good section on Raw Device Mapping. Frank Brix Pedersen (vFrank) has a <a href="http://www.vfrank.org/2011/03/22/performance-rdm-vs-vmfs/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vfrank.org/2011/03/22/performance-rdm-vs-vmfs/?referer=');">blog post</a> where he conducted some tests on using physical and virtual RDM&#8217;s measured with IOmeter and the result still stands that the performance difference is really very small. So small in fact, I would count out performance as a deciding factor.</p>
<p>There are some use cases for using RDM&#8217;s vs VMFS storage, one of which I have first hand experience with and that is P2V. In the past when migrating physical servers to virtual machines, I have encountered some cases for using an RDM, mainly on file servers. A typical example of this is where you migrate only the system disks of a physical server, but present the larger file storage LUN&#8217;s as Raw Device Maps to the virtual machine. This saves a considerable amount of time during the P2V process as you do not need to move all of the data to a new VMDK. In my case it was near to 1TB in size, and an RDM was the obvious choice. Another use case for RDM is NPIV mentioned above.</p>
<p>Remember that you have two compatibility modes when using an RDM; virtual and physical. A physical RDM will be excluded from snapshots, and will allow the virtual machine OS to access the disk directly, whereas using virtual mode will enable the use of snapshots.</p>
<ul>
<li>When cloning a virtual machine with an RDM disk in virtual compatibility mode, the RDM will be converted to a VMDK.</li>
<li>If you are taking a snapshot of a virtual machine with an RDM disk in virtual compatibility mode, it will also snapshot the RDM. Take this into account when you decide which compatibility mode to use as it may be unnecessary to snapshot the RDM (file or database servers for example).</li>
</ul>
<p>Here are the steps to add an RDM disk to a virtual machine (the screenshots are from vSphere 5, but the process is the same):</p>
<p>1. Present the disk LUN to the hosts in your cluster<br />
2. Edit the settings of your virtual machine and click Add &gt; Hard disk, click Next.<br />
3. Select Raw Device Mappings, click Next.<br />
<a href="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-01.jpg" rel="lightbox[1558]" title="VMware Raw Device Mappings - Adding new disk"><img class="alignnone size-medium wp-image-1617" title="VMware Raw Device Mappings - Adding new disk" src="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-01-300x234.jpg" alt="VMware Raw Device Mappings - Adding new disk" width="300" height="234" /></a><br />
4. Select your target LUN, click Next.<br />
<a href="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-02.jpg" rel="lightbox[1558]" title="VMware Raw Device Mappings - Select target LUN"><img class="alignnone size-medium wp-image-1618" title="VMware Raw Device Mappings - Select target LUN" src="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-02-300x234.jpg" alt="VMware Raw Device Mappings - Select target LUN" width="300" height="234" /></a><br />
5. Choose the datastore on which to store the mapping, click Next. (This is a VMDK proxy file and will not contain the data.)<br />
<a href="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-03.jpg" rel="lightbox[1558]" title="VMware Raw Device Mappings - Select Datastore"><img class="alignnone size-medium wp-image-1619" title="VMware Raw Device Mappings - Select Datastore" src="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-03-300x234.jpg" alt="VMware Raw Device Mappings - Select Datastore" width="300" height="234" /></a><br />
6. Choose the compatibility mode (Physical or Virtual), click Next.<br />
<a href="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-04.jpg" rel="lightbox[1558]" title="VMware Raw Device Mappings - Select Physical or Virtual compatibility mode"><img class="alignnone size-medium wp-image-1620" title="VMware Raw Device Mappings - Select Physical or Virtual compatibility mode" src="http://www.rayheffer.com/wp-content/uploads/2011/07/RDM-04-300x234.jpg" alt="VMware Raw Device Mappings - Select Physical or Virtual compatibility mode" width="300" height="234" /></a><br />
7. Configure the advanced options if required, click Next then Finish.</p>
<hr />
<p>This is part 1 of the VCAP-DCA Study Guide &#8211; Storage, <a href="http://www.rayheffer.com/1623/1-1-vcap-dca-study-guide-storage-part-2/">part two</a> covers the following topics:</p>
<ul>
<li>Storage Filters</li>
<li>VMFS resignaturing</li>
<li>LUN masking using PSA-related commands</li>
<li>I/O workloads</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1558/1-1-vcap-dca-study-guide-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customising the default profile in Windows 7</title>
		<link>http://www.rayheffer.com/1459/customising-the-default-profile-in-windows-7/</link>
		<comments>http://www.rayheffer.com/1459/customising-the-default-profile-in-windows-7/#comments</comments>
		<pubDate>Fri, 13 May 2011 12:11:19 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VMware View]]></category>
		<category><![CDATA[VDI]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[vsphere]]></category>
		<category><![CDATA[waik]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1459</guid>
		<description><![CDATA[Configuring the default user profile in Windows 7 When creating your base (parent) image you may want to configure the default user profile so when new users log into the desktop for the first time, it retains certain customisations such as the desktop background colour, shortcuts, etc.  Prior to Windows 7 you were able to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1459%2Fcustomising-the-default-profile-in-windows-7%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1459_2Fcustomising-the-default-profile-in-windows-7_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1459%2Fcustomising-the-default-profile-in-windows-7%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Configuring the default user profile in Windows 7</strong></p>
<p>When creating your base (parent) image you may want to configure the default user profile so when new users log into the desktop for the first time, it retains certain customisations such as the desktop background colour, shortcuts, etc.  Prior to Windows 7 you were able to copy a user profile to the default user profile, but Windows 7 does not permit this method. Instead, you must create an unattend.xml (unattended installation file) with Windows System Image Manager (WSIM) which is part of the <a href="http://www.microsoft.com/downloads/en/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&amp;displaylang=en" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.microsoft.com/downloads/en/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34_amp_displaylang=en&amp;referer=');">Windows Automated Installation Kit</a>.<br />
<span id="more-1459"></span><br />
You want to keep your base build as clean as possible, so I suggest installing the Windows AIK on to another machine so you can create your unattend.xml file.</p>
<p><strong>Step 1: </strong>Download and Install the <a href="http://www.microsoft.com/downloads/en/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&amp;displaylang=en" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.microsoft.com/downloads/en/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34_amp_displaylang=en&amp;referer=');">Windows Automated Installation Kit</a>.</p>
<p><strong>Step 2:</strong> Launch Windows System Image Manager (Start &gt; All Programs &gt; Microsoft Windows AIK)</p>
<p><strong>Step 3:</strong> Select Windows Image (File &gt; Select Windows Image), navigate to your Windows 7 Enterprise CD and select install.wim from the sources directory.</p>
<p><strong>Step 4: </strong>In the Windows Image section (bottom left), navigate to Windows 7 ENTERPRISE &gt; Components &gt; ﻿<code>x86_Microsoft-Windows-Shell-Setup_6.1.7600.16385_neutral</code>, then right click and select &#8216;Add Setting to Pass 4 specialize&#8217;. If you are using an AMD processor then simply select the alternative for amd64.</p>
<p><strong>Step 5:</strong> In the answer file section (top middle), you should now see <code>x86_Microsoft-Windows-Shell-Setup_neutral</code> listed under 4 specialize. Click on this, and in the properties pane (top right) you need to change CopyProfile to true. Save your newly created answer file as Untitled.xml on to the C: drive of your Windows 7 base image.</p>
<p><strong>Step 6: </strong>On your Windows 7 build, make sure you are logged on as a local administrator then run the following: <code>%systemroot%\system32\sysprep\sysprep.exe /oobe /reboot /generalize /unattend:c:\Unattend.xml</code>. Sysprep will now run and copy the profile of the currently logged on user as the default, then it will reboot the machine.</p>
<p>Once Sysprep has rebooted your virtual machine, finish the setup wizard and any final tweaks you wish to make before shutting it down and making it active for your View desktop pool (you are doing this with VMware View right?).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1459/customising-the-default-profile-in-windows-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>8.1 VCAP-DCA Study Guide &#8211; Getting Started with PowerCLI</title>
		<link>http://www.rayheffer.com/1464/getting-started-with-powercli/</link>
		<comments>http://www.rayheffer.com/1464/getting-started-with-powercli/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 11:13:31 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[VCAP-DCA]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[powercli]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1464</guid>
		<description><![CDATA[If you have no or little experience with Windows PowerShell, but want to jump straight into VMware PowerCLI then you may find you have some gaps in the knowledge required to get started. How do you add the VMware PowerCLI snap-in (VMware.VimAutomation.Core) for example?  How do you construct a foreach statement?  How do you work [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1464%2Fgetting-started-with-powercli%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1464_2Fgetting-started-with-powercli_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1464%2Fgetting-started-with-powercli%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>If you have no or little experience with Windows PowerShell, but want to jump straight into VMware PowerCLI then you may find you have some gaps in the knowledge required to get started. How do you add the VMware PowerCLI snap-in (VMware.VimAutomation.Core) for example?  How do you construct a foreach statement?  How do you work with variables?   There are some excellent resources available on the web, and one of my favourites is Alan Renouf&#8217;s website <a href="http://www.virtu-al.net/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.virtu-al.net/?referer=');">Virtu-Al</a>. He also has a great article on <a href="http://www.virtu-al.net/2010/02/01/powercli-working-with-events/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.virtu-al.net/2010/02/01/powercli-working-with-events/?referer=');">Working with events</a>. Definitely work a look!</p>
<p><span id="more-1464"></span></p>
<h4 style="text-align: center;"><strong>Lesson 1: PowerShell &#8216;Need to Know&#8217;</strong></h4>
<p>Once you&#8217;ve installed PowerCLI, the first thing you should do is set the execution policy to allow <code>RemoteSigned</code> scripts to run. This is only done one time.</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: pink;">&gt;</span> <span style="color: #008080; font-weight: bold;">Set-ExecutionPolicy</span> RemoteSigned</pre></div></div>

<p><strong>Tip:</strong> Throughout PowerCLI, if you can&#8217;t remember a command type part of it and hit Tab to scroll through the available commands. For example, <code>Set-E</code> (hit Tab) will complete the <code>Set-ExecutionPolicy</code> command. Not sure what comes next, then type <code>/?</code> and it will show the list of available values; <code>Unrestricted</code>, <code>RemoteSigned</code>, <code>Allsigned</code>, etc.</p>
<p><strong>Special Variables:</strong></p>
<table id="box-table-a" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td><strong>Variable</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>$_</strong></td>
<td>Pipeline variable. This is a placeholder for the current (pipeline) object, for example in a foreach loop it will contain the current object in the loop.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$?</strong></td>
<td>Status of the last statement that was executed.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$Args</strong></td>
<td>Used in creating functions that require parameters.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$Env:Path</strong></td>
<td>Environmental path to files.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$Error</strong></td>
<td>Recent error messages.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$foreach</strong></td>
<td>Refers to the enumerator in a foreach loop.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$Home</strong></td>
<td>Home directory of the current user (E.g. %USERPROFILE%).</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$True</strong></td>
<td>Returns boolean TRUE.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$False</strong></td>
<td>Returns boolean FALSE.</td>
</tr>
<tr>
<td style="text-align: center;"><strong>$Null</strong></td>
<td>Null.</td>
</tr>
</tbody>
</table>
<p><strong>Operators:</strong></p>
<table id="box-table-a" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td><strong>Operator</strong></td>
<td style="width: 560px;"><strong>Description</strong></td>
</tr>
<tr>
<td style="text-align: left;"><strong>-eq</strong></td>
<td style="text-align: left;">equal to</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-ne</strong></td>
<td style="text-align: left;">not equal to</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-gt</strong></td>
<td style="text-align: left;">greater than</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-lt</strong></td>
<td style="text-align: left;">less than</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-ge</strong></td>
<td style="text-align: left;">greater or equal to</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-le</strong></td>
<td style="text-align: left;">less or equal to</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-contains</strong></td>
<td style="text-align: left;">contains</td>
</tr>
<tr>
<td style="text-align: left;"><strong>-notcontains</strong></td>
<td style="text-align: left;">doesn&#8217;t contain</td>
</tr>
</tbody>
</table>
<p><strong>Aliases:</strong></p>
<p>Type Get-Alias to list all PowerShell aliases. Here are two of the most frequently used ones:</p>
<table id="box-table-a" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td><strong>Alias</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>%</strong></td>
<td>Alias to ForEach-Object cmdlet. This is often used and can be confusing to novices trying to understand other PowerShell scripts!</td>
</tr>
<tr>
<td style="text-align: center;"><strong>?</strong></td>
<td>Alias to Where-Object cmdlet.</td>
</tr>
</tbody>
</table>
<p><strong>IF Statement:</strong></p>
<table id="box-table-a" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td><strong>Condition</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>IF</td>
<td>If (condition) { statement }<br />
ElseIf (condition) { statement }<br />
Else (condition) { statement }</td>
</tr>
</tbody>
</table>
<p>Example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$vmguest</span>.OSfullname <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><span style="color: #800080;">$vmguest</span>.OSfullname <span style="color: pink;">=</span> <span style="color: #800000;">&quot;Unknown OS&quot;</span><span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p><strong>ForEach Loop:</strong></p>
<table id="box-table-a" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td><strong>Loop</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>ForEach</td>
<td>ForEach ($items in $array) { statement }</td>
</tr>
</tbody>
</table>
<p>Example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$getvm</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>VM
<span style="color: #0000FF;">ForEach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$vm</span> <span style="color: #0000FF;">in</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$getvm</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Where-Object</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.MemoryMB <span style="color: #FF0000;">-lt</span> <span style="color: #800000;">&quot;2048&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
<span style="color: #800080;">$vm</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<hr style="width: 90%;" />
<h4 style="text-align: center;"><strong>Lesson 2: Getting Started with PowerCLI</strong></h4>
<p><strong>First make a connection to vCenter (or an ESX host):</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Connect<span style="color: pink;">-</span>VIServer <span style="color: pink;">-</span>server <span style="color: pink;">&lt;</span>vcenter_hostname<span style="color: pink;">&gt;</span></pre></td></tr></table></div>

<p><strong>Getting help and examples:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008080; font-weight: bold;">Get-Help</span>
<span style="color: #008080; font-weight: bold;">Get-Help</span> Get<span style="color: pink;">-</span>VMHost
<span style="color: #008080; font-weight: bold;">Get-Help</span> Get<span style="color: pink;">-</span>VMHost <span style="color: #008080; font-style: italic;">-examples</span> <span style="color: pink;">|</span> more
<span style="color: #008080; font-weight: bold;">Get-Help</span> Get<span style="color: pink;">-</span>VMHost <span style="color: #008080; font-style: italic;">-full</span> <span style="color: pink;">|</span> more</pre></td></tr></table></div>

<p>This is useful as it brings up the help window which you can then use to search or browse for Cmdlets and examples&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>PowerCLIHelp</pre></td></tr></table></div>

<p><strong>Get Properties and Methods for an object:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>VMHost  <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Get-Member</span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>VM  <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Get-Member</span></pre></td></tr></table></div>

<p>&nbsp;</p>
<p>Let&#8217;s start with a basic task, then we&#8217;ll break it down to see how the command is constructed:</p>
<p><strong> List all VM&#8217;s with a connected CD-ROM:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>VM <span style="color: pink;">|</span> <span style="color: #0000FF;">where</span> <span style="color: #000000;">&#123;</span> <span style="color: #000080;">$_</span> <span style="color: pink;">|</span> Get<span style="color: pink;">-</span>CDDrive <span style="color: pink;">|</span> <span style="color: #0000FF;">where</span> <span style="color: #000000;">&#123;</span> <span style="color: #000080;">$_</span>.ConnectionState.Connected <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;true&quot;</span> <span style="color: #000000;">&#125;</span><span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Let&#8217;s break this down&#8230;</p>
<p>1. Using <code>Get-VM</code>, pipe this to a <code>where</code> statement&#8230;</p>
<p>2. Use <code>$_</code> which in this case is our VM (current object)</p>
<p>3. Pipe this to <code>Get-CDDrive</code> where $_ (current object, in this case the <code>CDDrive</code>) <code>ConnectionState.Connected</code> is true.</p>
<p>So how did I come up with this?  Let&#8217;s break it down further.</p>
<p>Lets put our <code>Get-VM</code> into a variable $vm</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$vm</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>VM</pre></div></div>

<p>We could type $vm and it&#8217;ll do the same as <code>Get-VM</code>, but now it&#8217;s in a variable we can do more with it. For example, try <code>$vm[0]</code>, this will get the first VM in the list (or array).</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$vm</span><span style="color: #000000;">&#91;</span><span style="color: #804000;">0</span><span style="color: #000000;">&#93;</span></pre></div></div>

<p>We could also try:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$vm</span> <span style="color: pink;">|</span> <span style="color: #0000FF;">where</span> <span style="color: #000000;">&#123;</span> <span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;DC01&quot;</span> <span style="color: #000000;">&#125;</span></pre></div></div>

<p>This would list the VM with the name of DC01.</p>
<p>Now we can focus on one VM at a time, lets see what we can find out. Lets pipe it to <code>Get-CDDrive</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$vm</span><span style="color: #000000;">&#91;</span><span style="color: #804000;">0</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">|</span> Get<span style="color: pink;">-</span>CDDrive</pre></div></div>

<p>It doesn&#8217;t give us a great deal, so lets pipe format-list (or fl)&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$vm</span><span style="color: #000000;">&#91;</span><span style="color: #804000;">0</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">|</span> Get<span style="color: pink;">-</span>CDDrive <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">fl</span></pre></div></div>

<p>This is more interesting, notice now we can see ConnectionState and it has Connected:False. So you can see we can use ConnectionState.Connect -eq &#8220;true&#8221; in our command.</p>
<p><strong><br />
Create a new datacenter called TestDC:</strong></p>
<p>You can list existing datacenters with Get-DataCenter. Use Get-Folder to see all items in the hierarchy and datacenters is at the top. To create a new datacenter at the root level we&#8217;ll use Get-Folder -NoRecursion.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">New<span style="color: pink;">-</span>DataCenter <span style="color: pink;">-</span>Location <span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>Folder <span style="color: pink;">-</span>NoRecursion<span style="color: #000000;">&#41;</span> <span style="color: #008080; font-style: italic;">-Name</span> TestDC</pre></td></tr></table></div>

<p>If you use <code>Get-Datacenter</code> again, you should now see your new datacenter.</p>
<p><strong><br />
Adding a host to the TestDC datacenter:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Add<span style="color: pink;">-</span>VMHost  <span style="color: pink;">-</span>Location TestDC <span style="color: pink;">-</span>User root <span style="color: pink;">-</span>Password <span style="color: pink;">****</span> <span style="color: #008080; font-style: italic;">-force</span>:$true</pre></td></tr></table></div>

<p>We need to use -force:$true, otherwise it will fail with an error regarding a self-signed certificate (unless you have a trusted certificate of course).</p>
<p><strong><br />
Placing an ESX host into Maintenance Mode:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Set<span style="color: pink;">-</span>VMHost <span style="color: pink;">-</span>VMHost  <span style="color: pink;">-</span>State <span style="color: #800000;">&quot;Maintenance&quot;</span></pre></td></tr></table></div>

<p>or to exit maintenance mode use:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Set<span style="color: pink;">-</span>VMHost <span style="color: pink;">-</span>VMhost  <span style="color: pink;">-</span>State <span style="color: #800000;">&quot;Connected&quot;</span></pre></td></tr></table></div>

<p><strong><br />
Create a variable to store your ESX host credentials:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$creds</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Get-Credential</span></pre></td></tr></table></div>

<p>Connecting to vCenter or ESX:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Connect<span style="color: pink;">-</span>VIServer  <span style="color: #008080; font-style: italic;">-Credential</span> $creds</pre></td></tr></table></div>

<p><strong><br />
Add an ESX host to a variable, and use it to retrieve the host properties:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$esxhost</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>VMHost</pre></td></tr></table></div>

<p>Get the methods and properties of the host using $esxhost | Get-Member<br />
<strong></strong></p>
<p><strong><br />
Display the version of ESX:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$esxhost</span>.version</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1464/getting-started-with-powercli/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VMware ESXi 4.1 Kickstart Scripted Deployment with UDA (PXE BOOT)</title>
		<link>http://www.rayheffer.com/1369/vmware-esxi-4-1-kickstart-scripted-deployment-with-uda-pxe-boot/</link>
		<comments>http://www.rayheffer.com/1369/vmware-esxi-4-1-kickstart-scripted-deployment-with-uda-pxe-boot/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 15:32:57 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Scripts & Commands]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[home lab]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1369</guid>
		<description><![CDATA[If you are looking to deploy multiple ESX/ESXi servers then there are plenty of methods and tools out there, some more complex than others. There are vendor specific deployment products available such as HP Rapid Depuployment Pack (RDP) which uses Altiris, or alternatively there are free deployment tools such as ESX Deployment Appliance (EsleeDA) and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1369%2Fvmware-esxi-4-1-kickstart-scripted-deployment-with-uda-pxe-boot%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1369_2Fvmware-esxi-4-1-kickstart-scripted-deployment-with-uda-pxe-boot_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1369%2Fvmware-esxi-4-1-kickstart-scripted-deployment-with-uda-pxe-boot%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>If you are looking to deploy multiple ESX/ESXi servers then there are plenty of methods and tools out there, some more complex than others. There are vendor specific deployment products available such as HP Rapid Depuployment Pack (RDP) which uses Altiris, or alternatively there are free deployment tools such as ESX Deployment Appliance (EsleeDA) and Ultimate Deployment Appliance (UDA). UDA is my favorite tool for the job as it offers great flexibility such as the use of subtemplates (discussed later), and therefore this will be the basis of this article. It was created by <a href="http://www.ultimatedeployment.org/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.ultimatedeployment.org/?referer=');">Carl Thijssen</a> and thanks to <a href="http://www.rtfm-ed.co.uk/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.rtfm-ed.co.uk/?referer=');">Mike Laverick of RTFM</a>, it also supports ESX/ESXi deployments, and the latest build supports ESX/ESXi 4.1.<br />
<span id="more-1369"></span><br />
I aim to share the basics of getting the UDA configured for your environment and not delve into anything too complicated here. The best way of learning to perform some of the more complex deployments are to grasp the basics first then experiment with other functionality in your own environment for yourself. Mike Laverick has an excellent <a href="http://www.rtfm-ed.co.uk/docs/vmwdocs/uda20-beta.pdf " target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.rtfm-ed.co.uk/docs/vmwdocs/uda20-beta.pdf?referer=');">guide</a> on deploying and configuring UDA 2.0 beta.</p>
<p>For the purposes of this guide a number of assumptions have been made. You will have already deployed vCenter and at least one ESX/ESXi host running with some storage. If you are going to be testing this in a home lab then bear in mind that we’ll need to configure DHCP options 66 and 67, see the end of this article for details. You can do this with an existing DHCP server or use UDA as a DHCP server. Most deployments will be using an existing DHCP server.</p>
<p>Let’s get started&#8230;</p>
<p><strong>Step 1: Download &amp; Deploy the Ultimate Deployment Appliance</strong></p>
<p>1) Download UDA from: <a href="http://www.rtfm-ed.co.uk/vmware-content/ultimate-da/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.rtfm-ed.co.uk/vmware-content/ultimate-da/?referer=');">http://www.rtfm-ed.co.uk/vmware-content/ultimate-da/</a> then extract it to your hard disk.<br />
2) Import the appliance using your vSphere client (<code>File &gt; Deploy OVF Template...</code>)<br />
3) Prior to powering on the appliance, add a second disk that we’ll use to store your ISO images. I’d recommend at least a 20GB disk, and use thin to conserve disk space.<br />
4) Power on and proceed to the next step.</p>
<p><strong>Step 2: Installation and Setup</strong></p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-001.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Setup"><img class="alignnone size-thumbnail wp-image-1385" title="Ultimate Deployment Appliance (UDA) Setup" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-001-150x150.png" alt="Ultimate Deployment Appliance (UDA) Setup" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-002.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Setup"><img class="alignnone size-thumbnail wp-image-1386" title="Ultimate Deployment Appliance (UDA) Setup" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-002-150x150.png" alt="Ultimate Deployment Appliance (UDA) Setup" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-003.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Setup"><img class="alignnone size-thumbnail wp-image-1387" title="Ultimate Deployment Appliance (UDA) Setup" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-003-150x150.png" alt="Ultimate Deployment Appliance (UDA) Setup" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-004.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Setup"><img title="Ultimate Deployment Appliance (UDA) Setup" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-004-150x150.png" alt="Ultimate Deployment Appliance (UDA) Setup" width="150" height="150" /></a></p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-003.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Setup"></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-005.png" rel="lightbox[1369]"><img class="alignnone size-thumbnail wp-image-1389" title="Ultimate Deployment Appliance (UDA) Setup" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-005-150x150.png" alt="Ultimate Deployment Appliance (UDA) Setup" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-006.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Setup"><img class="alignnone size-thumbnail wp-image-1390" title="Ultimate Deployment Appliance (UDA) Setup" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-setup-006-150x150.png" alt="Ultimate Deployment Appliance (UDA) Setup" width="150" height="150" /></a></p>
<p>1) Click OK at the welcome screen<br />
2) Enter the hostname (I recommend that you also add the hostname into your DNS server)<br />
3) Enter the IP address configuration<br />
4) Select the services you require (as a minimum I would just leave TFTP, HTTP and SSH selected)<br />
5) Enter the root password.<br />
6) Select Yes to apply the changes.</p>
<p>Once it has finished you will then be able to access your UDA from a web browser. Log in with admin and the password you set during the setup.</p>
<p><strong>Step 3: UDA Configuration</strong></p>
<p>When you first log into the appliance you will be presented with a welcome page. The first thing to configure is the additional disk space we need to store our ISO images. If you haven’t added a second hard disk, then shutdown the UDA (System &gt; Shutdown), then add the additional disk and power on.</p>
<p>UDA has two partitions; <code>systemlv</code> and <code>localv</code>. ISO images are stored on the <code>localv</code> partition, so we’ll extend that.</p>
<p>1) Go to System and click Diskspace.<br />
2) Select localv and then click Extend.<br />
3) Select the device and then click Apply.</p>
<p>It may take a little while depending on how large the new disk is, but once that is complete we’ll load the ISO image for ESXi 4.1 Update 1 on to the UDA.</p>
<p>1) Go to System and click Upload.<br />
2) Click Choose File, select your ISO then click Upload.</p>
<p>It will store the ISO on the localv partition in <code>/local</code>.</p>
<p><strong>Step 4: Add an OS &amp; Deployment Template for ESXi 4.1</strong></p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-001.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img class="alignnone size-thumbnail wp-image-1392" title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-001-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-002.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img class="alignnone size-thumbnail wp-image-1393" title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-002-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-003.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img class="alignnone size-thumbnail wp-image-1394" title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-003-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /> </a><a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-004.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-004-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /></a></p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-005.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img class="alignnone size-thumbnail wp-image-1396" title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-005-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-006.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img class="alignnone size-thumbnail wp-image-1397" title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-006-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-007.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance (UDA) Configuration Steps"><img title="Ultimate Deployment Appliance (UDA) Configuration Steps" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-config-007-150x150.png" alt="Ultimate Deployment Appliance (UDA) Configuration Steps" width="150" height="150" /></a></p>
<p>Now for the exciting bit. We’ll add our OS (ESXi) and template for deployment which will also create the basics of our Kickstart script which we’ll add to later. The OS section allows us to tie an ISO image to a Flava name, in this case we’ll call it ESXi41. I’d recommend using a better naming convention for your environment though.</p>
<p>1) Go to OS and click New.<br />
2) Enter ESXi41 for the Flava Name.<br />
3) From the dropdown, choose VMware ESXi 4.1 Installable and click Next.<br />
4) Select the ESXi 4.1 ISO you uploaded and then click Finish.</p>
<p>Next, the template which contains our Kickstart script. The template also contains a subtemplate which allows us to define our own variables, such as IP address and hostnames for each ESXi host we are deploying. This is why I like using UDA so much, because it avoids having to create a separate Kickstart script for each ESXi host.</p>
<p>1) Go to Templates and click New.<br />
2) Enter a Template Name. For example: esxi-build and give it a meaninful description.<br />
3) From the Operating System dropdown choose VMware ESXi 4.1 Installable and click Next.<br />
4) From the Flava dropdown choose your OS (Flava), ESXi41 and click Next then Finish.</p>
<p>The next stage is to perform the configuration of our Kickstart script and subtemplate. Go to Templates, select your template (esxi-build) and click Configure. You’ll see three tabs here; General, Subtemplates and Advanced. Click on Advanced. This is where our Kickstart script lives, and you’ll see it contains a basic configuration.</p>
<p>Here is a breakdown with explanations for each line:</p>
<p><code><br />
# Accept the VMware EULA - The script will fail without this.<br />
accepteula</code></p>
<p><code># Set the root password using MD5 crypt<br />
rootpw secret</code></p>
<p><code># Auto partition the disk<br />
autopart --firstdisk --overwritevmfs</code></p>
<p><code># Location of the install media<br />
install url http://[UDA_IPADDR]/[OS]/[FLAVOR]</code></p>
<p><code># Configure IP address and hostname. --addvmportgroup=0 will disable creation of the VM Network portgroup<br />
network --bootproto=static --ip=192.168.178.200 --gateway=192.168.178.1 --nameserver=192.168.178.1 --netmask=255.255.255.0 --hostname=esx41i --addvmportgroup=0</code></p>
<p><code># Reboot the host when the installation is complete<br />
reboot</code></p>
<p>The first thing we need to change is the root password which by default is set to <code>secret</code> and is in plain text. We can use a crypted MD5 password here using <code>rootpw --iscrypted</code> followed by the crypt.</p>
<p>1) Log into your UDA with PuTTY (SSH) and log in as root (same password you set during the initial setup).<br />
2) Type <code>grub-md5-crypt</code><br />
3) Enter your password and it’ll generate an MD5 string for you.<br />
4) Go back to the Advanced view in the web interface and change the rootpw line to (replacing the crypt with the one you generated):</p>
<p><code>rootpw --iscrypted  $1$3vkd233f/wksSo$fhniM3fdcV6hr0</code></p>
<p>Now we need to change the network configuration to use the appropriate IP address, gateway, subnet mask and hostname. We could just replace the default IP address configuration here, but a better method is to use variables which we can set in subtemplates. Variables are set inside square brackets, such as <code>[IPADDR], [FQDN]</code> and so on. The variable names are up to you. Change the network configuration, replacing the IP address and hostname with variables as follows:</p>
<p><code>network --bootproto=static --ip=[IPADDR] --gateway=192.168.4.1 --nameserver=192.168.4.1 --netmask=255.255.255.0 --hostname=[FQDN] --addvmportgroup=0</code></p>
<p>Select Subtemplates and click on Edit. The first line we will create contains the word <code>SUBTEMPLATE</code> then the variable names that we want to use (separated by semi-colons). Subsequent lines contain the values for each host. See my example below:</p>
<p><code>SUBTEMPLATE;IPADDR;FQDN;VMKIPADDR<br />
ESX01;192.168.4.11;esx01.home.lab;192.168.4.211<br />
ESX02;192.168.4.12;esx02.home.lab;192.168.4.212<br />
ESX03;192.168.4.13;esx03.home.lab;192.168.4.213<br />
ESX04;192.168.4.14;esx04.home.lab;192.168.4.214</code></p>
<p>You’ll notice in my example I’ve added a VMkernel IP address that in the case of our ESXi deployment we will use for VMotion.</p>
<p>Click on the Advanced tab. After the network configuration line we need to add the following command which allows us to run our <code>esxcfg</code> commands on first boot:</p>
<p><code>%firstboot --unsupported --interpreter=busybox</code></p>
<p>Now add the following commands to the Kickstart script (Advanced), which will add a VMotion portgroup and IP address. You can leave the <code>#</code> comments in if you wish:</p>
<p><code># Setup VMotion portgroup on vSwitch0<br />
esxcfg-vswitch -A VMotion vSwitch0</code></p>
<p><code># Setup VMotion IP address<br />
esxcfg-vmknic -a VMotion -i [VMKIPADDR] -n 255.255.255.0</code></p>
<p><code># Wait for previous command to finish before enabling VMotion<br />
sleep 10</code></p>
<p><code># Enable VMotion (ESX uses vmware-vim-cmd and ESXi is vim-cmd)<br />
vim-cmd hostsvc/vmotion/vnic_set vmk1<br />
vim-cmd hostsvc/net/refresh<br />
</code></p>
<p>Notice in the <code>vim-cmd</code> command above that it sets VMotion on <code>vmk1</code>. <code>vmk0</code> will be the management IP address used in the network command at the top of our script. This is fairly straightforward to work out, but if anyone knows of a better method then feel free to comment!</p>
<p>Finally click on Save.</p>
<p><strong>The Deployment</strong></p>
<p>Now we have the UDA configured and ready to roll with our ESXi installation all we have to do now is PXE boot our hosts and providing you have configured DHCP options 66 &amp; 67 (see the end of this article) you should be presented with the UDA menu (see first screenshot).</p>
<p><a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-001.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance Menu - Installing VMware ESXi"><img class="alignnone size-thumbnail wp-image-1427" title="Ultimate Deployment Appliance Menu - Installing VMware ESXi" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-001-150x150.png" alt="Ultimate Deployment Appliance Menu - Installing VMware ESXi" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-002.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance Menu - Installing VMware ESXi"><img class="alignnone size-thumbnail wp-image-1428" title="Ultimate Deployment Appliance Menu - Installing VMware ESXi" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-002-150x150.png" alt="Ultimate Deployment Appliance Menu - Installing VMware ESXi" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-003.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance - Installing VMware ESXi"><img class="alignnone size-thumbnail wp-image-1429" title="Ultimate Deployment Appliance - Installing VMware ESXi" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-003-150x150.png" alt="Ultimate Deployment Appliance - Installing VMware ESXi" width="150" height="150" /></a> <a href="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-004.png" rel="lightbox[1369]" title="Ultimate Deployment Appliance - Installing VMware ESXi"><img class="alignnone size-thumbnail wp-image-1430" title="Ultimate Deployment Appliance - Installing VMware ESXi" src="http://www.rayheffer.com/wp-content/uploads/2011/03/uda-boot-004-150x150.png" alt="Ultimate Deployment Appliance - Installing VMware ESXi" width="150" height="150" /></a></p>
<p>The rest is easy, just select the host from the menu (we set this in SUBTEMPLATE) and it will install and configure ESXi with no user intervention. Using a scripted installation can be very powerful and a lot more can be configured than I&#8217;ve included here. Even if you don&#8217;t have mass ESXi deployments, this is a good way of ensuring that your ESXi hosts maintain your standard build. If you have an Enterprise Plus license then you can also use Host Profiles.</p>
<hr />
<p><strong>Kickstart script:</strong></p>
<p><code>accepteula<br />
rootpw --iscrypted $1$3vkd233f/wksSo$fhniM3fdcV6hr0<br />
autopart --firstdisk --overwritevmfs<br />
install url http://[UDA_IPADDR]/[OS]/[FLAVOR]<br />
network --bootproto=static --ip=[IPADDR] --gateway=192.168.4.1 --nameserver=192.168.4.30 --netmask=255.255.255.0 --hostname=[FQDN] --addvmportgroup=0<br />
reboot</code></p>
<p><code>## THE FOLLOWING IS OUR FIRSTBOOT CONFIGURATION ##</code></p>
<p><code># Configure additional commands at first boot.<br />
%firstboot --unsupported --interpreter=busybox</code></p>
<p><code># Setup VMotion portgroup on vSwitch0<br />
esxcfg-vswitch -A VMotion vSwitch0</code></p>
<p><code># Setup VMotion IP address<br />
esxcfg-vmknic -a VMotion -i [VMKIPADDR] -n 255.255.255.0</code></p>
<p><code># Wait for previous command to finish before enabling VMotion<br />
sleep 10</code></p>
<p><code># Enable VMotion (ESX uses vmware-vim-cmd and ESXi is vim-cmd)<br />
vim-cmd hostsvc/vmotion/vnic_set vmk1<br />
vim-cmd hostsvc/net/refresh</code></p>
<hr />
<p><strong>SUBTEMPLATE:</strong></p>
<p><code>SUBTEMPLATE;IPADDR;FQDN;VMKIPADDR<br />
ESX01;192.168.4.11;esx01.home.lab;192.168.4.211<br />
ESX02;192.168.4.12;esx02.home.lab;192.168.4.212<br />
ESX03;192.168.4.13;esx03.home.lab;192.168.4.213<br />
ESX04;192.168.4.14;esx04.home.lab;192.168.4.214</code></p>
<hr />
<p><strong>Configuring DHCP Options</strong></p>
<p>1) Set option 66 to the IP address of your UDA<br />
2) Set option 67 to pxelinux.0</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1369/vmware-esxi-4-1-kickstart-scripted-deployment-with-uda-pxe-boot/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>8.3 VCAP-DCA Study Guide &#8211; Configuring vMA for Logging</title>
		<link>http://www.rayheffer.com/1296/6-1-8-3-logging-vmware-vma-configuring-vma-as-a-syslog-server/</link>
		<comments>http://www.rayheffer.com/1296/6-1-8-3-logging-vmware-vma-configuring-vma-as-a-syslog-server/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 12:36:02 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Scripts & Commands]]></category>
		<category><![CDATA[VCAP-DCA]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[vcap]]></category>
		<category><![CDATA[vma]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1296</guid>
		<description><![CDATA[In this article I detail the steps required to configure your vMA as a Syslog server, and configure your ESX/ESXi hosts to send logging information to the vMA. Logging is often overlooked, but when managing multiple hosts it is far easier to send your logs to a Syslog server. I&#8217;m studying for the VCAP-DCA exam, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1296%2F6-1-8-3-logging-vmware-vma-configuring-vma-as-a-syslog-server%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1296_2F6-1-8-3-logging-vmware-vma-configuring-vma-as-a-syslog-server_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1296%2F6-1-8-3-logging-vmware-vma-configuring-vma-as-a-syslog-server%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In this article I detail the steps required to configure your vMA as a Syslog server, and configure your ESX/ESXi hosts to send logging information to the vMA. Logging is often overlooked, but when managing multiple hosts it is far easier to send your logs to a Syslog server. I&#8217;m studying for the VCAP-DCA exam, and using vicfg-syslog is a requirement of the exam (Section 6.1) and the vMA is also essential to understand (Section 8.1). I hope my notes help you as they have helped me.<br />
<span id="more-1296"></span></p>
<h4><strong>Configuring your VMware vMA as a Syslog server is very easy to do, just follow these steps</strong></h4>
<p>Log on to your vMA as vi-admin and enter the following commands:</p>
<p><code>sudo service rsyslog stop<br />
sudo vi /etc/sysconfig/rsyslog<br />
sudo service rsyslog start<br />
sudo iptables -I INPUT -i eth0 -p udp --dport 514 -j ACCEPT<br />
sudo service iptables save</code> (this will save the new firewall rule and ensure it doesn&#8217;t disappear after a reboot)</p>
<p>Job done! The vMA server is now ready to accept syslog connections on UDP port 514.</p>
<h4><strong><br />
Configuring your ESXi host to send logging information to the Syslog server</strong></h4>
<p>You can do this via the vSphere client (Configuration &gt; Advanced &gt; Syslog, syslog.remote.hostname), but for the VCAP-DCA exam it might be useful to know how to do this using vMA.</p>
<p><strong>Using vMA:</strong></p>
<p>First ensure your have your ESXi host set as the fast-pass target, then use <code>vicfg-syslog</code>:</p>
<p><code># vifptarget -s &lt;ESXI_HOSTNAME&gt;<br />
# vicfg-syslog -s &lt;VMA_IP_ADDRESS&gt;</code></p>
<h4><strong><br />
Configuring your ESX host to send logging information to Syslog server</strong></h4>
<p>You can&#8217;t use the vSphere client or vMA to configure Syslog on an ESX host, so we need to edit <code>/etc/syslog.conf</code> and add the following line to the very bottom:</p>
<p><code>*.* @&lt;SYSLOG_IP_ADDRESS&gt;</code></p>
<p>In this example, replace &lt;SYSLOG_IP_ADDRESS&gt; with the IP address of the vMA.</p>
<p>Next we need to allow UDP port 514 out from your ESX host. To do this run the following command (make sure you are logged in, or <code>su -</code> as root):</p>
<p><code># esxcfg-firewall -o 514,udp,out,syslog</code></p>
<p><strong>Note:</strong> If you log in to your ESX hot then su as root make sure you type (<code>su -</code>) with the hyphen and that will load the environment variables of the root account. Otherwise you may find that you get the error &#8216;<code>bash: esxcfg-firewall: command not found</code>&#8216;.</p>
<p>Finally, restart the syslog service:</p>
<p><code># service syslog restart</code></p>
<h4><strong><br />
Checking the ESX logs on vMA</strong></h4>
<p>Now for the fun bit!  Log on to your vMA server as vi-admin, and type:</p>
<p><code># sudo tail -f /var/log/messages</code></p>
<p>This will tail the messages file, and -f will output data as it is added to the file.</p>
<p>To send a test message, log on to the ESX host that you configured for syslog (above) and type:</p>
<p><code># logger syslog test message</code></p>
<p>You should see your test message output on the vMA. Cool huh!</p>
<h4><strong><br />
Checking ESXi logs on vMA</strong></h4>
<p>The logger command isn&#8217;t available with ESXi, so another way of checking that your Syslog is working for an ESXi host is to filter the results to show the IP address of your ESXi host:</p>
<p><code># sudo tail -f /var/log/messages | grep &lt;ESXI_IP_ADDRESS&gt;</code></p>
<p>It shouldn&#8217;t take long to see messages from your ESXi host, and filtering on the IP address using grep is a really neat way of finding results for a particular host.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1296/6-1-8-3-logging-vmware-vma-configuring-vma-as-a-syslog-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware View 4.6 released!</title>
		<link>http://www.rayheffer.com/1287/vmware-view-4-6-released/</link>
		<comments>http://www.rayheffer.com/1287/vmware-view-4-6-released/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 13:12:09 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[Business & IT]]></category>
		<category><![CDATA[VDI]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VMware View]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1287</guid>
		<description><![CDATA[VMware View 4.6 has just been released which includes over 160 bug fixes and support for PCoIP with Secure Gateway servers. See the release notes here: http://www.vmware.com/support/view46/doc/view-46-release-notes.html &#160;]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1287%2Fvmware-view-4-6-released%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1287_2Fvmware-view-4-6-released_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1287%2Fvmware-view-4-6-released%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div id="attachment_1289" class="wp-caption alignleft" style="width: 190px"><img class="size-medium wp-image-1289 " title="Professor Farnsworth" src="http://www.rayheffer.com/wp-content/uploads/2011/02/professor-farnsworth-300x241.png" alt="Professor Farnsworth" width="180" height="145" /><p class="wp-caption-text">Good news everyone!</p></div>
<p>VMware View 4.6 has just been released which includes over 160 bug fixes and support for PCoIP with Secure Gateway servers. See the release notes here: <a href="http://www.vmware.com/support/view46/doc/view-46-release-notes.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/support/view46/doc/view-46-release-notes.html?referer=');">http://www.vmware.com/support/view46/doc/view-46-release-notes.html</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1287/vmware-view-4-6-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8.3 VCAP-DCA Study Guide &#8211; Introduction to vMA (vSphere Management Assistant)</title>
		<link>http://www.rayheffer.com/1268/vmware-vma-introduction-to-the-vsphere-management-assistant/</link>
		<comments>http://www.rayheffer.com/1268/vmware-vma-introduction-to-the-vsphere-management-assistant/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 12:05:50 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[VCAP-DCA]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vcli]]></category>
		<category><![CDATA[vma]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1268</guid>
		<description><![CDATA[The vSphere Management Assistant (vMA) runs a 64 bit operating system (RedHat Enterprise Linux) and features the VMware vCLI in addition to vSphere SDK for Perl, Java JRE, CIM vSphere profiles, VMware tools and an SNMP agent. The vMA virtual machine requires a single vCPU with 512MB memory and a 5GB virtual disk. If you are [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1268%2Fvmware-vma-introduction-to-the-vsphere-management-assistant%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1268_2Fvmware-vma-introduction-to-the-vsphere-management-assistant_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1268%2Fvmware-vma-introduction-to-the-vsphere-management-assistant%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-1275" title="VMware vMA (vSphere Management Assistant)" src="http://www.rayheffer.com/wp-content/uploads/2011/02/vma.png" alt="VMware vMA (vSphere Management Assistant)" width="141" height="135" />The vSphere Management Assistant (vMA) runs a 64 bit operating system (RedHat Enterprise Linux) and features the VMware vCLI in addition to vSphere SDK for Perl, Java JRE, CIM vSphere profiles, VMware tools and an SNMP agent. The vMA virtual machine requires a single vCPU with 512MB memory and a 5GB virtual disk. If you are studying for the VCAP-DCA exam then you will need to know how to install and use the vMA to manage a vSphere environment. The best way to learn how to use the vMA is to setup your own home lab. I&#8217;ve already posted an article on building a whitebox VMware vSphere server for your home lab (<a href="http://www.rayheffer.com/838/vmware-vsphere-whitebox-server-lab-setup-part-1/" target="_blank">click here</a>), otherwise you can always use VMware Workstation on your PC or laptop.<br />
<span id="more-1268"></span></p>
<h4><strong>Installing vMA</strong></h4>
<p>Installing the vMA is very easy and you can download the latest version from <a href="http://www.vmware.com/support/developer/vima" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.vmware.com/support/developer/vima?referer=');">VMware </a> where you will also find documentation. It will download in <code>.zip</code> format and contains the vMA as an OVF. This can be imported into vCenter &#8216;<em>File &gt; Deploy OVF Template&#8230;</em>&#8216;.  Once it has been deployed into your vSphere environment and powered on, you will be presented with a text based setup wizard where you can set the IP address, subnet mask, gateway, DNS, and so on. When you have completed the setup, you will need to connect to the vMA using an SSH client (PuTTY).</p>
<h4><strong>Getting started with vMA</strong></h4>
<p>Log into a the vMA using <code>vi-admin</code> and the password you created during the initial setup. As I mentioned previously, vMA has all of the vCLI commands (E.g. <code>vicfg-nics</code>, <code>vicfg-vswitch</code>) which are located in <code>/usr/bin</code>.</p>
<p>With any command remember that you can use <code>--help</code> (E.g. <code>vicfg-nics --help</code>) to display a list of options, even seasoned command line junkie&#8217;s use this so don&#8217;t think of it as something just for us newbies!</p>
<p>Most commands will need a target server, so here is an example of a simple command you can try out on one of your hosts. Throughout this article I will be using my own home lab to run these commands.</p>
<p><code>$ vicfg-nics -l --server esx01.home.lab</code> (Always use the FQDN of your host)</p>
<p>It will prompt you for a username and password that you can use to authenticate against this host, for our example we are using root. You will then see your NIC&#8217;s listed:</p>
<p><code>Name    PCI     Driver     Link Speed    Duplex MAC Address        MTU    Description<br />
vmnic0  02:00.0 e1000      Up   1000Mbps Full   00:50:56:a5:00:07  1500   Intel Corporation PRO/1000 MT Single Port Adapter<br />
vmnic1  02:02.0 e1000      Up   1000Mbps Full   00:50:56:a5:00:03  1500   Intel Corporation PRO/1000 MT Single Port Adapter</code></p>
<p>As you can see this is a really easy way of managing your ESX hosts, but another feature you should be aware of is the vi-fastpass which allows you to add your hosts and vcenter server with the associated passwords. With vi-fastpass you can run the <code>vicfg </code>commands without being prompted each time. Very slick.</p>
<p>To use vi-fastpass you need to add the hosts you wish to manage using the vifp addserver command:</p>
<p><code>$ vifp addserver</code></p>
<p>Next you need to set your target using the vifptarget command:</p>
<p><code>$ vifptarget -s esx01.home.lab</code></p>
<p><strong>Note: </strong>The vifptarget command has replaced vifpinit. Watch out for this if you are studying for your VCAP-DCA exam.</p>
<p>You&#8217;ll notice that the shell prompt now has the hostname of your target host, very useful if you forget which target you last set!</p>
<p><code>[vi-admin@vma ~][esx01] $</code></p>
<p>If you run the <code>vicfg-nics -l </code>command again you won&#8217;t be prompted for the root password.</p>
<h4><strong>Session Files</strong></h4>
<p>Another method of storing the host credentials is with session files. I personally don&#8217;t use this because I prefer vi-fastpass, but it is good to understand how it works. Firstly, change directory to <code>/usr/share/doc/vmware-vcli/samples/session</code> and you&#8217;ll see three Perl scripts:</p>
<p><code>$ cd /usr/share/doc/vmware-vcli/samples/session<br />
$ ll</code></p>
<p><code> </code></p>
<p><code>-r-xr-xr-x 1 root root  782 Apr  8  2010 load_session.pl<br />
-r-xr-xr-x 1 root root 2624 Apr  8  2010 multisession.pl<br />
-r-xr-xr-x 1 root root  888 Apr  8  2010 save_session.pl</code></p>
<h4><strong>Creating a host session</strong></h4>
<p><code># ./save_session.pl --server esx01.home.lab --username root --password Password --savesessionfile /home/vi-admin/esx01.session</code></p>
<p>The above command will create a file in <code>/home</code> called <code>esx1.session</code> and stores the credentials for that host. It doesn&#8217;t store the password in plain text, and it only lasts for 30 minutes unlike vi-fastpass.</p>
<p>To test your session file, first make sure your vifptarget is clear then run the vicfg-nics command using the session file:</p>
<p><code>$ vifptarget -c<br />
$ vicfg-nics -l --sessionfile /home/vi-admin/esx01.session</code></p>
<p>The command should run without prompting you for a password.</p>
<h4><strong>Summary</strong></h4>
<p>Now that you can see how easy it is to get started with vMA, I recommend that you download the documentation from VMware and experiment with different commands. In addition to adding ESX/ESXi hosts with <code>vifp addserver</code>, you can also add vCenter servers. To display a list of your servers use <code>vifp listservers</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1268/vmware-vma-introduction-to-the-vsphere-management-assistant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VMware releases new vCloud technology training courses</title>
		<link>http://www.rayheffer.com/1261/vmware-releases-new-cloud-technology-training-courses/</link>
		<comments>http://www.rayheffer.com/1261/vmware-releases-new-cloud-technology-training-courses/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 15:39:58 +0000</pubDate>
		<dc:creator>Ray Heffer</dc:creator>
				<category><![CDATA[Business & IT]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vcloud]]></category>
		<category><![CDATA[vcloud director]]></category>
		<category><![CDATA[vcp]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.rayheffer.com/?p=1261</guid>
		<description><![CDATA[I have just received an email from VMware Education Services highlighting the new VMware vCloud training courses that are now available. If you are new to VMware then they offer a 1-day vCloud Overview course (see below),  for seasoned VCP&#8217;s they offer a more advanced 3-day course Architecting the VMware vCloud, in addition to other [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.rayheffer.com%2F1261%2Fvmware-releases-new-cloud-technology-training-courses%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.rayheffer.com_2F1261_2Fvmware-releases-new-cloud-technology-training-courses_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.rayheffer.com%2F1261%2Fvmware-releases-new-cloud-technology-training-courses%2F&amp;source=rayheffer&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I have just received an email from VMware Education Services highlighting the new VMware vCloud training courses that are now available. If you are new to VMware then they offer a 1-day vCloud Overview course<strong> </strong>(see below),  for seasoned VCP&#8217;s they offer a more advanced 3-day course Architecting the VMware vCloud, in addition to other courses and e-learning available.<br />
<span id="more-1261"></span><br />
<strong>VMware vCloud: Overview</strong></p>
<p>Take this one-day course to learn about the features and benefits of VMware vCloud™ and how it delivers IT services in the Cloud. Students perform hands-on labs and the instructors demonstrate the basics of how the vCloud solution abstracts, allocates and meters IT resources in a vCloud environment.</p>
<p>[<a href="http://mylearn.vmware.com/mgrreg/courses.cfm?ui=www_edu&amp;a=one&amp;id_subject=20974" target="_blank" onclick="pageTracker._trackPageview('/outgoing/mylearn.vmware.com/mgrreg/courses.cfm?ui=www_edu_amp_a=one_amp_id_subject=20974&amp;referer=');">Full Details</a>]</p>
<p><strong>VMware vCloud: Architecting the VMware Cloud [V1]</strong></p>
<p>If you want in-depth, hands-on training on designing and implementing a VMware vCloud, attend VMware vCloud: Architecting the VMware vCloud. Students must have VCP-level knowledge of vSphere, so this class isn’t for beginners!</p>
<p><a href="http://app.connect.vmware.com/e/er.aspx?s=524&amp;lid=13314&amp;elq=8c1f2a8f305d411b872a7901e58ffc16" target="_blank" onclick="pageTracker._trackPageview('/outgoing/app.connect.vmware.com/e/er.aspx?s=524_amp_lid=13314_amp_elq=8c1f2a8f305d411b872a7901e58ffc16&amp;referer=');">[Full Details]</a></p>
<p>Head over to <a href="http://mylearn.vmware.com/mgrreg/index.cfm" target="_blank" onclick="pageTracker._trackPageview('/outgoing/mylearn.vmware.com/mgrreg/index.cfm?referer=');">VMware Education Services</a> to see the full range of training available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rayheffer.com/1261/vmware-releases-new-cloud-technology-training-courses/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
