Category Archives: Technology

Everything new about technology

Upcoming Blog List

I have been procrastinating but the following are my upcoming posts.

1. SSL Configuration on host – How to configure custom certs on host.

2. Talk about what NSPAN, ERSPAN are – which are supported in ESXi 5.1 Networking

3. Talk about LACP which is supported in new ESXi 5.1 Networking – Link Aggregation Control Protocol to bind links to push traffic

Atleast  these three before this week – I promise!

What you need to know about Jumbo Frames

rjapproves QuickY (For the impatient like me!)

> Jumbo frames pack more data in each network frame, so a frame with more payload, less cpu overhead, more data throughput
> Anything more than 1500 MTU is a jumbo frame and the maximum supported is 9000MTU.
> Can use for inter-vm traffic, vkernel traffic(iscsi), vmotion traffic
> Need to be enabled for the entire stack end-to-end to reap benefits. L2 switches not configured will drop frames, L3 will fragment them if not configured
> Enable Jumbo frames  – esxi 4 – esxcfg-vswitch -m 9000 vswitch0 and for vkernel – esxcfg-vmknic -m 9000 vmkernelname
> Enable Jumbo frames – ESXi 5 – esxcli network vswitch standard set -m 9000 -v vswitch0 and for vkernel – esxcli network ip interface set -m 9000 -i vmk0
> For DVS, use the client and edit settings–Advanced
> List all network info – esxi 4 – esxcfg-vswitch -l or esxcfg-vmknic -l
> List all network info – ESXi 5 – esxcli network interface list

In Depth

I have been into vmware for sometime but never really got to know what Jumbo frames were all about. So here goes. Jumbo Frames in simple terms allow you to send more data packed in frames. This is beneficial for higher throughput and also for lower cpu overhead. Remember, the more the frames, the more cpu resources you are burning up to send all the frames. This is basically the same through out the stack and by stack I mean your hypervisor-switch-router-… etc.

So a Jumbo frame is a frame where the frame has a payload of more than 1500 MTU(Maximum Transmission Unit). Now typically Jumbo frames max out at 9000MTU. Remember that this roughly translates to 1500 bytes for standard and 9000 bytes for a jumbo frame. Actually the real size for a 1500MTU is actually 1522 bytes of data where the 22 bytes include source and destination mac addresses(12 bytes total) + optional 802.1q vlan tag (4bytes) + ethertype(2bytes) and CRC32 error correction trailer (4 bytes).  A blog i read about while researching claimed to have seen some cisco switches that could go up to 9216 bytes.

As mentioned above now by enabling a jumbo frame, you can pack as much data in one frame, thus the hypervisor has to send less frames to send the same amount of data, improving speeds and also lower cpu overhead.  You can use jumbo frames for traffic between vms, vmotion or even iscsi which is supported in ESX(i) 4 and ESXi 5.

The only catch with jumbo frames is that it is a end to end setup. That means from your hypervisor to your switch to the other end should support jumbo frames. Some routers, when they get a jumbo frame, fragment it and assemble them on the other end and it only adds overhead which is just bad design. Also if the switches are not configured with Jumbo frames, they will just drop it so you will break connectivity!

How to enable Jumbo Frames?


You have to enable jumbo frames on the vswitch or the dvs that you may be using. You can either use the client to do that or from the service console,
For ESX(i) 4 – esxcfg-vswitch -m 9000 vswitch0    —> Remember this command sets the MTU on the nics.
For ESXi 5 – esxcli network vswitch standard set -m 9000 -v vSwitch0
Remember the above commands will set all nics associated to that vSwitch to MTU 9000.
You can also enable jumbo frames for vKernel interfaces as follows.
For ESX(i) 4 – esxcfg-vmknic -m 9000 portgroup_name  –> I read that you actually need to delete and recreate the vmk in ESX(i) 4 but did not test it.
For ESXi 5 – esxcli network ip interface set -m 9000 -i vmkernel_interface  —> vmkernel_interface as in vmk0 or vmk1

To list all switch info 
For ESX(i) 4 – esxcfg-vswitch -l or esxcfg-vmknic -l
For ESXi 5 – esxcli network interface list

Comment to discuss more or correct me 🙂

Resources – 

Running Usbarbitrator Start Issue

So I am not sure why but my home lab breaks almost all the time.

This time I got this error running ESXi 5,
“Running usbarbitrator start”
My box was stuck for a long time and then booted. My box does run off of a usb stick but that shouldn’t have been an issue as it worked just fine until now.
Googling –
So the USB Arbitrator service allows for usb passthrough. Now if this service is running, it will not allow you to access usb devices in the service console. Now I am not sure why this is causing an issue for my box. Vkernel log shows,
“usb passthrough enabled; all eligible devcices will be unclaimed by kernel drivers…”
Now I logged in and went directly to the console and disabled the usbarbitrator service. I couldn’t login to the client and it kept kicking me away.
“chkconfig usbarbitrator off”
Official vmware doc says you need to reboot your server once you turn the usbarbitrator service off. KB Article here

ESXCLI tips for ESXi 5

Just a quick post on ESXi 5 command line tips.

Remember, with ESX i 5, vmware wants to get rid of esxcfg- commands and wants us to use esxcli commands instead.
I was stuck with networking and found the below command to help me a little.
> esxcli network interface list
Above lists all the networks on your hypervisor
> esxcli network interface ipv4 get
Above prints out all the ipv4 addresses in your system. By that I mean vmk ports.
> esxcli network interface ipv4 get -i vmX
Replacing X above will get you just the vmk port group with its ip, netmask, ipv4 broadcast, address type info.
Try them 🙂

Rackspace Launches OpenStack Private Cloud

Exciting news is that Rackspace launched OpenStack Private cloud!

More info about Open Stack Private cloud.

 

Don’t forget your commands


In today’s dont forget your commands section or DFYC for short,

To login on mysql server,
>mysql -u username -p (hit enter) and then the password prompt is shown.
To create a database obviously,
> create database xxxxx;
To create a user,
> create user username identified by “password”;
To grant this user privs on a db
> grant all privileges on db.* to [email protected];
Dont forget to flush privileges
> flush privileges;

Python and Me – How to create a simple function?

I have always been into programming but never had been full time in it. Now I will admit I did get super close to getting hired as a jr. java programmer but that never happened!

While I have no regrets I am learning python now – not because I have to – but because I want to! Being able to write some code has always sounded cool to me and so here goes.

I am learning py (short for python here after) from a bunch of resources ranging from a pdf to codeacademy online. This is my first blog so I will kick this off with how to define a basic function in py(atleast what I have learnt so far).

So in py, you will declare a function with the DEF key word. Below is an example.
def myfirstfunction():
              print “this is my first function”
Well as you can see fairly simple, but wait – not so fast champ. So in py unlike in other languages, you don’t close a function. It sort of closes itself with the space thats left below the print. Py is a very space conscious language so watch out for those careless tabs and spaces that you may have in your program. Any weird spacing will throw a “IndentationError: expected an indented block”. So remember the statements start with atleast a space in py function and the function closes with a empty line after the last statement.
How do you call it? Well thats easy, just run myfirstfunction() and it will print – this is my first function.
Also remember you cannot start the function name with a number or special character.
Hit back if you have any questions.