Virtualization, VMware

vExpert – Let’s act as if it didn’t happen!

I received a mail over the weekend. It’s content was something like this:

Dear Bas Raayman,

We’re pleased to designate you as a vExpert 2011 as recognition of your contributions to the VMware, virtualization, and cloud computing communities. You’ve done work above and beyond, and we’re delighted to communicate more closely, to share resources, and to offer other opportunities for greater interaction throughout the year as we continue to grow knowledge and success in the community of IT professionals. Welcome to the vExpert 2011 Program!

[more stuff]

Now, first of all, it’s great to receive such a mail! I’ve been doing a lot of stuff with VMware as a part of my job, but I spend quite a bit of time outside of my job trying to share information related to VMware and virtualization in one way or the other. Being awarded with the title of vExpert is quite cool, and I would like to thank John Troyer and his accomplices who were busy trying to select the the people, reviewing what must have been hundreds of submissions.

But there’s one more thing to this package. Creating good content that people are actually willing to read and feel is valuable to them. After all, you are taking the time to read my posts, and I also need to thank you for that!

So, I’ve decided to do one thing. I’m going to act as if it didn’t happen, and as if I needed to take it up two notches to get the vExpert title. After all, it’s the effort that got me here in the first place, and me working even harder to create some good content can only benefit you as a reader, and myself by learning even more in the process of content creation.

So here’s to receiving the title, and at the same time to acting as if it didn’t happen. 😉

Virtualization, VMware, VMworld

VMworld session voting has opened | Update: And has now closed

Vote for someone else!

There, i’ve said it. And if you’re wondering if I took something, you are actually wrong.

As you most likely will know when you read my blog, I work for a company that is well known for their storage products, and is also known for software solutions in a boat load of ranges like backup, replication, business continuity and much more. And a large part of my job is working with customers that use, or considering using, virtualization technologies like VMware.

VMware has a big convention each year called VMworld, which brings the top speakers and topics to a central location for a couple of days to talk shop and show people what’s new and what’s good.

This year, like every year, there was a call for papers. Basically A request for people to send in their ideas and suggestions for topics and sessions that should be presented. And boy, did they get some feedback on their call. There were boatloads of papers submitted and reviewed by the VMware guys and girls, and in the end they left roughly 800 session in their system.

Now, 800 sessions might be a bit much for one convention, which means they need help in selecting the best ideas and the hottest topics, and they need your help.

How? Just go to the VMworld, register an account if you don’t already have one, and go through the list with session abstracts and vote for the ones that you think are best.

Did I also submit a session? Yep, and if you want to look it up, it’s session number 1863 and goes by the title of “vStorage APIs – What has changed since the introduction / How does it help me in real life?”.

But as I stated in the first sentence, vote for someone else. I’ve only partially seen the list of topics, but there are so many good sessions proposals out there! I’ve seen so many folks blowing their own horn over their sessions, and I’ve decided to take a different route. Take your time, go through the list, and pick the ones you like best. If that should include my session? Great! If not? No problem, since you get to decide what sessions should be included, and you make the difference in making sure that VMworld will be a rocking event with only the best info and sessions. And the only way to do that, is by making sure you vote for the sessions you want to see.

So go out there and vote and help make it a rocking event, and who knows, maybe we’ll get to see each other there!

Update: May 19th 2011

And the voting has now closed. Thanks for voting folks!

GestaltIT, vCloud Director, VMware, vSphere

Shorts: VMware vCloud Director not displaying the web portal

A colleague of mine approached me today with a question on our vCloud Director environment. He tried to log in to the vCloud Director portal, and was unable to log in, because there was no page being displayed at all.

After checking if I was able to ping the interface, I logged on to the machine to see if there were any obvious errors. The vCloud Director daemon was still running and so was the database, but a netstat did not show any listeners on the vCloud Director IP. So, after going over the vCloud Director log files, there was a pretty obvious error in the vcloud-container-info.log:

ORA-28001: the password has expired

So, you now stop your vCloud Director daemon and switch to your Oracle user to see what was going on inside of the DB:
sqlplus "/ as sysdba"

Now, list all the users to see if they have an expired password:
select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users;

Or display just the specific user:
select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users where username='VCLOUD';

And guess what came up:
USERNAME ACCOUNT_STATUS EXPIRY_DA
-------- -------------- ---------
VCLOUD EXPIRED 17-MAR-11

Expired is something that you don’t want to see for a user that is being used actively. So, let’s set the password again and unlock the user:
alter user VCLOUD identified by replace_this_with_your_password;
alter user VCLOUD account unlock;

So, once that is done, let’s check one more time:
SQL> select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users where username='VCLOUD';
USERNAME ACCOUNT_STATUS EXPIRY_DA
-------- -------------- ---------
VCLOUD OPEN 26-SEP-11

Now, start your vCloud Director daemon again, and in the log file you should no longer see the error, and the web interface should be working normally again.

Update – April 11th 2011:

One of my other colleagues actually ran in to the same issue and found my blog post. He gave me some feedback asking if I would not be able to add how to find the sqlplus binaries since not everyone is a Linux master, so here goes:

Normally, if Oracle is installed on Linux, it is one of the prerequisites to set the environment variables. Basically this means that you tune your system to allow Oracle to run on it. You perform tasks like telling the system how much shared memory to use, you set semaphores and create a seperate user under which the Oracle installation runs.

Part of these tasks usually also means setting the path to the Oracle binaries for this user I just mentioned. Now, in some situations, your database is already installed, but you don’t know as what user or in what directory. This is not necessarily an issue. Just use the “ps” command to list all processes from all users. Use something like:

ps -efor
ps auxf

and look for the Oracle processes. At the start of the line you should see as which user these processes are running.

Once you have identified the user, switch to said user, using the following command:

su - user_name
Obviously, replace the user_name with the actual username. The “su” (or “switch user” if you will) is a command to actually switch to a different user. The dash or minus sign that is appended after the “su” command, makes “su” pass the environment along unchanged, as if you were actually logged in as the specified user.

The benefit of adding the dash, is that the user environment is set correspondingly, meaning that your path for the Oracle user is also set. This in turn means, that you normally don’t have to worry about the exact path to the Oracle installation. Normally you can just enter “sqlplus” in the way described above, and you should be set.

Should you still not be able to find sqlplus, you can try using the “find” command to search for sqlplus. Try using something like this:

find / -name sqlplus
This actually tells the find command to start searching in the “/” or root-directory for files with sqlplus in their names. Depending on your Linux release, you could also change the “-name” option to “-iname”, which changes the search to ignore the case in your search. This way, your search would also return a result if the binary would be called SQLplus (most Unices and Linux installations are case sensitive).

Once you have found your sqlplus binary, just enter the full path to the binary and you should be set.

If you have any other feedback, just let me know folks, and I’ll be more than happy to append it to my post.

GestaltIT, Performance, Storage, VAAI, Virtualization, VMware, vSphere

What is VAAI, and how does it add spice to my life as a VMware admin?

EMC EBC Cork
I spent some days in Cork, Ireland this week presenting to a customer. Besides the fact that I’m now almost two months in to my new job, and I’m loving every part of it, there is one part that is extremely cool about my job.

I get to talk to customers about very cool and new technology that can help them get their job done! And while it’s in the heart of every techno loving geek to get caught up in bits and bytes, I’ve noticed one thing very quickly. The technology is usually not the part that is limiting the customer from doing new things.

Everybody know about that last part. Sometimes you will actually run in to a problem, where some new piece of kit is wreaking havoc and we can’t seem to put our finger on what the problem is. But most of the time, we get caught up in entirely different problems altogether. Things like processes, certifications (think of ISO, SOX, ITIL), compliance, security or just something “simple” as people who don’t want to learn something new or feel threatened about their role that might be changing.

And this is where technology comes in again. I had the ability to talk about several things to this customer, but one of the key points was that technology should help make my life easier. One of the cool new things that will actually help me in that area was a topic that was part of my presentation.

Some of the VMware admins already know about this technology, and I would say that most of the folks that read blogs have already heard about it in some form. But when talking to people at conventions or in customer briefings, I get to introduce folks over and over to a new technology called VAAI (vStorage API for Array Integration), and I want to explain again in this blog post what it is, and how it might be able to help you.

So where does it come from?

Well, you might think that it is something new. And you would be wrong. VAAI was introduced as a part of the vStorage API during VMworld 2008, even though the release of the VAAI functionality to the customers was part of the vSphere 4.1 update (4.1 Enterprise and Enterprise Plus). But VAAI isn’t the entire vStorage API, since that consists of a family of APIs:

  • vStorage API for Site Recovery Manager
  • vStorage API for Data Protection
  • vStorage API for Multipathing
  • vStorage API for Array Integration

Now, the “only API” that was added with the update from vSphere 4.0 to vSphere 4.1 was the last API, called VAAI. I haven’t seen any of the roadmaps yet that contain more info about future vStorage APIs, but personally I would expect to see even more functionality coming in the future.

And how does VAAI make my life easier?

If you read back a couple of lines, you will notice that I said that technology should make my life easier. Well, with VAAI this is actually the case. Basically what VAAI allows you to do is offload operations on data to something that was made to do just that: the array. And it does that at the ESX storage stack.

As an admin, you don’t want your ESX(i) machines to be busy copying blocks or creating clones. You don’t want your network being clogged up with storage vMotion traffic. You want your host to be busy with compute operations and with the management of your memory, and that’s about it. You want as much reserve as you can on your machine, because that allows you to leverage virtualization more effectively!

So, this is where VAAI comes in. Using the API that was created by VMware, you can now use a set of SCSI commands:

  • ATS: This command helps you out with hardware assisted locking, meaning that you don’t have to lock an entire LUN anymore but can now just lock the blocks that are allocated to the VMDK. This can be of benefit, for example when you have multiple machines on the same datastore and would like to create a clone.
  • XSET: This one is also called “full copy” and is used to copy data and/or create clones, avoiding that all data is sent back and forth to your host. After all, why would your host need the data if everything is stored on the array already?
  • WRITE-SAME: This is one that is also know as “bulk zero” and will come in handy when you create the VM. The array takes care of writing zeroes on your thin and thick VMDKs, and helps out at creation time for eager zeroed thick (EZT) guests.

Sounds great, but how do I notice this in reality?

Well, I’ve seen several scenarios where for example during a storage vMotion, you would see a reduction in CPU utilization of 20% or even more. In the other scenarios, you normally should also see a reduction in the time it takes to complete an operation, and the resources that are allocated to perform such an operation (usually CPU).

Does that mean that VAAI always reduces my CPU usage? Well, in a sense: yes. You won’t always notice a CPU reduction, but one of the key criteria is that with VAAI enabled, all of the SCSI operations mentioned above should always perform faster then without VAAI enabled. That means that even when you don’t see a reduction in CPU usage (which is normally the case), you will see that since the operations are faster, you get your CPU power back more quickly.

Ok, so what do I need, how do I enable it, and what are the caveats?

Let’s start off with the caveats, because some of these are easy to overlook:

  • The source and destination VMFS volumes have different block sizes
  • The source file type is RDM and the destination file type is non-RDM (regular file)
  • The source VMDK type is eagerzeroedthick and the destination VMDK type is thin
  • The source or destination VMDK is any sort of sparse or hosted format
  • The logical address and/or transfer length in the requested operation are not aligned to the minimum alignment required by the storage device (all datastores created with the vSphere Client are aligned automatically)
  • The VMFS has multiple LUNs/extents and they are all on different arrays

Or short and simple: “Make sure your source and target are the same”.

Key criteria to use VAAI are the use of vSphere 4.1 and an array that supports VAAI. If you have those two prerequisites set up you should be set to go. And if you want to be certain you are leveraging VAAI, check these things:

  • In the vSphere Client inventory panel, select the host
  • Click the Configuration tab, and click Advanced Settings under Software
  • Check that these options are set to 1 (enabled):
    • DataMover/HardwareAcceleratedMove
    • DataMover/HardwareAcceleratedInit
    • VMFS3/HardwareAcceleratedLocking

Note that these are enabled by default. And if you need more info, please make sure that you check out the following VMware knowledge base article: >1021976.

Also, one last word on this. I really feel that this is a technology that will make your life as a VMware admin easier, so talk to your storage admins (if that person isn’t you in the first case) or your storage vendor and ask if their arrays support VAAI. If not, ask them when they will support it. Not because it’s cool technology, but because it’s cool technology that makes your job easier.

And, if you have any questions or comments, please hit me up in the remarks. I would love to see your opinions on this.

Update: 2010-11-30
VMware guru and Yellow Bricks mastermind Duncan Epping was kind enough to point me to a post of his from earlier this week, that went in to more detail on some of the upcoming features. Make sure you check it out right here.

GestaltIT, vCloud Director, Virtualization, VMware

Shorts: VMware vCloud Director installation tips

So folks, I helped a colleague install the VMware vCloud Director. In case you are not aware of what the vCloud Director is I can give you a very rough description.

Think about how you deploy virtual machines. Usually you will deploy one machine at a time, which is a good thing if you only need one server. But usually in larger environments, you will find that applications or application systems are not based on a single server. You will find larger environments that consist of multiple servers that will segregate functions, so for example, your landscape could consist of a DB server, an application server, and one or more proxies that provide access to your application servers.

If you are lucky, the folks installing everything will only request one virtual machine at a time. Usually that isn’t the case though. Now, this is where vCloud Director comes in. This will allow you to roll out a set of virtual machines at a time as a landscape. But it doesn’t stop there, since you can do a lot more because you can pool things like storage, networks and you a tight integration with vShield to secure your environment. But this should give you a very rough idea of what you can do with the vCloud Director. For a more comprehensive overview, take a look at Duncan’s post here.

Anyway, let’s dig in to the technical part.

There are plenty of blog posts that cover how to set up the CentOS installation, so I won’t cover that at great length. If you are looking for that info, take a peek here. If you want to install the Oracle DB on CentOS, take a look here to see how it’s done.

Here are some tips that might come in useful during the install:

  • Use the full path to the keytool. There is a slight difference between /usr/bin/keytool, /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/bin/keytool and /opt/vmware/cloud-director/jre/bin/keytool. Be sure to use one of those, and if the commands to create and import your self-signed certificates are not working for some reason be sure to try a different one.

If you just simply create a database and browsed through the installation guide, you might have a hard time once you install the binary. Basically you run the “dbca” tool to create an empty database. If you by any chance forget to create the database files and run the installation binary (or the vCD configuration tool for that matter), you will receive an error while running the .sql database initialization scripts under /opt/vmware/cloud-director/db/oracle. The error message will tell you that there was an error creating the database.

Well, if only you had read the installation guide properly. Bascially what you do is start up the database:

sqlplus "/ as sysdba"
startup

Make sure that the path you use in the “create tablespace” command actually exists. If they don’t you need to perform “mkdir $ORACLE_HOME/oradata” first. Then create the tablespaces and corresponding files:

Create Tablespace CLOUD_DATA datafile '$ORACLE_HOME/oradata/cloud_data01.dbf' size 1000M autoextend on;
Create Tablespace CLOUD_INDX datafile '$ORACLE_HOME/oradata/cloud_indx01.dbf' size 500M autoextend on;

Now create a seperate user that we will give right for the database. The password for the user is the thing you type after “identified by”:

create user vcloud identified by vcloud default tablespace CLOUD_DATA;

Make sure that you give the user the correct rights to perform all the DB operations:

grant CONNECT, RESOURCE, CREATE TRIGGER, CREATE TYPE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE SEQUENCE, EXECUTE ANY PROCEDURE to vcloud;

Now run the setup script, or run the configure script and you should be set to go.

General, VMworld

Lack of updates and VMworld Copenhagen 2010

Hey folks,

first of all, I need to apologize. There have been way no updates for quite some time now. Things were hectic with me wrapping up things with my previous employer, and with getting things organized at my new spot. Things are slowly coming together, but it’s been quite time intensive, which left me with little time to actually write much for my blog.

But, things are hopefully changing. I’m headed for VMworld 2010 in Copenhagen, Denmark on Sunday, and I’m bringing along my digital notebooks. Since I’m still fairly new in my new role, I won’t have quite the same schedule as my colleagues, and I hope that this will allow me some time to visit some of the sessions and create some notes that I’m able to share with you all.

So, keep your eyes open for things to come in this space!

VMware, VMworld

UPDATE! Contest: Get away to VMworld with Gestalt IT / Pay it forward!

Some of you may have already read about the contest over at the Gestalt IT website, but I thought this contest was nice enough to give you an overview here and link back to the contest.

Now, I’m guessing that most of the folks reading here will be familiar with the event called VMworld, but for those that aren’t, here’s a short overview:

the annual VMworld gathering in San Francisco has become the central event for virtualization-related companies. Although focused on VMware, the conference draws many companies. And the labs and sessions are really awesome!

So, what is Gestalt IT doing? Because most people can’t afford to attend if their boss is not allowing them to go, Gestalt IT decided to set up a contest that will cover the following (if you should win):

  • One conference ticket.
  • One roundtrip air ticket from one of the major airports near you to SFO or another airport in the San Francisco area.
  • Three nights at a hotel within 1 mile of the Moscone Center in San Francisco (VMworld runs August 30 through September 2).

Now the final question would be what you need to do to enter, right? Well, we decided that VMworld was created for the community of VMware customers, users and partners. So, what we want to know from you is what you will do for our and/or your community by attending VMworld. Will you take notes from sessions and try to help people back home? Are you going to try and get some video interviews that will answer the burning questions your community may have? We want to know how you plan on “paying it forward”!

So, what are you waiting for? Get on over to the contest page to read all of the details and to enter the contest. We look forward to seeing your entries!

Update!

I received word that the contest has been extended. The winners will be announced Friday, August 13th. Yes, you read that right, winners. We were lucky enough to find some additional sponsors, which means that we will now give away two trips to VMworld. Check out the details here!


Also, a special thank you to Symantec and Xsigo for their help as a sponsor. And a thank you to two wonderful additional sponsors, Zetta and Veeam, that made it possible to pick two winners.

Uncategorized, Virtualization, VMware, vSphere

Shorts: What is it about cpuid.corespersocket on vSphere?

Time for another short! The google searches leading to this blog show searches coming in based on the cpuid.corespersocket setting. In this short I’ll try to explain what this setting is for and how it behaves. So, let’s dig right in!

The cpuid.corespersocket setting

In a sense, you would assume that the name of the setting says it all. And in a sense, it does. In the physical world, you will have a number of sockets on your motherboard, this number of sockets is normally also the number of physical CPU’s that you have on said motherboard (at least in an ideal world), and each CPU will have one or more cores on it.

Wikipedia describes this in the following way:

One can describe it as an integrated circuit to which two or more individual processors (called cores in this sense) have been attached.

…..

The amount of performance gained by the use of a multi-core processor depends very much on the software algorithms and implementation. In particular, the possible gains are limited by the fraction of the software that can be parallelized to run on multiple cores simultaneously; this effect is described by Amdahl’s law. In the best case, so-called embarrassingly parallel problems may realize speedup factors near the number of cores, or beyond even that if the problem is split up enough to fit within each processor’s or core’s cache(s) due to the fact that the much slower main memory system is avoided.

Now, this sounds quite good, but some of you may ask what kind of influence this has on my virtualized systems. The most obvious answer would be “none at all”. This is because by default your virtualized system will see the cores as physical CPU’s and be done with it.

So, now you are probably wondering why VMware would even distinguish between cores and sockets. The answer is quite simple; It’s due to licensing. Not so much by VMware, but by the software or operating system that you would like to virtualize. You see, some of that software is licensed per core, and some will license by the number of sockets (some even combine the two).

So how do I use it?

As with all things computer related… It depends. When you are using ESX 3.5 you have no chance of using it. With ESX 4, you can actually use this feature, but it is not officially supported (someone please point me in the right direction if this is incorrect). And starting with ESX 4.1 the setting is now officially supported, and even documented in the VMware Knowledge Base as KB Article: 1010184.

Simply put, you can now create a virtual machine with for example 4 vCPU’s and set the cpuid.corespersocket to 2. This will make your operating system assume that you have two CPU’s, and that each CPU has two cores. If you create a machine with 8 vCPU’s and again select a cpuid.corespersocket of 2, your operating system will report 4 dual-core CPU’s.

You can actually set this value by either going this route:

  1. Power off the virtual machine.
  2. Right-click on the virtual machine and click Edit Settings.
  3. Click Hardware and select CPUs.
  4. Choose the number of virtual processors.
  5. Click the Options tab.
  6. Click General, in the Advanced options section.
  7. Click Configuration Parameters.
  8. Include cpuid.coresPerSocket in the Name column.
  9. Enter a value ( try 2, 4, or 8 ) in the Value column.

    Note: This must hold:

    #VCPUs for the VM / cpuid.coresPerSocket = An integer

    That is, the number of vCPUs must be divisible by cpuid.coresPerSocket. So if your virtual machine is created with 8 vCPUs, coresPerSocket can only be 1, 2, 4, or 8.

    The virtual machine now appears to the operating system as having multi-core CPUs with the number of cores per CPU given by the value that you provided in step 9.

  10. Click OK.
  11. Power on the virtual machine.

If the setting isn’t shown, for example for those who want to experiment with it under ESX 4.0, you can create the values in the following way:

  1. Power off the virtual machine.
  2. Right-click on the virtual machine and click Edit Settings.
  3. Click the Options tab.
  4. Click General, under the Advanced options section.
  5. Click Configuration Parameters.
  6. Click Add Row.
  7. Enter “cpuid.coresPerSocket” in the Name column.
  8. Enter a value ( try 2, 4, or 8 ) in the Value column.
  9. Click OK.
  10. Power on the virtual machine.

To check if your settings actually worked, you can use the sysinternals tool called Coreinfo on your Windows systems, and on Linux you can perform a simple “cat /proc/cpuinfo” to see if everything works.

Cisco, EMC, General, VMware

It’s all about change and passion

Some of you who read the title of this post will already have a hunch what this is all about. Heraclitus seems to be the person who first stated:

Nothing endures but change.

And I can only agree with that. I remember reading a post from Nick Weaver about an important change in his professional life, and I love this quote:

By taking this position I am intentionally moving myself from the top man on the totem pole to the lowest man on the rung.

And I think that most people who have read Nick’s blog know that this wasn’t entirely the truth, especially when looking what he was able to do until now.

Well, Nick can be assured now. There’s actually on person on the team that is “lower on the rung”. That person would be me.

Time for a change!

I am joining EMC and taking on the role of vSpecialist, or as my new contract says “Technical Consultant VCE”.

I am also going to be leaving my comfort zone and leave a team of people behind that have been great to work with. I have been working at SAP for seven years now, and the choice to leave wasn’t easy. I was lucky enough to have worked with a multitude of technologies in an environment that was high paced and stressful, but very rewarding, and I want to thank all of my colleagues for making the journey interesting! Even so, it’s time for me to make a change.

I was lucky enough to get to know several people who already work in a similar role, and if there’s one thing that distinguishes them in my mind, then it would be the passion they have for their job. This was actually the main reason for me to make the switch to EMC. It’s not about making big bucks, it’s not about being a mindless drone in the Evil Machine Company or drinking the Kool-Aid, it’s about getting a chance to work with people that share a passion and are experts at what they do. It’s about the chance to prove myself and perhaps one day joining their ranks as experts.

So, while I wrap things up here at SAP, if all goes well I will be joining the vSpecialist team on October 1st, and hopefully you will bear with me while I find my way going through this change, and I do hope you drop by every now and then to read some new posts from me.

See you on the other side!

EMC, Virtualization, VMware, VPLEX

EMC VPLEX – Introduction and link overview

I’m currently visiting the Boston area because I’m attending EMC World. One of the bigger introductions made here yesterday was actually a new appliance called the VPLEX. In short, the VPLEX is all about virtualizing the access to your block based storage.

Let me give you a quick overview of what I mean with virtualized access to block based storage. With VPLEX, you can take (almost) any block based storage device on a local and remote site, and allow active read and writes on both sides. It’s an active/active setup that allows you to access any storage device via any port when you need to.

You can get two versions right now, the VPLEX local and the VPLEX Metro. Two other version, the VPLEX Geo and the VPLEX Global are planned for early next year. And since there is so much information that can be found online about the VPLEX, I figured I’d create a post here that will help me find the links when I return, and to also give you a one spot that can help you find the info you need.

An overview with links to more information on the EMC VPLEX:

Official links / EMC company bloggers / VMware company bloggers

Blogs and media coverage:

Now, if I missed one or more links, please just send me a tweet or leave a comment and I will make sure that the link is added to this post.