Sunday, April 17, 2011

VMware's VMotion Technologies


I wanted to write my blog post to expand on the topic of VMware’s VMotion technology.  Being an IT Professional, I have found this technology to be one of the most important advances in availability and redundancy.  To a system administrator, using VMware’s VMotion technology would’ve been thought of as a dream 10 years ago.  Coming from a 24/7 computing environment, getting agreement from users to allow system downtimes has always been a pain.  Whether you need to maintenance a server, like applying firmware or patches, or if you need to swap out to newer hardware, it always used to mean middle of the night or weekend work, which nobody likes if they can avoid.  What VMware’s VMotion technology has brought to the table is the ability to move the workload from one VMware server to another.  That is, if you have a server that is virtualized with VMware, it can actually move from one VMware “host” server to another without ever having a downtime.  I went to a VMware conference where I attended what they call a deep dive session on the subject and wanted to go more into depth on how it actually works.  I won’t go into the high level details about VMware guests and hosts as those topics were covered in the video lessons.
The two types of VMotion VMware has currently available is VMotion where it moves the workload from one server to another allowing you to free up the host server for maintenance, etc.  The other type of VMotion is called “Storage VMotion” that allows the administrator to move the actual data location of where the virtual server is located to another storage device or drive.  This is useful in many of the same ways that regular VMotion is useful in because it allows the administrators to do maintenance on the storage, or move to a different class of storage, etc.
The first technology VMotion technology I will talk about is regular VMotion (not Storage VMotion).  When you ask the system to VMotion a virtual server off of a host or physical server, the key is that the virtual machines, also known as VM’s, are stored on shared storage and shared network space.  This means that every host in your VMware farm can see the same data storage and network.  When a VMotion is performed, the active memory and execution state of the virtual machine is transferred to another host in your VMware farm.  A copy of the data in memory is moved to the host the moving guest will become live on, and then a delta copy of data is done until it reaches a small enough amounts of data where it can halt the virtual machine for literally a few milliseconds and copy the tiny delta left and then bring the system up on the new VMware host.  The user and operating system never notices that it is now on a new piece of physical hardware.  Once you VMotion all of the “guests” off of a VMware server, it is no longer hosting a workload and you can take it down for maintenance, replace it, or do whatever you need to do to the system.  I included a link to YouTube video that will give you some graphical representation of what I am talking about.
Video created by HPC Systems on Youtube.

The second VMotion technology I will talk about is Storage VMotion, and it works in a similar manner to the above concept.  When you need to move the location of the VMware files to new storage, you can use storage VMotion to accomplish this.  It copies the virtual machine files to new storage, and then does a delta copy, and finally when it has such a small amount to copy left it momentarily halts the execution of code and brings the VMware guest up on the new storage.  This is different than regular VMotion because during a regular VMotion, the data stays on the same storage, but just moves to another physical server.  I included another link to a YouTube video that further explains the technology I’ve been discussing.


Video created by Varrow on Youtube.
These technologies have really changed the lives of system administrators as I mentioned above, giving much more flexibility in how we do our work.  Sometimes when using VMware at work, I almost feel like I am cheating because I’m doing things that used to be so difficult and time consuming and VMware has made those same tasks so easy and manageable.
I’ve included some links so you can do some more reading on  the VMotion technologies and other amazing technologies by VMware.  They are really an innovative company and I always look forward to what new technologies they are working on releasing in the future.



Sunday, March 27, 2011

IPv4 vs IPv6 basic overview

I’d like to expand on the different IP models, IP version 4 (IPv4) vs. IP version 6 (IPv6).  Many people are aware that each computer or internet connected device must have a unique IP address that provides connectivity to the internet.  Normally this happens by way of a DHCP server, which is a server that handles the delivery of IP addresses to end devices.  For example, when you connect to the internet, your internet provider has a DHCP server that automatically issues an IP address based on a pool of IP’s it has.  Once your computer has been assigned the IP, you can then connect to and browse the internet.
I took a screenshot of my computer’s IP address; you can see it under the section IPv4 address.

Right now, IPv4 addresses are made up of four sections and each section is called an octet.  This is because each section represents a group of 8 bits which when combined together create an IP address.  The IPv4 protocol can have as many as 4.3 billion possible address combinations.  This sounds like a lot of addresses, but now that the world is increasingly relying on the internet for business, entertainment, and day to day activities, the number of IP addresses will eventually run out.  This is one of the reasons IPv6 will be implemented.  IPv6 will be able to support 2128 billion IP addresses.  This is a huge jump in the number of available IP addresses between the two protocols.
Here is a great video that goes over some IP basics and talks about IPv4 vs. IP v6


Luckily, most of the IP information needed by your computer is automatically negotiated (via DHCP server discussed before) between your computer and your ISP (Internet service provider), so you really don’t  need to know the specifics between the two protocols for your computer to work, but it’s really interesting to see how something so complex functions. 
Another really great feature that we will get when IPv6 is implemented as the mainstream IP delivery technology will be what is called IPsec (Internet security protocol).  IPsec can be used in IPv4, but is mandatory in the IPv6 protocol.  This means that traffic will be encrypted by default where with IPv4 traffic; you actually had to configure encryption to work.  This will greatly increase the security of internet communications.
I’ve included some links below to read more about IPv6 if anyone is interested:
Microsoft Site on IPv6

I hope you have enjoyed learning more about a techonolgy that we will be moving to in the future.  Although, if implemented correctly, you will never even notice a change when you are moved to the new system.

Monday, January 17, 2011

RAID Array Basics


Computer hard drives that are combined together to setup a RAID configuration is something we learned about in the videos on computer hardware (Weeks 2 and 3).  The acronym RAID stands for "Redundant Array of Inexpensive Disks".
An example of a hard drive that could be used to create a RAID array.  You would need at least two of these drives.  Photo credit: Public domain from (http://publicphoto.org/)


The ability to use multiple hard drives that act like one drive to a computer operating system is a topic I wanted to explore further.  Setting up a RAID array on your computer can offer performance or redundancy, or in some configurations can offer both advantages.
The videos in week 2 and 3 taught us about RAID 0 (Striping) and RAID 1 (Mirroring).  Sometimes I get the types of RAID configurations mixed up, and one easy way that I use to remember the difference between RAID 0 and RAID 1 is to think of the zero in RAID 0 to mean you get zero redundancy protection when using that configuration.  Although you have the most performance with RAID 0 because the data being written has the combined horsepower of two hard drives, if one of the hard drives in the array were to stop working, you would lose all the data on both drives since the data is striped across the set of drives.  Striping means some of the data is written to one drive and some of the data written to the other, which is why you get the speed increase.   In other words, make sure you have good backups of your data.  You could equate the performance increase of RAID 0 to a car that has two engines.  The car is going to be able to drive much faster with two engines; however, the engines in this car rely on each other to work so if one fails you have complete engine failure.
Alternatively, RAID 1 mirrors the data across both drives so if one drive were to fail, you would still be able to access your data that is an exact copy on the other working drive.  When a drive failure occurs, you would want to replace the failed drive as soon as possible to let the data replicate from the working drive to the replaced drive so you are once again in a “mirrored” configuration.  This method of RAID doesn’t offer any performance increase because the same data is being written to both hard drives at one time for redundancy purposes.
In the below video, I show a business class server (a computer that would go into a datacenter) that is setup in a RAID 1 configuration.

My HP DL360 Server with a RAID 1 configuration



There are other types of RAID configurations than just RAID 0 and RAID 1.  Since the server in the video only has two drive bays, it would be limited in the types of RAID configurations you can setup with it.   Other RAID configurations, such as RAID 5 require a minimum of 3 hard drives.  RAID 5 is one of the types of RAID configurations that offer both performance and redundancy as mentioned above.
A good overview of the most common types of RAID configurations can be found here.  I liked this site because it limits its scope to only the most common RAID configurations and also describes the advantages and disadvantages of each one.  You can read more about RAID 5 here.
I hope my blog about RAID explained why you would want to use this technology and the different options to boost performance and reliability of your computer system.