Cloud Computing – What does it mean?

“The Cloud” is the term that has been thrown around a lot in the past few years. Some people miss understand what this means, and at times it is just a catch phrase that some IT professionals use because it just looks good on paper. I hope to clarify the general idea here in simple terms, and give a few good examples of cloud computing you may have been using all along.

For the most part Cloud computing is a hosted service of some sorts, or even software as a service. Basically you don’t have to manage the hardware that is hosting your application. Sometimes this means huge savings in administration costs. This sounds too easy right, you probably thought there was more magic to it and that there was more too this didn’t you. Well for the average user, it is business as usual, but in the back end it usually involves much more to support.

Goals of Cloud Computing:
* Reliability
* Simple and Automated
* Access from anywhere
* Ability to collaborate
* Not hardware dependent (Meaning that it probably runs on a hypervisor)

To achieve these goals the next cache phrase that is used is “Virtualization”, Virtual networks, virtual storage, virtual servers, even virtual switches. Virtual IT technology has enabled us to do more by adding layers called hypervizors between our applications and servers and the hardware, and allow us to use hardware more efficiently. Instead of one to one ratio we now run 4,5,6, and even 10 or more servers on a single physical host, which are usually clustered together with several other hosts that allow migration of applications between hosts to balance the load.

Vendors such as NetApp and EMC have done what VMware did with virtual servers and applied it to centralized storage. This allows us to do things with our data and storage growth we would have never thought possible a few years ago.

These technologies can be used to create both public and private clouds, and many times it is a mixture.

Ok, now you’re asking “What do I use today that is probably in the cloud?”

The list is huge here because technically speaking the cloud is really not a new thing, but rather a new way of thinking about internet technology. For example Google and Amazon are a couple of the most well known providers of public cloud interfaces for many services such as e-commerce, e-mail, office software, file storage, Voice over IP, spam filtering, anti-virus, web content filtering, accounting software, project management, Social Networking, and on and on.

So what can be on the cloud you ask? Well pretty much everything, and even Microsoft is trying to get in on the action with enterprise services such as Office 365.

How secure is the cloud? Well that depends, and I could go on and on about network security. My suggestion is to do your homework and read the privacy policies for where your service is hosted. Make sure that compliance needs are met and that vendors are held accountable for their security measures should they fail. Pretty much all the same rules apply as always.

In short Clouds are nothing new, other then the technologies that support them on the back end. They allow you to have access from anywhere (Mac, PC, smartphone).

Adding Multiple Cores in vSphere 4.0 4.1 4.x

Basically you still select the number of vCPUs, but then you would also set in the advanced setting a new row to define how many of these CPUs are divided into a single virtual Socket. This is an advanced setting in vSphere, you add a row for “cpuid.coresPerSocket” and set the value to 2, 4, or 8. In Vmware workstation it is a little more straight forward, but I guess VMware feels that system admins should be comfortable working with vmx files and configuring advanced settings like this.

Example:
If you have 8 vCPUs and you select 2 for the cpuid.coresPerSocket, that would equal 4 sockets with 2 cores each
If you have 8vCPUs and you select 8 for the cpuid.coresPerSocket, that would equal 1 socket with 8 cores
If you have 4vCPUs and you select 4 for the cpuid.coresPerSocket, that would equal 1 socket with 4 cores

Just remember the values need to be 2, 4, 8 in both values and the number of vCPUs needs to be divisible by the number of cores per socket (cpuid.coresPerSocket).

What flexibilities this adds to your Virtual Machine in vSphere is that on standard editions of Windows you can now see up to 8 cores, and most software is per socket not core. So for MS SQL for example you could have running on one socket that has 8 cores and only need one CPU license, otherwise if you don’t do use multicores you would need 8 licenses at around 8k each .

Read this KB for details on how to configure multiple cores and the exact requirements.
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1010184

The only real down fall is that you need to power off the VM to make this change, other than that it only takes a few second to configure.

Setting Up Jumbo Frames on a VMware ESX Hosts

Jumbo Frames can be an important part of a IP Storage network, it reduces the overhead for a TCP/IP packet by increasing the MTU from 1500 to 9000 per packet. Now there are some strict requirements you need to follow to make this happen, or you will have MTU miss match errors that will actually slow down your storage network instead of speeding it up.

First Make sure you configure your SWITCH VLAN that will handle the traffic to use jumbo frames. For example on a HP Procurve from the configuration prompt:

vlan 30
jumbo

Second make sure that you configure a an interface on the Storage device that is also on this VLAN to use jumbo frames to communicate with your Host device. This depends on your storage vendor, but reading the documentation you should figure it out quickly.

Third configure all your host devices to communicate with your storage device via jumbo frames on the same vlan. Now I keep saying “same VLAN” for a very good reason, as you will quickly run into the dredded MTU missmatch errors if you try to route communications between VLANs. If you need to route to other devices or a device of a WAN that are not using jumbo frames then you must use a dedicated interface to communicate with the other device with MTU 1500. This interface does not have to be physical, on NetApp this can just be a VIF without -9000 configured on it.

Now that you have soem background on Jumbo frames here is how to enable them on a vSwitch on a VMware ESX host.

I created the VMware Networks port group on vSwitch2 called IPStorage before running the following CLI commands on the ESX host

First in the vCenter or Network Configuration add your vSwitch and setup a portgroup, in this example I used vSwitch2 and called the port group IPStorage. Once this is setup use put or login to the console of your ESX host.

Prep the vSwitch with the following command subsitute vSwitch2 with the vSwitch you wish to target

esxcfg-vswitch -m 9000 vSwitch2

now configure the portgroup as you named it earlier and assign it an IP at the same time

esxcfg-vmknic -a -i 10.10.2.10 -n 255.255.255.0 -m 9000 IPStorage

Finally test your configuration by trying to ping your storage interface with a jumbo frame packet:

vmkping -s 9000 10.10.2.101

If your ping fails make sure that your storage interface is correctly configured and on the same VLAN and subnet, also ensure that you have Jumbo Frames enabled the switch in the VLAN you are using. Also make sure that when you setup your portgroup in the VMware GUI that you input the VLAN number if you are using tagged vlans on the port.

Installing VMware tools on Ubuntu

I know this is pretty easy, just wanted to take note just incase I forget how easy it is to do this.

sudo apt-get update  
sudo apt-get upgrade
sudo mkdir /media/cdrom
sudo mount /dev/cdrom /media/cdrom
cp /media/cdrom/VMware*.tar.gz /tmp
sudo umount /media/cdrom
cd /tmp
tar xzvf VMware*.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl

When the installation scripts promps for answers, just hit Enter

Some helpful Ubuntu CLI Links

I consider myself a light Linux user at this point. I only use it when it makes for the best platform for a solution I’m working on. Here are a few links I found helpful for getting around, and for filling in gaps that other linux how tos asume you should already know:

Using the Terminal CLI commands and getting around – https://help.ubuntu.com/community/UsingTheTerminal

File Permissions – http://catcode.com/teachmod/

Configure Network DNS Host File – http://www.ubuntugeek.com/ubuntu-networking-configuration-using-command-line.html

Open a Tar File in Linux – http://www.pendrivelinux.com/how-to-open-a-tar-file-in-unix-or-linux/

Compile (make) a program in Linux – http://www.wikihow.com/Compile-a-C/C%2B%2B-Program-in-Ubuntu

fastSCP a good program for transfering files to and from linux and VMware ESX(i) hosts – http://www.veeam.com/vmware-esxi-fastscp.html

This list is not complete, so I’ll add the links as I find them.