2010-05-30

VCDX4-DCD – Out, VCDX4 – In!

Duncan pointed out to today on the VCDX forum that they have changed the name.

What was once – the VCDX4-DCD:

image

Is now – the VCDX4:

image

Check out the VMware official page for more info.

I for one am pleased with the change… :)

2010-05-27

VMworld Sessions - Most Popular Track

No I do not have a crystal ball. I am not a magician, and also not a fortune teller.

A large number of sessions were submitted for VMWorld.

Now I do not know how many were submitted - but I can tell you how many were up for voting in each track.

How did I come by these numbers? I spent an evening counting each line (NOT!)

But then I can't give away all my trade secrets can I? :)

 

Track

# of Submissions

Technology and Architecture

145

Enterprise Applications

104

Private Cloud - Management

99

Desktop Virtualization

94

Virtualization 101

72

Hybrid and Public Cloud

63

Private Cloud - Business Continuity

57

Private Cloud Security

24

 

My conclusions from the list of submissions:

  • Security is way too low on the amount sessions submitted - compared to the importance of the subject
  • Cloud, Cloud and more cloud.
  • People still want to show / want to see how to run their Enterprise Applications on VMware
  • Desktop Virtualization - Is going to become bigger and bigger!!!

Now it is really time to call it a day.

2010-05-26

VMware Player 3.1 - New Release

VMware Workstation 7.1 was released yesterday.

With it - was the release of it's baby brother/sister - VMware Player 3.1

What's New?

This release provides support for the following host and guest operating systems:

Operating System Host and Guest Support

Ubuntu 8.04.4

Host and guest
Ubuntu 10.04 Host and guest
OpenSUSE 11.2 Host and guest
Red Hat Enterprise Linux 5.5 Host and guest
Fedora 12 Guest
Debian 5.0.4 Guest
Mandriva 2009.1

Guest

 

New Features in VMware Player

 

  • OpenGL 2.1 support for Windows 7 and Windows Vista guests — Improves the ability to run graphics-based applications in virtual machines.
  • Improved Graphics Performance — Enhanced performance with better benchmarks, frame rates, and improved rendering on Windows 7 and Windows Vista guests allows you to run various graphics-based applications. In addition, major improvements in video playback enable you to play high-resolution videos in virtual machines.
  • Automatic Software Updates — Download and install VMware Tools and receive maintenance updates when available.
  • Direct Launch — Drag guest applications from the Unity start menu directly onto the host desktop. Double-click the shortcut to open the guest application. The shortcut remains on the desktop after you exit Unity and close VMware Player.
  • Autologon — Save your login credentials and bypass the login dialog box when you power on a Windows guest. Use this feature if you restart the guest frequently and want to avoid entering your login credentials. You can enable Autologon and use direct launch to open guest applications from the host.
  • OVF 1.1 Support — Import or export virtual machines and vApps to upload them to VMware vSphere or VMware vCloud. The VMware OVF Tool is a command-line utility bundled in the VMware Player installer. Use this tool along with VMware Player to convert VMware .vmx files to .ovf format or vice versa. VMware recommends that you use the OVF command-line utility. For more information, see the OVF Web site and OVF Tool User Guide.
  • Eight-Way SMP Support — Create and run virtual machines with a total of up to eight-processor cores.
  • 2TB Virtual Disk Support — Maximum virtual disks and raw disks size increased from 950GB to 2TB.
  • Encryption Enhancements — VMware Player includes support for Intel's Advanced Encryption Standard instruction set (AES-NI) to improve performance while encrypting and decrypting virtual machines and faster run-time access to encrypted virtual machines on new processors.
  • Memory Management — User interface enhancements have simplified the handling of increased virtual memory capacity.
  • User Experience Improvement Program — Help VMware improve future versions of the product by participating in the User Experience Improvement Program. Participation in the program is voluntary and you can opt out at any time. When you participate in the User Experience Improvement Program, your computer sends anonymous information to VMware, which may include product configuration; usage and performance data, virtual machine configuration; usage and performance data, and information about your host system specifications and configuration.
    The User Experience Improvement Program does not collect any personal data, such as your name, address, telephone number, or email address that can be used to identify or contact you. No user identifiable data such as the product license key or MAC address are sent to VMware. VMware does not store your IP address with the data that is collected.
    For more information about the User Experience Improvement Program, click the Learn More link during installation or from the VMware Player Preferences menu.

The full details and Known issues can be found in the Release Notes

2010 Scripting Games

The 2010 Scripting Games are over and the results have been posted here. The scripting games is a fun little competition - well not so little. Similar to a decathlon there are 10 Events, published over the period of about 2 weeks. A huge amount of work goes into the logistics of the whole competition. Preparing the events,finding people (judges) to go over the huge amount of scripts that are submitted and grading them and so on ..

Well I really enjoyed the Games this year. Each event presented a problem that needed to be solved with a script, be it Powershell or VBScript (the amount of VBScript submissions this year were really low - which means more and more people are going over to Powershell). There were two levels - Advanced and Beginner. Now of course the criteria for grading was published and were very clear, including due dates.

From the Final Standings, I see I came in at #33 (out of 177)

image

Personally - I am extremely proud of my achievement, seeing that I only really started getting into Powershell only about 18 months ago. I decided to only participate in the Beginner level only - I did not submit any scripts for the advanced level

Glenn Sizemore - the winner of the contest - posted a round up of the games  on his blog.

I would like to add a few more observations of my own.

  1. I really liked the idea of presenting the events as a real world problem that needs to be solved - this added a sense of how you can use the script in your every day work.
  2. I would separate the winners into the two different categories. A winner list for Beginner and one for Advanced Events.
    People who submit entries for the Advanced Level - are people that know how to use Powershell. So the beginner events are easy for them to solve, sometimes too easy. I mean it is like putting a heavyweight boxer and a featherweight together in a ring - and expecting them to be more or less equal. - they are not - and should not be. Each should perform best in their category.
  3. Contestants should not be able to enter both categories. Why? Well take Glenn's score for example - he scored 81.89 (out of a possible 100) - why? Because he (and many others) submitted solutions for both categories. So of course their score was much higher than the others.
    In order to win the competition then you would have to submit for both categories, otherwise you would not have a chance at 1st place.
    If the contestants were to have to choose one category (and I would suggest that the Advanced category have better prizes to pull people to that category) which will make it more reflective of what the actual achievements were - quality and not quantity.

I am still going over all the solutions that are being published for each event. I am pleased to say that I am still learning things each time that I can use in my Powershell scripts - so I am happy.

I would like to thank all the judges, the contestants, and most of all - the organizers, Ed Wilson and Craig Liebendorfer.

Congratulations to all the prize winners!!

My solutions for the Beginner Events:

See you all the the Scripting Games 2011, Monday, April 4, 2011, through Friday, April 15, 2011 !!

2010-05-24

ESXi Deployment Solution - Part 4

So today we will deal with how to get the scripts into the an ESXi installation. On Part 3 we dealt with what the scripts were and how to to use them

So how do we get the script to run on startup?

The two things that need to be done are:

  1. Add the script to /sbin/client.py

    # TCP client example
    import time
    import socket

    time.sleep(20)
    s = socket.socket()
    s.connect(("192.168.113.1",3333))
    s.send("14332354169934n2nduN")
    s.close()

  2. Add a Startup script to /etc/rc.local.d/S99unattend

    #!/bin/ash

    export PYTHONHOME=/
    export PYTHONPATH=/lib/python2.5-visor:/lib/python2.5-visor/lib-dynload:/lib/pyt
    export PATH
    python /sbin/client.py


    The reason for all the exports are since the script is not really running under any specific user it will not load the path and the Python variables, hence the explicit declaration.

So in order for us to add this to an ESXi ISO we need to do the following:

  1. Add /etc/rc.local.d/S99unattend to the oem.tgz file
  2. Add /sbin/client.py to the oem.tgz file

Now why the oem.tgz. The oem.tgz file is a file that will be parsed for installation which allows for OEM's to add bits and pieces into the ESXi install if needed.

In a default ESXi ISO - these are the contents of the image:

image

What we will need to do is a bit of manipulation to add some files to the oem.tgz and also into the image.tgz. Why both files you may ask - in order to make the changes to the installation persistent they have also be updated into the install.tgz file.

The most comprehensive resource I have found on customizing the oem.tgz file is on
Dave Mischenko's site.

There is a project on http://code.google.com/p/mkesxiaio/ where the process is automated - I cannot say that I have tried this personally - but it is on my list of to-do things.

We are going to this manually to explain the process a bit more so you can understand it a bit better and change it to your needs if you would like

Tools for the job that are needed:

Copy the iso image from VMware-VMvisor-Installer-4.0.0.Update01-208167.x86_64.iso to your Linux machine - you can use WinSCP or pscp.

pscp VMware-VMvisor-Installer-4.0.0.Update01-208167.x86_64.iso root@192.168.30.10:/myfolder

Create directories for the process

mkdir iso iso-mount oem image dd-image

Mount the CD

mount -o loop -t iso9660 VMware-VMvisor-Installer-4.0.0.Update01-208167.x86_64.iso iso-mount

Since this is read only copy files to iso directory

cp -r iso-mount/* iso/

Unmount and remove the folder

umount iso-mount/

rm -rf iso-mount/

Next we create the oem.tgz file

cd oem/

mkdir -p sbin etc/rc.local.d/

And now we create the script files.

The client

cat >> sbin/client.py <<EOF
# TCP client example
import time
import socket

time.sleep(20)
s = socket.socket()
s.connect(("192.168.113.1",3333))
s.send("14332354169934n2nduN")
s.close()
EOF

And the Startup Script

cat >> etc/rc.local.d/S99unattend <<EOF
#!/bin/ash

export PYTHONHOME=/
export PYTHONPATH=/lib/python2.5-visor:/lib/python2.5-visor/lib-dynload:/lib/python2.5-visor/site-packages
export PATH
python /sbin/client.py
EOF

Next we add the execute permissions

chmod -R 755 etc/ sbin/

Tar the file back up

tar czvf ../oem.tgz etc/ sbin/

The oem.tgz needs to be copied to two different locations

Copy to the first location

cd ..

cp oem.tgz iso/

Extract the installer image from the ISO

tar zxvf iso/image.tgz -C image/

We now extract the disk file

cd image/usr/lib/vmware/installer/

bunzip2 VMware-VMvisor-big-208167-x86_64.dd.bz2

Mount the image

mount -o loop,offset=$((512*8224)) VMware-VMvisor-big-208167-x86_64.dd ../../../../../dd-image/

2nd location – copy the oem.tgz file into the dd-image

cp ../../../../../oem.tgz ../../../../../dd-image/

Unmount the image

umount ../../../../../dd-image/

Compress the file

bzip2 VMware-VMvisor-big-208167-x86_64.dd

Go back to the install directory

cd ../../../../

Re-create the install.tgz file

tar zvcf ../iso/image.tgz usr/

cd ../iso

Create ISO

mkisofs -o ../My_VMware-VMvisor-Installer-4.0.0.Update01-208167.x86_64.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

cd ..

if you would there after you can remove everything

rm -rf dd-image/ image/ iso/ oem*

And as you can there is my newly created ESXi iso with my customizations inside

image

I have created a file with all the commands that you can copy and paste into a shell session for your convenience.

The whole process took less than 8 minutes.

Next up will be how deploy this to an through PXE to a server.

VCDX3 - Upgrade path to VCDX4-DCD

For those who are already in the process of the VCDX 3 (me included), regarding the announcements today - the most important bit of information for me was what will happen in the interim to those who are already in the track

Taken from the FAQ

I’ve started on the path to VCDX3. How will the VCAP program affect my next steps?

Your progress toward a VCDX3 certification can help you with VCDX4-DCD certification process because:

  • Individuals who have passed the VMware Enterprise Administration exam get a discount on the VCAP4-DCA exam
  • Individuals who have passed the VMware Design on VI3 exam get a discount on the VCAP4-DCD
  • Individuals who have successfully defended a Design and Implementation Plan and achieved the VCDX3 certification are required to pass the VCAP4-DCD. This exam will be offered at a discount for VCDX3 certified candidates. These individuals are not required to submit a VCDX4-DCD Application nor required to defend another Design and Implementation Plan.

Depending on the path, you can earn additional certifications on your path to VCDX4-DCD. Review the Pathway Diagram now.

VCDX3 Applications will be accepted through the Defenses held in Cambridge, MA during the week of November 1, 2010.

When will VMware Design Exam on VI3 stop being offered?

You can sit for the VMware Design Exam on VI3 until Aug 30, 2010.

When will VMware Design Exam on VI3 stop being offered?

You can sit for the VMware Enterprise Administration Exam on VI3 until Aug 30, 2010.

Will I receive a VCAP certification if I pass the Enterprise Administration or Design Exam?

VCAP certifications will not be available for exams on VI3.

So this is the way that I see the way you should continue - depending on which stage you are currently in

  • You have only passed the Enterprise Admin Exam.

    Get the discount voucher from VMware for the VCAP4-DCA. Take the VCAP4-DCD and apply for the defense.
  • You have passed both the Enterprise Admin Exam and the Design Exam but have not submitted a design.

    Go for the VCDX3 track. Submit a VI3 design and defend. Once you have completed it, take the VCAP4-DCD to upgrade to VCDX4-DCD. If you want you can also take the VCAP4-DCA and have all the certifications (you should be entitled to a discount). The VCDX3 will have to be completed before November 1, 2010.
  • You have completed your VCDX3.

    Pass your VCAP4-DCD (you are entitled to a discount voucher.) If you also want do the VCAP4-DCA.

Regarding those who are in the process - personally - I see no extra benefit in getting the VCAP certifications after you have the full VCDX4-DCD, so if the exams will not cost that much (decent discount) then why not - but otherwise - it will be a waste of money.

One other point to note:

Defenses dates and locations that are known are:

Melbourne, Australia - July 5-8, 2010

San Francisco, USA - August 30-September 2, 2010

Copenhagen, Denmark - October 12-14, 2010

--NEW-- Cambridge, MA November 1, 2010 (last chance to defend VCDX3)

2010-05-21

vCenter Essentials - 3 Host Limit (not 6 CPU)

vSphere Essentials is a package that is for the SMB. At present there is a promotional offer
(Until June 15, 2010) reducing the price from $995 to $495.

In this package you receive vCenter and 3 ESX host licenses (up to 6 CPU Licenses)

Of course this a basic package - with only the basic features - no HA, Vmotion etc.

This is ideal for a small business starting out.

I tried today to see if the limit is actually 6 CPU's or 3 hosts.

Here I have an Essentials License with 3 ESX hosts - but each of them only have 1 Physical CPU

image

Trying to add the 4th host I got this

image

What I did find strange though was that it did take up an extra CPU from my license

image

The new host was disconnected but still taking up a CPU license

image

After removing the Host - it went back to the correct state

image

What did I learn from this experience?

  • The limit is 3 ESX hosts - not the amount of CPU's
  • This is still an amazing package for a lab setup!!

2010-05-14

So I need some assistance - VMworld 2010 Sessions

Ok it is up.

I see that all three of my submissions are up for Public Voting. (good to know that I am still up for consideration).

If you would like to see the sessions below accepted for VMworld - pop on over to the
VMworld 2010 Call for Papers Public Voting! and submit a click.

There a great number of sessions there - and many familiar names - and again I am honored to have my names up with such a great list of people.

You will need a VMworld account (free registration) and remember you can only click on each session once.

2 sessions in the Private Cloud Management Track and one on the Virtualization 101

Title: vCenter Migration - It's a Snap with POWERCLI

Session Id: MA6840

Abstract:"In this session, you will learn that there are certain cases where you would like to migrate your vCenter environment from one server to another without keeping the previous data and database problems from the previous environment. The session will walk the attendees through the steps of which information should be collected for a successful migration. Then we will describe the step by step by step process of collecting the correct information that is needed for export including Folder Structure, Virtual Machine locations, DRS rules, Templates, Custom Attributes, Permission, Resource Pools - all of this using POWERCLI. The next stage will be to use all the information collected to disconnect the ESX Hosts from the old vCenter server to to new with no downtime to the Virtual Machines. We will recreate the folder structure and move all VM's back to their original location, apply all custom attributes and permissions back to the VM's and folders"

Type: Breakout Session

Track: Private Cloud - Management

Speaker Detail: Maish Saidel-Keesing Company: NDS

It's a Snap with POWERCLI

Title: Creating Your Virtual Lab in a few easy steps

Session Id: MA6662

Abstract: "In order to perform your due diligence before planning any change or testing a new product, you will need a lab environment. Utilizing VMware Products - such as ESX/ESXi/Workstation you can deploy a Lab in a very short time. This session will explain how to deploy a fully functioning vSphere environment in an easy fashion without the need for major expenses on hardware. All of this can be deployed on a single Desktop and even in certain cases on you laptop as well. During this session I will demonstrate how to deploy a Storage appliance for shared storage, ESXi hosts, vCenter as a VM, configuring HA, VMotion and other Enterprise features to create a base point for a lab "

Type: Breakout Session

Track: Private Cloud - Management

Speaker Detail: Maish Saidel-Keesing Company: NDS

Creating Your Virtual Lab in a few easy steps

Title: ESX Server deployment System

Session Id: V18364

Abstract: "Deployment of an ESX host is something that we all need to do once (at least). ESX can be deployed with a kickstart script making it almost a ""hands-off"" experience, but since ESXi is a different platform is is not possible to script the installation. In this breakout session I will demonstrate a system that will allow you to utilize every day tools for central deployment of ESX regardless of what the platform is - ESX / ESXi The solution is based on the following: - a PERL script that is executed at installation completion to send a notification - the notification is received - and the post configuration is started with POWERCLI - all settings are pre-populated in a file/Database - which allows for re-installation of Host in minimal time - record all settings of installation to Database - notification of Server ready."

Type: Breakout Session

Track: Virtualization 101

Speaker Detail: Speaker: Maish Saidel-Keesing Company: NDS

ESX Server deployment System

Do remember - that if your session is not in the list, then it could mean that it was rejected - or perhaps it was already acepted, but until June 7 - you will not know.

Set a Time Limit on Group Membership

One of the most surprising things that Microsoft have not yet provided in Active Directory management - is allowing you to set a time limit on assigning membership of a user to a group.

Let me explain the use case for this kind of feature.

You have resource (be it a file, web site - what ever). You want to assign the permission to a user, but you only want to do it until the end of the day, of for the next hour. Unfortunately there is no functionality like that is Active Directory. Sure you can set expiration on an account - but not on group membership.

I was asked to provide a solution to this problem for a specific use-case problem. I would like to point out that a great part of the original logic of this script was done by a fellow team member - who is a great scripter - So thanks Natan. I did change the script in order to accommodate a few more features.

The users were not allowed to be members of this group for more than 7 days, and they should be removed automatically after that period

So the logic was as follows:

The user would call in to the helpdesk, and get added to the group. Once a day, the members of the group would be checked and compared to a list of users in a file (from the previous run). If they were there, then their Countdays field in a file would be reduced by one (until reaching zero). If they were new additions to the group (and they would not be in the file) then add there info with a default counter. If their record had reached zero - then remove them from the group.

Here is a more graphical explanation

image

Here is the script

# ==============================================================================================
# NAME: erase-after-days.ps1
# 
# AUTHOR: Maish Saidel-Keesing
# DATE  : 12/05/2010
# 
# COMMENT: script erase-after-days is for erasing users from a security after predefined number of days
# Changed by Maish Saidel-Keesing (12/05/2010)
# Added 3rd field SubmittedBy, changed logic to Compare-object
# Requires Quest.ActiveRoles.ADManagement Snapin
# ==============================================================================================

# Check for Snapin
 if ((Get-PSSnapin Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue) -eq $null) {
 	add-PSSnapin  quest.activeroles.admanagement
	}

#Establish Connection	
Connect-QADService -service maishsk.local   	

#Define default number of days
$days = 7

$GroupName = "My_time_limit_group"	
$infile = "\\server\time_limit.txt" 

$GResults = Get-qadgroupmember $GroupName
$in1 = Import-Csv $infile

# Create variable to look for matches
$compare = @(Compare-Object $in1 $GResults -Property "DN" -IncludeEqual | `
	Where-Object {$_.SideIndicator -eq "==" } | select DN)
# Variable to hold new additions to Security Group 
$nomatch = @(Compare-Object $in1 $GResults -Property "DN" -IncludeEqual | `
	Where-Object {$_.SideIndicator -eq "=>" } | select DN)

#Run for each object that is already in the Security Group
foreach ($object in $compare) {
	$record = ""
	$record = $in1 | Where-Object {$_.DN -eq $object.DN}
	if ($record.CountDays -gt 0) {
		$record.CountDays -= 1
		if ($record.SubmittedBy -eq "" ) {
			$record.SubmittedBy = "Script"
		}
	} else {
	#If member counter is equal to 0 then remove from Security Group
	Remove-QADGroupMember -Identity $GroupName -Member $record.DN -WhatIf
	}
}
$in1 = $in1 | Where-Object {$_.CountDays -ne 0 }

#Run for each new user that was detected
	if ($nomatch.Count -gt 0) {
	$out1 = @()
	foreach ($object in $nomatch) {
		$row = "" |select DN,CountDays,SubmittedBy
		$row.DN = $object.DN
		$row.CountDays = $days
		$row.SubmittedBy = "Script"
		$out1 += $row
		}
	$in1 += $out1
	}
	
$in1 | export-csv -Path $infile -Force -notype
Disconnect-QADService


Line 13 Check for Quest Cmdlets

Lines 18-28 Define the variables

Line 30 Compare both variables and find the instances where the DN field in each variable matches - the results that is received from a match is "==". The -includeEqual switch will show the matches (otherwise you do not get any output)

[23:54:55] ~> Compare-Object hello hello -IncludeEqual

InputObject                                                 SideIndicator
-----------                                                 -------------
hello                                                       ==


Line 34 Compare both variables and find the instances where the DN exists in the Security Group but not in the file - which means it is a new user.

Line 38-49 First we work on the matched users. Here we retrieve the matching record and perform the logical query. If the days are larger than 0 - decrement. If not (which means that the user has been in the group for 7 days) then remove them. All of this is updating the $in1 variable

Line 51 Recreate the variable without the entries that will be removed

Line 54 Check for the number of items in $nomatch - if there is nothing then there is nothing to run

Line 56 Now we add the new users from all $nomatch variable.

Line 63,66 Combine today's results with $in1 and export the file back out.

The script runs daily as a scheduled task.

Now of course you could always expand on this and add functionality - such as automated email notification before user is removed, I am sure that You can expand the also to have this monitor multiple groups.as well.

Now all I have to wait for is for Microsoft to add this functionality to Active Directory

2010-05-06

MMS 2010 Labs: Powered by Hyper-V -Whatif

No - I have not gone over to the Dark Side. And forgive me for the Powershell pun, but I read an article by Ronald Beekelaar on the Microsoft Virtualization Team Blog - demonstrating the wonders of Virtualization that were used in MMS 2010 Labs: Powered by Hyper-V, System Center & HP...

The numbers are impressive - very impressive - I would suggest that you read the article.

The numbers were as follows:

  • 6 half racks - ~7 Servers per rack
  • 41 HP Proliant DL380G6 servers (Dual socket, quad-core, Nehalem Processors with SMT, 16 LPs per system) each configured with 128 GB of memory and 4x300 GB SAS drive of local storage striped
  • All networking was 1 Gb/E switched (no 10 Gb/E) and demonstrates the efficiency of Remote Desktop Protocol (RDP). Even with hundreds of labs going on simultaneously, network bandwidth was never an issue on 1 Gb/E
  • Windows Server 2008 R2 Hyper-V and System Center
  • Virtual machines were configured on average with 3-4 GB of memory each and the majority of labs used multiple VMs per lab.
  • ~40,000 Hyper-V VMs for ~80 different labs in 5 days

Ok, so I did a bit of math. I came to the conclusion that the most that they could run on 1 server at any given time would be 40 VM's per server.

Let me explain the calculation - and forgive me for my assumptions, and I not sure that they are 100% accurate but you will see where I am getting here.

My assumptions:

  • The hosts were not CPU / network / Disk constrained
  • RAM Usage on each host should not be higher than 120GB (90%) - I was being conservative.
  • The average RAM used per VM that was quoted was 3-4GB, I assumed that it was 3GB .

Using those assumptions I got to the following numbers.

120GB (Host RAM) / 3GB (VM RAM)  = 40 VM's per host.

40 (VM's) x 41 (Hosts) = 1640 Virtual machines running simultaneously

So 1640 VM's running simultaneously is a good amount of VM's, now of course not all of them run at the same time. and bringing up labs and down throughout the 5 days - I can imagine how they got to the impressive number of ~40,000 Hyper-V VMs.

But I wanted to try an see what would the comparison be with vSphere.

Again I made assumptions (in addition to the ones above) - which I think are safe and conservative.

  • Since almost all the VM's on the host are the same OS, same configuration - the amount of memory that could be reclaimed was 30%.
  • I did not calculate any further benefit from the additional shared memory after that.

Using those assumptions I got to the following numbers:

40 (VM's) x 3GB (RAM) = 120GB

30% of that that RAM is Shared - 120*70% = 36GB

36 (GB) /  3 (GB per VM) = 12

40 (VM's) + 12 (VM's - from page sharing) = 52 VM's

1640 (simultaneous VM's) / 52 (VM per host) = 31.5 (Servers)

31.5 (Servers) / 7 (Servers in a rack) = 4.5 (Racks)

10 (servers less) x $20,000 (Cost per server) = $200,000 less using vSphere

This is not taking into account:

  • 10 (servers) x 200 (watts per server) = 2000 watts
  • Additional charges for shipping costs
  • Network Components
  • etc.

Perfect example of - even if vSphere is more expensive, it will save you a hell of a lot of money!!!!!! And to quote Microsoft themselves

Still, in the end, the big question to ask yourself is the following: Is it worth all this expense for VMware, when the Microsoft solution offers a comparable or even better feature set for much less cost?  Is it worth the extra line item on the invoice, the extra line in the budget, to use VMware virtualization when it's built into Windows?  That is a question I think many customers will be asking themselves in the coming months and that is just another reason that you should start using Microsoft Virtualization solutions.

So do you know the answer???

2010-05-05

Need a Lot of IOPS?

I was introduced to an product today that caught my eye.

HP StorageWorks IO Accelerator for BladeSystem c-Class

So what is this IO module. It is a mezzanine card that is currently available in HP Blades (it will be available in the near future also for the Proliant Series as well).

It comes in different capacities: 80GB, 160GB and 320GB

Now what caught my eye, is the Maximum IOPS 100,000 IO/sec

Now of course this not certified for ESX (YET!!)

But I am thinking could this an amazing solution for certain use cases. If you have an intensive I/O VM it could use this device as its storage.

True, the biggest issue here is that the disk here is local and not shared storage. Which of course is a major issue and limits this solution to very specific use cases, but to get 100,000 IOPS would need something like this (100,000 I/O Operations Per Second, One ESX Host)

The next step was to get our hands on enough storage to run the experiments on a large scale. We went to the Midrange Partner Solutions Engineering team at EMC, Santa Clara and they were kind enough to let us use the storage infrastructure in their lab. They loaned us three CLARiiON CX3-80 storage arrays, each with 165 15K RPM disks, for a total of 495 disks and 77TB of storage. Our experiments used the Iometer I/O stress tool running in virtual machines on a server equipped with ESX 3.5 Update 1. The server was a quad-core, quad-socket (16 cores total) system with 32GB of physical memory.

Now all that is needed is to find a way and technology to share this storage device for use in a cluster..

Hrmmmm..