<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6860431603789200875</id><updated>2011-11-27T16:53:30.657-08:00</updated><category term='CPU masking'/><category term='sVmotion'/><category term='Service Console'/><category term='Server 2003'/><category term='High Availability'/><category term='installation'/><category term='vmware'/><category term='IO'/><category term='SQL Server'/><category term='disk'/><category term='ESX'/><category term='ports'/><category term='bash'/><category term='networking'/><category term='partitioning'/><category term='Resource Management'/><category term='HA'/><category term='bash script'/><category term='vMotion'/><category term='power chute'/><category term='Virtual Center'/><category term='Resource Pools'/><category term='shutdown'/><category term='script'/><category term='RDM'/><category term='performance'/><category term='SAN'/><category term='firewall'/><title type='text'>vm0 - Virtualization Resources</title><subtitle type='html'>A VMWare blog focused mainly on offering specific how to's and best practices.  Information given will be helpful to new VMWare administrators as well as some seasoned pros.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-1798206148617125345</id><published>2009-01-16T16:06:00.000-08:00</published><updated>2009-01-16T16:09:06.950-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='partitioning'/><category scheme='http://www.blogger.com/atom/ns#' term='disk'/><category scheme='http://www.blogger.com/atom/ns#' term='ESX'/><category scheme='http://www.blogger.com/atom/ns#' term='SAN'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='IO'/><title type='text'>Partition Alignment in ESX 3</title><content type='html'>I came across &lt;a href="http://www.vmware.com/pdf/esx3_partition_align.pdf"&gt;this article &lt;/a&gt;today while doing some research on using dd in a vmfs environment on partition alignment in ESX server.  If you aren't familiar with the issues that can be caused by partition misalignment, it is most definitely a worthwhile read.  If your head starts spinning in the first couple of sections and you feel like it's not worth the trouble, skip ahead to the benchmarking section at the end and I'm sure you'll reconsider.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-1798206148617125345?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/1798206148617125345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=1798206148617125345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/1798206148617125345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/1798206148617125345'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2009/01/partition-alignment-in-esx-3.html' title='Partition Alignment in ESX 3'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-3520265950233841808</id><published>2009-01-09T10:12:00.000-08:00</published><updated>2009-01-09T10:20:29.557-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='ESX'/><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Console'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Why Your Virtual Infrastructure Network Should Be Segmented</title><content type='html'>When architecting a Virtual Infrastructure, networking is one of your most important concerns.  Dropping 50 servers into 5 buckets creates new IO and security concerns.  Here is how we have implemented this and had good results:&lt;br /&gt;&lt;br /&gt;1) Service Console vLAN - Having a separate vLAN for your service consoles not only brings up the level of security around them, but ensures that your ESX to ESX pings for high availability cannot be bogged down by other network traffic.&lt;br /&gt;&lt;br /&gt;2) vMotion Physically Segmented - The obvious reason for this is to improve performance.  Running a vMotion or an svMotion sends an enormous amount of data over the network.  So as to not impact the performance of other applications on your network and to get the best throughput possible in your migrations, having this physically separate is key.&lt;br /&gt;&lt;br /&gt;The less obvious reason for this is security.  When a vMotion is happening, the raw contents of a VM's memory are sent across the network.  Should a malicious party be listening on this vLAN, they would be able to read the entire memory contents of your server.  If you have any type of sensitive data being processed on that server, this creates an additional point of exposure.&lt;br /&gt;&lt;br /&gt;3) Virtual Machine Network - In our case, we use the same vLAN for our VMs that we use for our physical servers.&lt;br /&gt;&lt;br /&gt;4) Storage Network - If you will be using iSCSI or NFS on the back end, it makes sense to segment this out at least virtually if not physically to be able to ensure proper performance of your storage devices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-3520265950233841808?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/3520265950233841808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=3520265950233841808' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/3520265950233841808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/3520265950233841808'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2009/01/why-your-virtual-infrastructure-network.html' title='Why Your Virtual Infrastructure Network Should Be Segmented'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-1476839793233912489</id><published>2009-01-02T13:55:00.000-08:00</published><updated>2009-01-02T14:01:58.498-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sVmotion'/><category scheme='http://www.blogger.com/atom/ns#' term='SAN'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Center'/><title type='text'>A GUI for sVmotion</title><content type='html'>A couple of days ago, I downloaded and installed a VI Client plugin for Storage vMotion which makes utilizing Storage vMotion as easy as a standard vMotion migration. David Davis over at &lt;a href="http://www.virtualizationadmin.com/articles-tutorials/vmware-esx-articles/vmotion-drs-high-availability/storage-vmotion-svmotion-vi-plugin.html"&gt;VirtualizationAdmin.com&lt;/a&gt; has written up a nice little guide on installing and using this plugin. It was written by Andrew Kutz and is provided free of charge on his &lt;a href="http://code.google.com/p/akutz/downloads/list"&gt;Google Code&lt;/a&gt; page.  The only gripe I have is that I was unable to use it to locate my vmdks and vmx files on separate SAN LUNs.  I find this especially useful in the case of something like a database where I may want a vmdk on RAID 5 for my data files and a separate VMDK on RAID 10 for my transaction logs.  If anyone knows of a slick GUI that supports this functionality, I'd appreciate the tip.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-1476839793233912489?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/1476839793233912489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=1476839793233912489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/1476839793233912489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/1476839793233912489'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2009/01/gui-for-svmotion.html' title='A GUI for sVmotion'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-6364386157098480131</id><published>2008-12-31T12:44:00.000-08:00</published><updated>2008-12-31T13:20:41.337-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Center'/><category scheme='http://www.blogger.com/atom/ns#' term='vMotion'/><category scheme='http://www.blogger.com/atom/ns#' term='CPU masking'/><title type='text'>CPU Masking</title><content type='html'>&lt;div&gt;Several months ago, I ended up in an unfortunate situation. We invested a sizeable amount of money on a powerhouse server to add to our ESX cluster. While the server was the same model as the rest of the machines in our cluster, the vendor had added SSSE3 support to this latest revision, something I was not aware of at the time of purchase. The end result of adding these new instructions to the cluster was vMotion incompatibility between this server and our other ESX hosts.&lt;br /&gt;&lt;br /&gt;While not supported by VMWare, CPU masking is a feature available in Virtual Center that will allow you to overcome situations like this. While in my case, SSE3 servers to an SSSE3 server, compatibility certainly cannot be guaranteed in these situations and I must emphasize that you proceed with caution. In addition, if the differences in my CPU's were more profound (say AMD vs. Intel), I would never attempt this, especially in a production environment.&lt;br /&gt;&lt;br /&gt;In some situations, Enhanced vMotion will allow you to overcome minor CPU differences and I would certainly recommend that as a first attempt. You will need to be running at least Virtual Center 2.5 Update 2 and ESX 3.5 Update 2 to enable this. You will also need to recreate your cluster. You can find information on EVC as well as supported processors in &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1003212&amp;amp;sliceId=1&amp;amp;docTypeID=DT_KB_1_1&amp;amp;dialogID=12650211&amp;amp;stateId=1%200%2012648541"&gt;KB 1003212&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;VMWare outlines the process of CPU masking in &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1993"&gt;KB 1993&lt;/a&gt;. In my case, I wanted to mask only the needed instruction sets and it took a little while to figure out exactly which combination of masks to use between each of the registers leveraged. The end result was to navigate to C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter and edit the vpxd.cfg XML configuration file. The section of text below was all that was needed to accomodate the differences between these processors. Sorry for the screenshot, but formatting XML for web presentation is a pain... &lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_yoYOPbn-LEM/SVvhqWmMcAI/AAAAAAAAAAU/Rc-hs7fUTJE/s1600-h/screenshot.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5286066705385943042" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand; HEIGHT: 250px" alt="" src="http://3.bp.blogspot.com/_yoYOPbn-LEM/SVvhqWmMcAI/AAAAAAAAAAU/Rc-hs7fUTJE/s400/screenshot.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_yoYOPbn-LEM/SVvhf8yLRKI/AAAAAAAAAAM/5p_pdNtiiCU/s1600-h/screenshot.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-6364386157098480131?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/6364386157098480131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=6364386157098480131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/6364386157098480131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/6364386157098480131'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/12/cpu-masking.html' title='CPU Masking'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yoYOPbn-LEM/SVvhqWmMcAI/AAAAAAAAAAU/Rc-hs7fUTJE/s72-c/screenshot.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-4170945529944883241</id><published>2008-12-30T12:33:00.001-08:00</published><updated>2008-12-30T12:41:36.956-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDM'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='partitioning'/><category scheme='http://www.blogger.com/atom/ns#' term='ESX'/><category scheme='http://www.blogger.com/atom/ns#' term='SAN'/><category scheme='http://www.blogger.com/atom/ns#' term='Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Adding Raw Device Mappings for Maximum Performance</title><content type='html'>We know that adding an RDM to your SQL and Exchange hosts can have an enormous impact on IO performance.  In addition, under Windows Server guests prior to Server 2008, the partition must be properly aligned when accessing a RAID volume in order to achieve maximum performance.  This is due to the fact that with a physical disk that maintains 64 sectors per track, Windows always creates the partition starting at the sixty-forth sector, therefore misaligning it with the underlying physical disk.  In some cases, aligning a partition can boost IO performance by up to 50 percent!  Here is a step by step guide to creating, attaching and aligning an RDM partition in ESX 3.5 on Server 2003.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Attaching a Raw Device Mapping&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1.       Log on to your SAN and create your LUN.  Make this LUN available to all ESX hosts in your cluster.  The steps needed to do this will vary by SAN and Fibre switch, so consult your vendor’s documentation for more info.&lt;br /&gt;2.       Log in to Virtual Infrastructure Client and connect to your Virtual Center instance.&lt;br /&gt;3.       Click on an ESX host and choose the Configuration tab.&lt;br /&gt;4.       Click on Storage adapters and rescan for new storage devices.  Your new LUNs should show up.  You do NOT want to create a VMFS here.&lt;br /&gt;5.       Repeat this procedure for each ESX host in your cluster.&lt;br /&gt;6.       Right click on the guest OS that you will be attaching the RDM to and click on Edit Settings.&lt;br /&gt;7.       Click Add in the hardware tab, choose Hard Disk and then Raw Device mapping.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Adding your new disk to the guest OS&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1.       Log on to your guest OS and launch Device Manager.&lt;br /&gt;2.       Scan for hardware changes.&lt;br /&gt;3.       Open Disk Management and initialize the new disk.  Do not create a partition at this time.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Adding a properly aligned partition to the RDM&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1. Log on to the server.&lt;br /&gt;2. Type &lt;span style="color:#3366ff;"&gt;diskpart&lt;/span&gt; at the command line to launch the diskpart utility.&lt;br /&gt;3. Type list disk to see a list of disks present.  For my example, I will be creating a partition on Disk 2 and it will be the only partition on this disk.&lt;br /&gt;4. Type &lt;span style="color:#3366ff;"&gt;select &lt;your&gt;&lt;/span&gt;.  In my example, you would type &lt;span style="color:#3366ff;"&gt;SELECT Disk 2&lt;/span&gt;.&lt;br /&gt;5. Type &lt;span style="color:#3366ff;"&gt;create partition primary align=64&lt;/span&gt; to create a primary partition that takes up the entire disk.  You can use the size keyword if you are creating more than one partition on the disk.&lt;br /&gt;6. After you have finished here, you will need to go in to Disk Management, format the partition and assign it a drive letter as you would normally.&lt;br /&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-4170945529944883241?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/4170945529944883241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=4170945529944883241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/4170945529944883241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/4170945529944883241'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/12/adding-raw-device-mappings-for-maximum.html' title='Adding Raw Device Mappings for Maximum Performance'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-4428733254048931147</id><published>2008-12-03T16:22:00.000-08:00</published><updated>2008-12-04T11:54:25.754-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='ESX'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Resource Management'/><title type='text'>Running SQL Server on ESX</title><content type='html'>There is currently a lot of debate going on about whether or not you should be running SQL server or Exchange on ESX. Rather than jump into the middle of this debate, I'll offer the best way that you could possibly run a high performance SQL server on virtual hardware.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I/O&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I/O is by and large the biggest concern when running a database on an ESX cluster. Your main concern here is going to be ensuring that your database files are not impacted by I/O operations on your other VMs. We can ensure this through Raw Device Mappings.&lt;br /&gt;&lt;br /&gt;Generally, for a high-performance database, you'll want your data files, log files, tempdb and program/OS/backup files to all live on separate spindles. To accomplish this, we do the following:&lt;br /&gt;&lt;br /&gt;Data Files - RAID5 or RAID10 (RAID5 is more economical but you will suffer a hit on write performance).&lt;br /&gt;&lt;br /&gt;Log Files - RAID10&lt;br /&gt;&lt;br /&gt;TempDB - RAID10&lt;br /&gt;&lt;br /&gt;OS/Program Files/Backup/File Share - This can be run from a standard VMDK.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;In addition to I/O, memory is very important. If a database server has sufficient memory, it will not need to go to disk for its data as often, vastly improving performance. To be absolutely sure that your server receives sufficient memory, you can set your memory reservation equal to the amount of memory given to your VM. This will ensure that ESX never swaps out active memory from your database and that the SQL query optimizer can make accurate predictions about hardware performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CPU&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;On my key instances, CPU has never been much of a bottleneck, so I generally treat this as I would with any other VM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-4428733254048931147?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/4428733254048931147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=4428733254048931147' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/4428733254048931147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/4428733254048931147'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/12/running-sql-server-on-esx.html' title='Running SQL Server on ESX'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-5468611749733299749</id><published>2008-11-24T13:15:00.000-08:00</published><updated>2008-11-24T13:32:41.721-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='partitioning'/><category scheme='http://www.blogger.com/atom/ns#' term='ESX'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Console'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>ESX Partitioning</title><content type='html'>While most of the defaults in an ESX installation will be fine, I always take the time to edit the partition scheme.  Since most new servers will come with drives no smaller than 60GB and I'll be storing all of my VMDKs on shared storage, there's no reason to not allocate extra space to places that will use it.  Here is my usual breakdown:&lt;br /&gt;&lt;br /&gt;/boot - 100MB - ext3 - The default is fine here.&lt;br /&gt;&lt;br /&gt;/ - 10GB - ext3 - If you ever want to update your Service Console, it's nice to have some extra space available.&lt;br /&gt;&lt;br /&gt;(none) - 1600MB - swap - The service console can access a maximum of 800MB of RAM.  Your swap file should always be at least twice the size of memory being used.  Since this partition cannot be resized without doing a reinstall, I always set it to the max in case I need to allocate more memory to the SC down the road a bit.&lt;br /&gt;&lt;br /&gt;/var/log - 2GB - ext3 - Having a separate partition for your logs prevents them from filling up your root partition in the case of system issues.&lt;br /&gt;&lt;br /&gt;(none) - 100MB - vmkcore - While this is optional, it holds the kernel dump if you have a Purple Screen of Death.  When you call VMWare support in such a case, they will want to look at the contents held here.&lt;br /&gt;&lt;br /&gt;/home - ? - ext3 - If you plan on storing scripts and other such files on your ESX server, you may want to carve out an extra home partition.&lt;br /&gt;&lt;br /&gt;/vmfs/volumes/xyz - ? - vmfs-3 - Any leftover space can be set aside as a spare VMFS volume.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-5468611749733299749?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/5468611749733299749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=5468611749733299749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/5468611749733299749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/5468611749733299749'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/esx-partitioning.html' title='ESX Partitioning'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-2177084382594812412</id><published>2008-11-19T14:33:00.000-08:00</published><updated>2008-11-19T14:37:39.815-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ports'/><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>VMWare Network Communications Diagram</title><content type='html'>If you have a segmented network, as you probably should, where your ESX/Virtual Center/vMotion/Storage traffic has to pass through a firewall, you've had to comb through various documents to track down which ports need to be opened to allow various types of communication to be passed around. Jason Boche has posted an easy to read PDF that ties it all together for you here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.boche.net/blog/?p=323"&gt;http://www.boche.net/blog/?p=323&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://vmetc.com/2008/11/06/vmware-vi-35-port-diagram/"&gt;VM/ETC &lt;/a&gt;for bringing this to my attention.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-2177084382594812412?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/2177084382594812412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=2177084382594812412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/2177084382594812412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/2177084382594812412'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/vmware-network-communications-diagram.html' title='VMWare Network Communications Diagram'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-7856346378676571763</id><published>2008-11-10T14:51:00.000-08:00</published><updated>2008-11-10T15:04:27.415-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='High Availability'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Center'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='HA'/><category scheme='http://www.blogger.com/atom/ns#' term='Resource Pools'/><category scheme='http://www.blogger.com/atom/ns#' term='Resource Management'/><title type='text'>How Virtual Center Calculates HA Failover Capacity</title><content type='html'>From the Resource Management Guide:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"HA plans for a worst‐case failure scenario. When computing required failover capacity, HA calculates the maximum memory and CPU reservations needed for any currently powered on virtual machine and calls this a slot.... HA determines how many slots can “fit” into each host based on the host’s CPU and memory capacity. HA then determines how many hosts could fail with the cluster still having at least as many slots as powered on virtual machines. This number is the current failover level."&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;What this means is, if I have one really powerful VM on my cluster (say 4vCPU and 4GB RAM reservation), VC will calculate ALL of my VMs as being this powerful when determining failover capacity, even if all of the other VMs are 1vCPU and have a low memory reservation. Since the calculated failover capacity will obviously be much lower than what I can actually run on, I opted for a workaround.&lt;br /&gt;&lt;br /&gt;1) Set Admission Control to allow VMs to power on even if they violate availability constraints.&lt;br /&gt;&lt;br /&gt;2) Create a non-expandable resource pool with unlimited access to resources. Set the reservations for CPU and memory to be the sum of all of your remaining hosts should your highest resource machine die. Take the following example:&lt;br /&gt;&lt;br /&gt;ESX1 - 2 x 2.4GHz, 24GB RAM&lt;br /&gt;ESX2 - 2 x 2.4GHz, 32GB RAM&lt;br /&gt;ESX3 - 4 x 2.4GHz, 24GB RAM&lt;br /&gt;&lt;br /&gt;My resource pool reservation would be set to 4 x 2.4GHz (my two lowest CPU producers) and 48GB RAM (my two lowest memory producers). Make sure to adjust these numbers down to allow overhead for the host.&lt;br /&gt;&lt;br /&gt;3) Make sure to add all VM's to this resource pool and keep your reservations up to date.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-7856346378676571763?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/7856346378676571763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=7856346378676571763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/7856346378676571763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/7856346378676571763'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/how-virtual-center-calculates-ha.html' title='How Virtual Center Calculates HA Failover Capacity'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-8388360745459368479</id><published>2008-11-07T12:11:00.000-08:00</published><updated>2008-11-07T12:15:43.982-08:00</updated><title type='text'>Adding AD Integration to ESX 3.x</title><content type='html'>While most administration on ESX servers is done through Virtual Center, there are some tasks that still must be run directly from the service console.  Furthermore, if your environment isn't large enough to justify running Virtual Center, sometimes the ESX host is your only option for administration.  These instructions will allow you to authenticate through your Active Directory infrastructure so that you don't have to manage a parallel set of usernames and passwords.&lt;br /&gt;&lt;br /&gt;run the following command for each user you're adding:&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;useradd &lt;ad&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;edit /etc/pam.d/vmware-authd and insert at the beginning of the file:&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;auth       sufficient            pam_krb5.so use_first_pass&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;run the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;esxcfg-auth --enablead --addc=&lt;your&gt;.com --addomain=&lt;your&gt;.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;run &lt;span style="color:#3333ff;"&gt;more /etc/krb5.conf&lt;/span&gt; to verify the results of your work.&lt;br /&gt;&lt;br /&gt;Make sure that the date is set correctly on the ESX server or you will not be able to log in.  Type &lt;span style="color:#3333ff;"&gt;date&lt;/span&gt; to check.&lt;br /&gt;&lt;br /&gt;when changing the date use the following command specifying military time:&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;date MMDDTTTTYYYY&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-8388360745459368479?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/8388360745459368479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=8388360745459368479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/8388360745459368479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/8388360745459368479'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/adding-ad-integration-to-esx-3x.html' title='Adding AD Integration to ESX 3.x'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-9043174380991699060</id><published>2008-11-06T12:55:00.000-08:00</published><updated>2008-11-06T12:57:31.156-08:00</updated><title type='text'>Installing the VMWare Infrastructure Remote CLI for sVmotion</title><content type='html'>When my Virtual Infrastructure finally grew to a state in which I had a few different VMFSes spread across several SAN LUNs, it became time to get my feet wet with Storage vMotion.  Here’s how to download, install, and utilize the VMWare Infrastructure Remote CLI virtual appliance which has everything needed in order to utilize this feature from one centralized location.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;br /&gt;- Go to &lt;a href="http://www.vmware.com/download/vi/drivers_tools.html"&gt;http://www.vmware.com/download/vi/drivers_tools.html&lt;/a&gt; and click on the Download link under Vmware Infrastructure Remote CLI.&lt;br /&gt;- You must have an account on the VMWare website to proceed.&lt;br /&gt;- Agree to the license agreement and download the zip file for the Virtual Appliance.  At the time of download, this file was 258MB.  After unpacked and imported, it will take up 4GB on your VMFS volume.&lt;br /&gt;- Unzip the file to a location on your desktop.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;br /&gt;- Using your VI client, connect to your Virtual Center.&lt;br /&gt;- In the inventory pane, click on the host where you’d like to keep the virtual appliance.&lt;br /&gt;- From the File menu, select Virtual Appliance – Import.&lt;br /&gt;- Choose Import from file and browse to the OVF file that you decompressed.&lt;br /&gt;- Choose your VM name, location and datastore to proceed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Running the RCLI VM&lt;/strong&gt;&lt;br /&gt;- Select the Virtual Machine in your inventory and power it on.&lt;br /&gt;- At first boot, you will be prompted to agree to the Perl toolkit license agreement, set a root password and set up networking.&lt;br /&gt;- You’re ready to go!  To download the Remote Command-Line Interface Installation and Reference Guide, go to &lt;a href="http://www.vmware.com/download/vi/drivers_tools.html"&gt;http://www.vmware.com/download/vi/drivers_tools.html&lt;/a&gt; and click on Documentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-9043174380991699060?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/9043174380991699060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=9043174380991699060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/9043174380991699060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/9043174380991699060'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/installing-vmware-infrastructure-remote.html' title='Installing the VMWare Infrastructure Remote CLI for sVmotion'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-3322138747975553655</id><published>2008-11-05T12:30:00.000-08:00</published><updated>2008-11-05T12:37:37.435-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESX'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='bash script'/><category scheme='http://www.blogger.com/atom/ns#' term='power chute'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='shutdown'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>ESXKILL Shutdown Script</title><content type='html'>A little while back, I was looking into getting Power Chute set up for our ESX hosts. The unfortunate news is that APC does not yet support ESX 3.5 U2. While researching this, I came across a script to shut down all guest OSes and then an ESX host, though, which I have slightly modified and deployed to all of my ESX hosts. The original can be found at &lt;a href="http://www.tooms.dk/"&gt;http://www.tooms.dk/&lt;/a&gt; By copying the script to a location that can be accessed in my PATH, I can quickly log on to each server in the case of disaster and type 'esxkill". This will usually shut everything down gracefully in 5-10 minutes. Here's the syntax:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;#####################################################################&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# UPS shutdown script for VMware ESX 3.5 U1&lt;br /&gt;#&lt;br /&gt;# 20060911 First version by tooms@tooms.dk&lt;br /&gt;# 20081006 Revised by ian.reasor@gmail.com&lt;br /&gt;#####################################################################&lt;br /&gt;# Set PATH variable to the location of ESX utilities&lt;br /&gt;PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"&lt;br /&gt;#####################################################################&lt;br /&gt;# Attempt a graceful shutdown through VMWare Tools&lt;br /&gt;count_vm_on=0&lt;br /&gt;for vm in `vmware-cmd -l` ; do&lt;br /&gt;#echo "VM: " $vm&lt;br /&gt;for VMstate in `vmware-cmd "$vm" getstate` ; do&lt;br /&gt;#echo $VMstate&lt;br /&gt;# If the VM is power ON&lt;br /&gt;if [ $VMstate = "on" ] ; then&lt;br /&gt;echo " "&lt;br /&gt;echo "VM: " $vm&lt;br /&gt;echo "State: is on and will now shut down"&lt;br /&gt;echo "Shutting down: " $vm&lt;br /&gt;vmware-cmd "$vm" stop trysoft&lt;br /&gt;vmwarecmd_exitcode=$(expr $?)&lt;br /&gt;if [ $vmwarecmd_exitcode -ne 0 ] ; then&lt;br /&gt;echo "exitcode: $vmwarecmd_exitcode so will now power off"&lt;br /&gt;vmware-cmd "$vm" stop hard&lt;br /&gt;fi&lt;br /&gt;count_vm_on=$count_vm_on+1&lt;br /&gt;sleep 2&lt;br /&gt;# if the VM is power OFF&lt;br /&gt;elif [ $VMstate = "off" ] ; then&lt;br /&gt;echo " "&lt;br /&gt;echo "VM: " $vm&lt;br /&gt;echo "State: is already powered off"&lt;br /&gt;# if the VM is power suspended&lt;br /&gt;elif [ $VMstate = "suspended" ] ; then&lt;br /&gt;echo " "&lt;br /&gt;echo "VM: " $vm&lt;br /&gt;echo "State: is already suspended"&lt;br /&gt;# if state is getstate or =&lt;br /&gt;else&lt;br /&gt;printf ""&lt;br /&gt;#echo "unknown state: " $VMstate&lt;br /&gt;fi&lt;br /&gt;done&lt;br /&gt;done&lt;br /&gt;########################################################################&lt;br /&gt;# wait for up to 5 min for VMs to shut down&lt;br /&gt;#&lt;br /&gt;if [ $count_vm_on = 0 ] ; then&lt;br /&gt;echo " "&lt;br /&gt;echo "All VMs are powered off or suspended"&lt;br /&gt;else&lt;br /&gt;echo " "&lt;br /&gt;vm_time_out=300&lt;br /&gt;count_vm_on=0&lt;br /&gt;echo "Waiting for VMware virtual machines."&lt;br /&gt;for (( second=0; second&lt;$vm_time_out; second=second+5 )); do sleep 5 printf "." count_vm_on=0 for vm in `vmware-cmd -l` ; do for VMstate in `vmware-cmd "$vm" getstate` ; do if [ $VMstate = "on" ] ; then count_vm_on=$(expr $count_vm_on + 1) fi done done if [ $count_vm_on = 0 ] ; then #echo "exit for" break fi done #echo $VMstate fi #echo $count_vm_on ##################################################################### # Check to see if all VMs are off and if not then power them down for vm in `vmware-cmd -l` ; do #echo "VM: " $vm for VMstate in `vmware-cmd "$vm" getstate` ; do # If the VM is power ON if [ $VMstate = "on" ] ; then echo " " echo "VM: " $vm echo "it is still on but will now be powered off" vmware-cmd "$vm" stop hard sleep 2 fi done done ##################################################################### # Shutdown ESX Host echo " " echo "All VM's have been successfully shut down, halting ESX Host" echo " " shutdown -h now&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-3322138747975553655?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/3322138747975553655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=3322138747975553655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/3322138747975553655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/3322138747975553655'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/esxkill-shutdown-script.html' title='ESXKILL Shutdown Script'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-8954150287162332947</id><published>2008-11-03T11:38:00.001-08:00</published><updated>2008-11-03T11:44:39.473-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Center'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Virtual Center Performance Reporting</title><content type='html'>While Virtual Center provides a great performance monitoring interface to gain some insight into VM resource consumption, I wanted a way to automatically get a run down of my VM's memory and CPU utilization e-mailed to me on a weekly basis.  This is especially useful when setting resource pool reservations.  If you would like to do the same for your VC database, you'll need to set up database mail on your SQL server and create a SQL Server Agent job to run each of the following scripts.  Set up a schedule and you're on your way!&lt;br /&gt;&lt;br /&gt;Script 1: Memory Utilization&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;EXEC msdb.dbo.sp_send_dbmail@recipients = &lt;/span&gt;&lt;a href="mailto:"&gt;&lt;span style="color:#3366ff;"&gt;'yourname@yourdomain.com'&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#3366ff;"&gt;, @subject = 'Virtual Center Memory Utilization Report',@body_format = 'HTML',@body = 'Here are some memory utilization metrics for the last month.',@query = ' USE VirtualCenter select  vms.NAME as ''VIRTUAL_MACHINE'' , (AVG(STAT_VALUE)/10000) as ''MEMORY_PERCENT''&lt;br /&gt;into #STAT_REPORT_TEMPfrom dbo.VPXV_HIST_STAT_YEARLY&lt;br /&gt;JOIN VPXV_VMS vmsON SUBSTRING([ENTITY] ,4 , 4) = vms.VMID&lt;br /&gt;where stat_group = ''mem''and entity like ''vm%''and sample_time &gt; (getdate() - 30)&lt;br /&gt;group by vms.NAME&lt;br /&gt;go&lt;br /&gt;select VIRTUAL_MACHINE as ''Virtual Machine'' , MEMORY_PERCENT * vm.MEM_SIZE_MB as ''Memory Usage in MB''&lt;br /&gt;from #STAT_REPORT_TEMP stat&lt;br /&gt;JOIN VPXV_VMS vmsON VIRTUAL_MACHINE = vms.NAME&lt;br /&gt;JOIN VPX_VM vmON vms.VMID = vm.ID&lt;br /&gt;ORDER BY VIRTUAL_MACHINE&lt;br /&gt;go&lt;br /&gt;drop table #STAT_REPORT_TEMP',@attach_query_result_as_file = 1,@query_attachment_filename = 'Virtual Machine Memory Stats.xls'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Script 2: CPU Utilization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;EXEC msdb.dbo.sp_send_dbmail@recipients = &lt;/span&gt;&lt;a href="mailto:"&gt;&lt;span style="color:#3366ff;"&gt;'yourname@yourdomain.com'&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#3366ff;"&gt;, @subject = 'Virtual Center CPU Utilization Report',@body_format = 'HTML',@body = 'Here are some CPU utilization metrics for the last month.',@query = ' USE VirtualCenter select  vms.NAME as ''VIRTUAL_MACHINE'' , (AVG(STAT_VALUE)) as ''CPU_USAGE''&lt;br /&gt;from dbo.VPXV_HIST_STAT_YEARLY&lt;br /&gt;JOIN VPXV_VMS vmsON SUBSTRING([ENTITY] ,4 , 4) = vms.VMID&lt;br /&gt;where STAT_NAME = ''usagemhz''and entity like ''vm%''and sample_time &gt; (getdate() - 30)&lt;br /&gt;group by vms.NAMEorder by vms.NAME',@attach_query_result_as_file = 1,@query_attachment_filename = 'Virtual Machine CPU Stats.xls'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Each of these scripts takes an average for each metric over the last month but if you prefer, you could edit these to use a different time frame.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-8954150287162332947?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/8954150287162332947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=8954150287162332947' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/8954150287162332947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/8954150287162332947'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/virtual-center-performance-reporting.html' title='Virtual Center Performance Reporting'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6860431603789200875.post-6013529902914579816</id><published>2008-11-01T18:54:00.001-07:00</published><updated>2008-11-01T18:55:44.516-07:00</updated><title type='text'>Blog Launch</title><content type='html'>As I have learned about virtualization over the last year, a bunch of blogs out there helped to point me in the right direction.  Now that I have gotten my feet wet and am starting to learn some tricks of my own, I decided to launch this blog as a space to share them.  I hope that you find the content helpful and would love to hear your feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6860431603789200875-6013529902914579816?l=vm0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vm0.blogspot.com/feeds/6013529902914579816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6860431603789200875&amp;postID=6013529902914579816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/6013529902914579816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6860431603789200875/posts/default/6013529902914579816'/><link rel='alternate' type='text/html' href='http://vm0.blogspot.com/2008/11/blog-launch.html' title='Blog Launch'/><author><name>Ian Reasor</name><uri>http://www.blogger.com/profile/05961345013343186514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
