vCenter Server Linked Mode: An API Perspective

A new feature called vCenter Linked Mode has been introduced in vSphere 4. It allows several vCenter servers to form a linked mode group. When you connect to any of the vCenter server via vSphere Client, you see all of them behind a single pane of glass.

I got questions from time to time, “what does it mean for vSphere API?” More specifically, if you connect to one vCenter in a linked mode group, will you “see” all of them? If not, how can vSphere Client achieve that?

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

After waiting so long, I finally got a chance to get my hands dirty with a linked mode environment, thanks to my colleague in our QA organization. The following are my observations/findings.

First of all, the vSphere Client does a great job to provide an integrated view. Still, it’s a shallow integration among these vCenter servers. It actually connects to each individual vCenter server, and combines information on the client side. But how does a vSphere Client knows what other vCenter in the group while connecting to only one of them? The trick is the LDAP which stores these information, as well as roles, privileges, license, etc. according to this video. Beyond that, linked mode feature comes with global query service which is a backend with external cache. Because it’s external to vCenter, I don’t think it’s accessible via vSphere API.

Once we understand how vSphere Client works in the linked mode, it’s fairly easy to say that linked mode does not change the functionality and scope of vSphere API service on each vCenter server. If you want to emulate what vSphere does, you basically need to do something similar: access LDAP for all member vCenter and connect to all of them. BTW, the open source VI Java API makes it really easy to connect multiple vCenters at same time.

To confirm this, I also used MOB to access both vCenter servers in a group and find their inventory trees under rootFolder are totally separate. Even in vSphere Client, each vCenter takes a top level root node in the inventory tree anyway.

In summary, vCenter linked mode does not make your life any easier from API perspective. The API service in each vCenter in a group behaves pretty much the same as does independently.

This entry was posted in vSphere API and tagged , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Comment

  1. ap
    Posted January 18, 2012 at 4:20 am | Permalink

    Consider the following scenario : I have a vCenter Server lets call it VC1 and i linked a vCenter Server say VC2 after its installation with VC1. Now the question which persists after reading your blog is that, if i connect to VC2 using VI Java, and if i query VC2 about the no. of VM’s , will it include the Vm’s under VC1 also since VC1 and VC2 are linked using linked mode configuration.

    Thanks in advance.

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.