Here is another preview of the vSphere 5 vReference Card – the resources section.  I’d love to hear any of your feedback.  Just drop your comments below or catch me on twitter (@forbesguthrie).

Click on the image to see it full size, or you can view/print it as a PDF.

 

Here is the first preview of the vSphere 5 vReference Card – the networking section.  I’d love to hear any of your feedback. Just drop your comments below or catch me on twitter (@forbesguthrie).

Click on the images to see them full size, or you can view/print it as a PDF.

and

 

 

I received a great suggestion from @FarooqPSK on Twitter this morning:

Would’ve been great if you could’ve included epub/mobi format for the vsphere 5 documentation notes. Please consider this.

So after an hour of wrestling with the notes in Calibre, I managed to create a version in MOBI (for Kindle users) and EPUB (for everything else).  I can’t guarantee they will be perfect as the converter can mangle tables, but it should be much more legible for these devices.

Here are the notes in EPUB and MOBI format as a zip file.

Update: Here are the same notes as separate downloads: MOBI file (for a Kindle) and an EPUB file (everything else). Hopefully this should make it easier to grab straight from your device.

 

You’ll be glad to hear that I’m in the process of collating information for a new vSphere 5 Reference Card. I’ll release sections for everyone to peruse as soon as they’re ready as I’ll be eager for feedback before I roll them into the first full release. I like the Mantra of “release early, release often”.  Be sure to follow me on Twitter (@forbesguthrie) to be the first to hear of any new sections.

As part of that effort, I’ve been trawling through the new vSphere 5 documentation. I’ve collated my condensed notes into a free download. I think for anyone who is familiar with vSphere 4, then it should bring you up to speed fairly quickly. The VMware documentation is about 1700 pages, but fortunately these notes are packed down into about 50 pages.

For example:

Dynamic port binding is deprecated in ESXi 5.0.

It is considered a Best Practice to use the Select the Percentage of Cluster Resources Reserved admission control policy.

The iSCSI initiator is enabled by Default in vSphere 5.

They’re all excerpts take directly from the official VMware PDFs. This makes it great to study from, as the VCP questions are often taken straight from their documentation.  I occasionally added a few words to help clarify the context of the sentence, but the vast majority of the content is word-for-word. Being direct quotes makes it easy for you to search within the PDF if you are unsure on an area or need greater clarification surround a statement.

Living in this topsy-turvy North America land as I do these days, I’ve created it in Letter size.  Let me know if you have any issues print it out in A4 and I’ll take a look at fixing it or republishing an A4 formatted version.

I hope they’re useful to you as well: vSphere 5 Documentation Notes.

 

This afternoon I attended the #VSP2384 session – Distributed Datacenters with Multiple vCenters Deployments Best Practises.  I didn’t take notes as I quickly got absorbed by this excellent presentation.  I’m already looking forward to downloading the video of this as soon as its uploaded to the VMworld website and watching it again.

However, as a brief abstract here is some of what they covered:

Ravi Soundararajan, who has 7 years of experience looking at customers vCenter performance, explained the components of the vCenter software.  He then looked at how different factors such as network latency and bandwidth over WAN links could affect your design.  Ravi explained the needs of each of the software components in vCenter and how to right-size the server hardware.

Ratnadeep Bhattacharjee then took over, and jumped into different vCenter deployments for spilt sites, and covered the effects of using Linked Mode in the design.

Some of the useful bits I gleaned were:

  • Hosts separated over WAN links from their vCenters are more sensitive to network latency than they are to bandwidth.
  • vCenter network traffic is regularly very bursty (up to 10x).
  • vCenter 5 is more resource hungry than previous versions due the additional services they provide. So you should consider upping the hardware as you move to version 5.
  • JVM resources should be sized appropriately (can be bad to oversize).
  • vCenter minimum hardware requirements are minimums. You may need more for your environment.
  • There is a hard limit of 500 connection sessions on vCenters and this is the same for Linked Mode vCenters (collectively, all Linked Mode vCenters only get 500) . Clients use one and each VM console uses one.  Other 3rd party software can use these as well.  So this limit can hit the larger deployments.

A couple of things I got from questions I posed at the end was this:

  • The official vSphere 5.0 documentation (PDFs) state you can’t keep vCenter 5.0 in Linked Mode with 4.x vCenters.  However the vSphere 5.0 Release Notes state you can.  The former is true and the latter is a documentation mistake.  As you upgrade your Linked Mode vCenters, you disconnect them from 4.x hosts and can only join them back to the other vCenters after they are upgraded.
  • When you upgrade your vCenter from 4.1 to 4.1U1, your client doesn’t automatically ask you to upgrade (like it would if you were connecting with a 4.0 client to a vCenter 4.1).  If you are running a 4.1U1 vCenter, you should manually uninstall and install the latest client.  This resolves a number of client side issues.

If you are interested in vCenter designs for multiple sites, or just want to understand more about the internals of vCenter, then I highly recommend you check it out once it’s available.  I heard from some folks this week that they felt the super technical deep dive stuff was lacking this year.  If you wanted more of that stuff then I’d say you should download this session.

 

VMware has announced that VMworld 2012 US will be at the Moscone Conference Center in San Francisco.  The VMworld 2012 conference will run 27th August through to the 30th August 2012.

Update: VMworld Europe 2012 will be in Barcelona on 16-18 October 2012. Update 2Apparently this has been brought forward to 9-11 October 2012.

 

 

I attended Intel’s #SPO3040 earlier this afternoon – Best Practises for Deploying VMware vSphere 5.0 Using 10GbE.  It was an interesting session with lots of good material.  Here are 3 short little titbits that I tweeted about that I thought might useful to record here:

  • Intel said we will start to see 10GBASE-T on server boards very soon. This allows WoL (Wake-on-LAN) and OOB (Out-of_Band) type services, unlike SFP+ DA or SPF+ Fiber (although as @AlexanderJN pointed out, 10GBASE-T is still much more expensive on the switch port side, and consumes more power).
  • To check the speed and width of a server’s PCI Express slots, try this:
grep Express /var/log/vmkernel.log |more
You need at least a 5.0Gb/s (Gen 2) x 8 slot to get the full line rate of a 10GbE card.
  • With the newer Load Balanced Teaming Policy that came with vSphere 4.1, the traffic needs to hit 75% bandwidth utilization for 30 seconds on a pNIC for the load to be migrated.
 

Along with today’s release of vSphere 5, VMware has published the vSphere 5 documentation:

http://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html

In addition to the online html library and the downloadable PDFs, there are now e-book versions to grab.  There are MOBI files for your kindle and EPUB files for most other e-book readers.  I’ve requested this for some time now, so I’m glad VMware is providing them.  They have to be one of the first large mainstream software vendors to offer their documentation in these formats.  I wouldn’t say it is a revolutionary concept, but nice that VMware is leading competition and being innovative when they can.

The result is great:

Over the last few weeks I’ve been working feverishly on my documentation notes and reference card for vSphere 5.  See here and here for the vSphere 4 versions if you’re not sure what I’m referring to.

I’m 90% done on my notes from the Release Candidate version of the official documentation, so I just need to finish them off and quickly check the new GA versions for changes.  I hope to get them published in the next couple of weeks.  So if you’re not willing to wade through 2000+ pages of official documentation then you might want to get a copy of my notes for some of the newer and more interesting excerpts.  I wanted to have them released in time for VMworld, but what with that being merely days away it probably isn’t going to happen.  We’ll see; after all, what’s else are plane journeys for if not documentation. BTW, if you’re heading to VMworld this year and spot me out-and-about, be sure to come and say hi. It’s always nice to meet fellow v12n geeks.

As soon as I’ve got the documentation notes out the door, I’ll be beavering away on the new reference card.  I can’t say when it will be available, as it takes a tremendous amount of work, but rest assured I’ll be working hard to complete it as quickly as possible.

If you want to be the first to know when the notes and/or card is available, be sure to follow me on twitter @forbesguthrie.  I’ll try to keep everyone abreast of my progress over the coming weeks.

 

I thought I’d post up a full listing of the esxcli command from vSphere 5.  It’s as much for my own future reference, but as 5.0 still isn’t GA I thought there are probably other folk who’d like to take a look through all the options.

Although the esxcli command was around before vSphere 5.0, it has been propelled into the spotlight with the news that esxcli will be the new standard that VMware will migrate towards while depreciating the other command line tools we have come to know.  It’s time to get comfortable with it.  As I pull together all the pieces for the vSphere 5 reference card, I’ll be changing the commands over to esxcli.

If you want to learn more about the esxcli command, pop over to William Lam‘s excellent posts on the subject.  In particular his post outlining the major enhancements.

One interesting point that I noticed from the listing, is that it was missing the “license” top-level namespace that William had identified.  I suspect this may be because I had joined the host to a vCenter instance.  Perhaps at this point the host realizes that it’s not authoritative for its licensing anymore and then excludes the namespace as an option.

Anyway, without further ado here is a full listing (created with esxcli esxcli command list):

Namespace                                           Command    
--------------------------------------------------  -----------
esxcli.command                                      list       
fcoe.adapter                                        list       
fcoe.nic                                            disable    
fcoe.nic                                            discover   
fcoe.nic                                            list       
hardware.bootdevice                                 list       
hardware.clock                                      get        
hardware.clock                                      set        
hardware.cpu.cpuid                                  get        
hardware.cpu.global                                 get        
hardware.cpu.global                                 set        
hardware.cpu                                        list       
hardware.memory                                     get        
hardware.pci                                        list       
hardware.platform                                   get        
iscsi.adapter.auth.chap                             get        
iscsi.adapter.auth.chap                             set        
iscsi.adapter.capabilities                          get        
iscsi.adapter.discovery                             rediscover
iscsi.adapter.discovery.sendtarget                  add        
iscsi.adapter.discovery.sendtarget.auth.chap        get        
iscsi.adapter.discovery.sendtarget.auth.chap        set        
iscsi.adapter.discovery.sendtarget                  list       
iscsi.adapter.discovery.sendtarget.param            get        
iscsi.adapter.discovery.sendtarget.param            set        
iscsi.adapter.discovery.sendtarget                  remove     
iscsi.adapter.discovery.statictarget                add        
iscsi.adapter.discovery.statictarget                list       
iscsi.adapter.discovery.statictarget                remove     
iscsi.adapter.discovery.status                      get        
iscsi.adapter.firmware                              get        
iscsi.adapter.firmware                              set        
iscsi.adapter                                       get        
iscsi.adapter                                       list       
iscsi.adapter.param                                 get        
iscsi.adapter.param                                 set        
iscsi.adapter                                       set        
iscsi.adapter.target                                list       
iscsi.adapter.target.portal.auth.chap               get        
iscsi.adapter.target.portal.auth.chap               set        
iscsi.adapter.target.portal                         list       
iscsi.adapter.target.portal.param                   get        
iscsi.adapter.target.portal.param                   set        
iscsi.ibftboot                                      get        
iscsi.ibftboot                                      import     
iscsi.logicalnetworkportal                          list       
iscsi.networkportal                                 add        
iscsi.networkportal.ipconfig                        get        
iscsi.networkportal.ipconfig                        set        
iscsi.networkportal                                 list       
iscsi.networkportal                                 remove     
iscsi.physicalnetworkportal                         list       
iscsi.physicalnetworkportal.param                   get        
iscsi.physicalnetworkportal.param                   set        
iscsi.plugin                                        list       
iscsi.session                                       add        
iscsi.session.connection                            list       
iscsi.session                                       list       
iscsi.session                                       remove     
iscsi.software                                      get        
iscsi.software                                      set        
network.fence                                       list       
network.fence.network.bte                           list       
network.fence.network                               list       
network.fence.network.port                          list       
network.firewall                                    get        
network.firewall                                    load       
network.firewall                                    refresh    
network.firewall.ruleset.allowedip                  add        
network.firewall.ruleset.allowedip                  list       
network.firewall.ruleset.allowedip                  remove     
network.firewall.ruleset                            list       
network.firewall.ruleset.rule                       list       
network.firewall.ruleset                            set        
network.firewall                                    set        
network.firewall                                    unload     
network.ip.connection                               list       
network.ip.dns.search                               add        
network.ip.dns.search                               list       
network.ip.dns.search                               remove     
network.ip.dns.server                               add        
network.ip.dns.server                               list       
network.ip.dns.server                               remove     
network.ip                                          get        
network.ip.interface                                add        
network.ip.interface.ipv4                           get        
network.ip.interface.ipv4                           set        
network.ip.interface.ipv6.address                   add        
network.ip.interface.ipv6.address                   list       
network.ip.interface.ipv6.address                   remove     
network.ip.interface.ipv6                           get        
network.ip.interface.ipv6                           set        
network.ip.interface                                list       
network.ip.interface                                remove     
network.ip.interface                                set        
network.ip.neighbor                                 list       
network.ip                                          set        
network.nic                                         down       
network.nic                                         get        
network.nic                                         list       
network.nic                                         set        
network.nic                                         up         
network.vswitch.dvs.vmware                          list       
network.vswitch.standard                            add        
network.vswitch.standard                            list       
network.vswitch.standard.policy.failover            get        
network.vswitch.standard.policy.failover            set        
network.vswitch.standard.policy.security            get        
network.vswitch.standard.policy.security            set        
network.vswitch.standard.policy.shaping             get        
network.vswitch.standard.policy.shaping             set        
network.vswitch.standard.portgroup                  add        
network.vswitch.standard.portgroup                  list       
network.vswitch.standard.portgroup.policy.failover  get        
network.vswitch.standard.portgroup.policy.failover  set        
network.vswitch.standard.portgroup.policy.security  get        
network.vswitch.standard.portgroup.policy.security  set        
network.vswitch.standard.portgroup.policy.shaping   get        
network.vswitch.standard.portgroup.policy.shaping   set        
network.vswitch.standard.portgroup                  remove     
network.vswitch.standard.portgroup                  set        
network.vswitch.standard                            remove     
network.vswitch.standard                            set        
network.vswitch.standard.uplink                     add        
network.vswitch.standard.uplink                     remove     
software.acceptance                                 get        
software.acceptance                                 set        
software.profile                                    get        
software.profile                                    install    
software.profile                                    update     
software.profile                                    validate   
software.sources.profile                            get        
software.sources.profile                            list       
software.sources.vib                                get        
software.sources.vib                                list       
software.vib                                        get        
software.vib                                        install    
software.vib                                        list       
software.vib                                        remove     
software.vib                                        update     
storage.core.adapter                                list       
storage.core.adapter                                rescan     
storage.core.adapter.stats                          get        
storage.core.claiming                               autoclaim  
storage.core.claiming                               reclaim    
storage.core.claiming                               unclaim    
storage.core.claimrule                              add        
storage.core.claimrule                              convert    
storage.core.claimrule                              list       
storage.core.claimrule                              load       
storage.core.claimrule                              move       
storage.core.claimrule                              remove     
storage.core.claimrule                              run        
storage.core.device.detached                        list       
storage.core.device.detached                        remove     
storage.core.device                                 list       
storage.core.device.partition                       list       
storage.core.device                                 set        
storage.core.device                                 setconfig  
storage.core.device.stats                           get        
storage.core.device.vaai.status                     get        
storage.core.device.world                           list       
storage.core.path                                   list       
storage.core.path                                   set        
storage.core.path.stats                             get        
storage.core.plugin                                 list       
storage.core.plugin.registration                    add        
storage.core.plugin.registration                    list       
storage.core.plugin.registration                    remove     
storage.filesystem                                  automount  
storage.filesystem                                  list       
storage.filesystem                                  mount      
storage.filesystem                                  rescan     
storage.filesystem                                  unmount    
storage.nfs                                         add        
storage.nfs                                         list       
storage.nfs                                         remove     
storage.nmp.device                                  list       
storage.nmp.device                                  set        
storage.nmp.path                                    list       
storage.nmp.psp.fixed.deviceconfig                  get        
storage.nmp.psp.fixed.deviceconfig                  set        
storage.nmp.psp.generic.deviceconfig                get        
storage.nmp.psp.generic.deviceconfig                set        
storage.nmp.psp.generic.pathconfig                  get        
storage.nmp.psp.generic.pathconfig                  set        
storage.nmp.psp                                     list       
storage.nmp.psp.roundrobin.deviceconfig             get        
storage.nmp.psp.roundrobin.deviceconfig             set        
storage.nmp.satp.generic.deviceconfig               get        
storage.nmp.satp.generic.deviceconfig               set        
storage.nmp.satp.generic.pathconfig                 get        
storage.nmp.satp.generic.pathconfig                 set        
storage.nmp.satp                                    list       
storage.nmp.satp.rule                               add        
storage.nmp.satp.rule                               list       
storage.nmp.satp.rule                               remove     
storage.nmp.satp                                    set        
storage.vmfs.extent                                 list       
storage.vmfs.snapshot.extent                        list       
storage.vmfs.snapshot                               list       
storage.vmfs.snapshot                               mount      
storage.vmfs.snapshot                               resignature
storage.vmfs                                        upgrade    
system.boot.device                                  get        
system.coredump.network                             get        
system.coredump.network                             set        
system.coredump.partition                           get        
system.coredump.partition                           list       
system.coredump.partition                           set        
system.hostname                                     get        
system.hostname                                     set        
system.module                                       get        
system.module                                       list       
system.module                                       load       
system.module.parameters                            list       
system.module.parameters                            set        
system.module                                       set        
system.process                                      list       
system.process.stats.load                           get        
system.process.stats.running                        get        
system.secpolicy.domain                             list       
system.secpolicy.domain                             set        
system.settings.advanced                            list       
system.settings.advanced                            set        
system.settings.kernel                              list       
system.settings.kernel                              set        
system.settings.keyboard.layout                     get        
system.settings.keyboard.layout                     list       
system.settings.keyboard.layout                     set        
system.stats.uptime                                 get        
system.syslog.config                                get        
system.syslog.config.logger                         list       
system.syslog.config.logger                         set        
system.syslog.config                                set        
system.syslog                                       mark       
system.syslog                                       reload     
system.time                                         get        
system.time                                         set        
system.uuid                                         get        
system.version                                      get        
system.visorfs                                      get        
system.visorfs.ramdisk                              add        
system.visorfs.ramdisk                              list       
system.visorfs.ramdisk                              remove     
system.visorfs.tardisk                              list       
system.welcomemsg                                   get        
system.welcomemsg                                   set        
vm.process                                          kill       
vm.process                                          list
 

vCenter deployments are likely to change for large companies as they upgrade to vSphere 5.  Traditionally vCenter has been installed in one of two designs.  The primary decision was whether to split off the database onto a second server.  Smaller shops simply installed vCenter and MS SQL (or even MS SQL Express for the very small) on the same server.

Medium and large organisations commonly split out the database onto a separate server; their vCenter server is dedicated. As we know, larger companies like to divide out applications and databases onto their own server instances.  This is done for several reasons, not least to help scale up to heavier workloads.  So I think its fair to say, in most medium and large implementations, this is the “classic” vCenter deployment:

Now for very large deployments, some companies create a third separate server for the vCenter Update Manager (VUM).  This was particular important for anyone using the VM guest OS patching feature, as that capability could consume significant resources for a vCenter which managed lots of VMs.  However this guest OS patching was never a particularly popular feature with large enterprises, as they usually already had a working patch solution that they stuck with.  When VMware announced with the release of vSphere 4.1 that it would remove the guest OS patching feature in the next iteration, it really put the nail in the coffin.  So I’d postulate that this 2 server model is the one that the vast majority of vSphere users have at the moment.

So what’s new?

vSphere 5 comes with many more components which you now need to consider (new ones in blue):

  • vCenter itself
  • vCenter database
  • vSphere Update Manager (VUM) – note the vCenter > vSphere name change with v5 for VUM
  • VUM database
  • vSphere Web Client (* see note below)
  • ESXi Dump Collector
  • Syslog Collector
  • AutoDeploy
  • Authentication Proxy

 

With so many separate components, many deployment possibilities exist.  Arguably the largest of deployments can do this:

However, I think the most likely candidate for the Next Generation, is something modelled around a 3 server deployment for the larger deployments.  Companies can choose which additional components they might want and selectively install them on a Components Server. (Smaller companies can obviously consolidate services as they see fit across 1 or 2 servers)

Personally I think very large organisations with the most demanding of vSphere infrastructures are more likely to scale-out to multiple vCenter instances using Linked Mode, instead of further splitting this 3 server model.

The new Linux based vCenter Server Appliance currently has two limitations which will restrict its adoption in these larger deployments:

  • No Microsoft SQL support
  • No Linked Mode

Once these are overcome we’ll see an even more diverse mix of designs.  vSphere architects will be able to slice-and-dice with more efficiency, and scale as required in a more dynamic fashion.  For now I think we’ll see this 3 server design become de rigueur.

Note *

The Web Client has a “service” component that should be installed centrally.

The RC version of the vCenter Server and Host Management PDF states:

VMware recommends that you register a given vCenter Server system
with only one vSphere Web Client instance

Once this service is installed, it has to be registered via a browser (with Flash) on the server that it’s installed on.  It cannot be registered remotely.  I’m not sure how good I feel about having to install Adobe Flash alongside my critical vCenter components just for this registration step.