Exploring VMware Infrastructure 3 as Your Virtual Solution
V Mware Infrastructure 3 (VI3) is a robust, feature-rich, fault-tolerant, and highly reliable platform for virtualization. In fact, VMware created x86-based virtualization. (Now that I got that out of my system, it’s time to explore the possibilities of saving time and money with your virtualization project.) Most x86 computers don’t use their hardware to the fullest capacity because de facto system design often dictates that you use a single server for a single purpose. As I mention in the book’s Introduction, virtualization simply uses “smoke and mirrors” to separate your programs and operating systems from the hardware on which they run. That way, many virtual machines use common hardware, and the hardware is far better utilized. In this chapter, virtual machines, ESX hosts, the benefits of virtulization, and VI3 are covered. Additionally, the last section describes the major steps in implementing your virtual infrastructure.
Knowing What You Must About Virtual Machines
Making as many of your physical machines as possible become virtual is the end game of virtualization. The more you virtualize (convert physical to virtual machines), the more benefits you see, and the more you realize how
reliable and stable a platform VMware Infrastructure 3 is. Being skeptical by nature, I went slowly at first, but I quickly began to trust VMware the more I worked with it
Virtual machines: The non-physical workhorses
For all intents and purposes, virtual machines are just like physical machines. You can log on to them; and they have BIOS, hard disks, memory, CPUs, operating systems, and applications. In fact, if you connect remotely to a machine, you’ll never know that it’s virtual unless someone tells you. Virtual machines work and behave just like physical machines. Even the machines themselves don’t even know they are virtual!
Virtual machine pluses and minuses
Aside from all the general benefits of virtualization (covered in the “Benefitting from VMware Infrastructure 3” section, later in this chapter), here are the major pluses for using virtual machines:
They can be rebooted much faster than physical machines. I was able to reboot one server in 15 seconds!
They are more simpler than their physical counterparts. For instance, there are no array controllers to configure in the virtual machines.
They are easy to back up and restore. The entire machine is stored in a set of files.
Unfortunately, there are also downsides. However, you can easily minimize the downsides:
Support can be a gray area. Some software vendors might tell you, “Hey, it’s on a virtual machine. We don’t support that.” Pay for VMware support and know your own operating systems to mitigate this risk.
Troubleshooting can be a little tricky. People troubleshooting a prob lem on a virtual machine might incorrectly deduce the problem is caused because the machine is virtual. As long as you hone your own troubleshooting skills, this risk is minimized
I had a consultant tell me that the most likely problem with a report running slowly and having connectivity issues was because the server was virtual. I had to prove to her that it was the report — not the virtual machine — before we could resolve the issue.
Inherent flaws are transferable. Flaws in a virtual infrastructure design can affect all virtual machines. This, in turn, will affect all users of those machines. Watch where you make your trade-offs, and design your system with ample capacity to avoid this risk.
Some apps can be troublesome for time syncs. For example, I have one application that throws off the virtual machine’s time sync. You can compensate for this by synching the virtual machine’s time to the ESX (Engagement Simulation Exercise) host. (An ESX host is a server that your virtual machines run on. It provides access to all the hardware resources your virtual machines share.) In turn, sync your ESX host to your network’s time source.
Symmetrical multiprocessing and why you care
Commonly, physical machines use multiple processors. In fact, you’d be hard pressed to find a server that doesn’t come with at least a dual-core processor. Each core is treated as a separate CPU, so a machine using a single, dual-core CPU is taking advantage of symmetrical multiprocessing (SMP). In the physical world, multiple CPUs can greatly aid in processing speed. Things are a little different in the virtual world, however.
Your ESX host will most likely have multiple processors with multiple cores. Whenever your virtual machine needs the CPU, the VMkernel (covered in the next section) can send the work to any CPU in your ESX host. Your single CPU virtual machine is, therefore, getting benefits similar to SMP without even knowing it.
If you have a license for SMP, you can assign multiple processors to a virtual machine. However, just because you can do something doesn’t mean that you should. Dual, virtual CPU machines force co-scheduling of physical processors.
With co-scheduling, if one physical processor is scheduled, a second one is as well. This can take resources away from your other virtual machines. Additionally, if Process 1 on virtual CPU1 is waiting too long for Process 2 on virtual CPU2 to finish, both processes might get scheduled out (finish their allotted share of CPU time and lose the processor until their next turn) before completion. This can negate the benefits of using multiple CPUs.
Best practices dictate adding multiple CPUs to a virtual machine only if you can prove an increase in performance. This is because multiple virtual CPUs can have some negative side effects
Potential performance hit: If you give a virtual machine multiple CPUs, you remove some of the scheduling flexibility available to the VMkernel. This trade-off might (no guarantee) give a few machines a performance boost, but at the cost of your other virtual machines losing perfor mance. If you really need one machine to have a performance boost, you might want to try using a resource pool instead of SMP. Resource pools are covered in Chapter 14.
Prevent processor fragmentation: If you have two, single-core proces sors or two, dual-core processors, you can create a processor fragmen tation scenario using SMP. If you create a dual-CPU virtual machine, it might experience processor starvation.
Say a single CPU virtual machine is running on one processor, and the dual CPU machine has two active threads ready to run. Both threads need to be co-scheduled, but one physical CPU is in use, so neither thread is scheduled. Meanwhile, only one physical CPU is in use, and the other is just sitting there: doing nothing. Enabling hyperthreading (making a single processor appear as two processors to an SMP-aware operating system to make the CPU run more efficiently) allows a single core CPU to act like two physical CPUs for a virtual machine. Enabling it alleviates the processor fragmentation problem in systems that have more than one processor
Understanding the Role That VMkernel Plays
Even though each of your virtual machines thinks that it has its own dedi cated hardware, the machines actually share a common pool of hardware. The magician creating this illusion is the VMkernel that runs on each ESX host. The simplest way to think of the VMkernel is as a scheduler: It sched ules virtual machines access to resources. The VMkernel even schedules the management console that you use to configure and operate your ESX hosts. The VMkernel virtualization model is shown in Figure 1-1.
Virtual Machine layer: Here all your operating systems and applications are neatly housed in separate virtual machines. Each virtual machine thinks it is a physical machine with its own hardware, but this is not the case. The ESX tricks all the virtual machines.
ESX layer: The VMkernel is the boss of this layer. The kernel schedules hardware for the virtual machines as well as the management interface. The VMkernel is a liar. It tells all the virtual machines that they are physical entities and have access to their own hardware
VMware Infrastructure 3
Using the VMware Infrastructure product suite enables you to virtualize servers, storage, and networks. In addition, the suite offers you ways to add extreme fault tolerance as well as centralized management, load leveling, and centralized backup
VMware always offers several different ways to purchase their products. Below are the offerings for version 3.5 (the offerings for 3.0 were entirely different):
Single ESX: You can buy the plain ESX that you install on a hard drive or ESXi, which has the operating system on a chip instead of a hard drive.
VMware Infrastructure Foundation: This is ESX with a few bells and whistles and offers you automated updates, a VirtualCenter Agent, and Update Manager.
VMware Infrastructure Standard: This is ESX with more bells and whistles and offers everything in the Foundation level plus High Availability. This allows you to essentially create an active-passive cluster and would be the minimum level of fault tolerance that is acceptable for production systems.
VMware Infrastructure Enterprise: Every available option — If you want it all, then this is for you. This package provides every possible fea ture to enable active-active fault tolerance and dynamic load balancing across servers. If you are virtualizing datacenters, you want the Enterprise package
Benefitting from VMware Infrastructure 3
Virtualization simply makes life easier from a technical and administrative viewpoint. Fortunately, it also makes life easier from an economic viewpoint, so everyone can agree that virtualization is a good thing. Before you decide to virtualize, consider some of its many benefits:
Better hardware usage rates: This translates to needing less hardware to do the same amount of work
Lower hardware-maintenance costs: You need fewer physical servers, which means less maintenance contracts to pay for.
Lower cooling costs: Less heat is generated, so less cooling is needed
Lower electric costs: You have fewer physical servers so your electric bill drops. VMware is a very green technology.
Lower space costs: Your server room can be much smaller, which leaves more room for offices. And face it, it is the people in the office that pro duce your company’s income. The server room is an expense that you can help minimize.
Longer infrastructure run time from UPSes: If you virtualize all your physical servers and keep the same UPS system, think how much longer it can run during an outage — especially if you are condensing twenty or thirty virtual machines onto one physical machine.
Faster server deployment: You can deploy a new server in as little time as about 15 minutes. And you don’t need to spec-out hardware and wait for delivery. In fact, deploying a server from a template is as easy as right-clicking and answering a few simple questions.
Simplified management: All your virtual servers use the same drivers, and servers are just a collection of files on a hard disk. Whether you’re installing a program or adding virtual hardware to a server, all servers are managed through the same client.
I’ve added “hardware” to a virtual server in New Jersey remotely from a beach in Sarasota. Nice!
Easy backup and fast recovery: Again, your servers are just a bunch of files
The ability to freeze your server in time through snapshots: You can take a snapshot before applying a Service Pack. If you have problems after the update, you can go back in time to before the service pack was applied instead of rebuilding your server and restoring your data. Fixing a bad update takes only minutes instead of hours.
Quality-of-life improvement: All the time and effort saved makes your IT life much better! All the money you save makes management extremely happy as well. Everyone benefits from virtualization
After reading this list of benefits, you likely think that using virtualization can prevent many IT headaches — and you’re right! Time to meet the components of VI3.
After you start to virtualize machines, it can become very addictive. You might even get the overwhelming urge to create far more virtual machines than you actually need. You should resist that urge! In fact, this is called virtual machine sprawl. While it does not take up as much space as physical server sprawl, it can be detrimental from an efficiency, resource, and management point of view. As a rule of thumb, only create a virtual machine if you would have created a physical machine to accomplish your goal in the past.
No comments:
Post a Comment