430 likes | 903 Views
VMware 101. What is VMware?. Agenda. What is VMware? Virtualization Foundation VMware ESX/ESXi Virtual Machines Networking Storage Management Special Features. What is VMware?.
E N D
VMware 101 What is VMware?
Agenda • What is VMware? • Virtualization Foundation • VMware ESX/ESXi • Virtual Machines • Networking • Storage • Management • Special Features
What is VMware? • To start with, VMware is a software company. They develop a number of products, mostly around the virtualization space. Their key competitors are Microsoft & Citrix at this point. Some of their most well known products are Workstation, ESX/ESXi, Server, & View • VMware Workstation is a tool that can be used by IT professionals and developers to create multiple “virtual machines” for testing purposes on their workstation • VMware ESX/ESXi is their flagship enterprise virtualization product that allows you to run multiple “virtual machines” on one physical server. • VMware Server is another product that allows you to run multiple “virtual machines” on one server, but there’s some key differences • VMware View is their desktop virtualization offering that allows multiple “virtual desktops” to run on one physical server • For the purposes of this presentation, we’ll focus on ESX/ESXi
Foundation • Virtualization is a topic that is talked about frequently, but rarely defined. • Virtualization is the creation of a virtual version of something, whether hardware, storage, network, etc. • This uncouples resources from the underlying physical hardware they run on. • Easier to move servers around when they are not physically attached to one particular piece of hardware. • This ‘uncoupling’ allows for easier migration of systems since there is no tie to a physical piece of equipment residing in one facility
Foundation • Virtualization for servers has been around for some time. • VMware capitalized on this space in the x86 server market. • Virtualization for storage is starting to be more popular, as well as networking. • Many of these moves are related to the ‘cloud’ computing market that requires a full de-coupling of physical infrastructure from the instances & applications that run on them
ESX/ESXi • VMware ESX is the flagship server virtualization product from VMware. • ESX was first released in 2001, though usage did not pick up until ESX 2.5 was released in 11/2004. • ESX is an Operating System (OS) itself, and is installed on a ‘bare-bones’ server, that is, a server not running any other OS. • ESX is composed of two key components, a Linux kernel that is commonly called the service console running Red Hat Enterprise Linux, and the vmkernel. • While this can get quite confusing, the Linux kernel is started, which then starts the vmkernel, which then moves the Linux kernel to be the first virtual machine it runs • ESXi will make this more confusing • The vmkernel itself is not a Linux OS, though some of the modules within the vmkernel are derived from Linux modules.
ESX/ESXi • The vmkernel is the ‘secret sauce’ that ESX brings to the virtualization space, as it interfaces to the hardware and the virtual machines, allowing each virtual machine to believe it has access to the physical resources. • This vmkernel also implements some of the more advanced features that we’ll discuss later, including VMotion, SVMotion, DRS, HA, VMFS, and others. • This approach where the physical server runs the ESX OS itself, and then virtual machines, or guests, run on top of ESX, reduce the overhead compared to other virtualization platforms that require an underlying OS to be installed, and then virtual machines are created on top of that.
ESX/ESXi • ESXi is a new version of the ESX product line, and will be the standard going forward for VMware ESX. • In the ESXi model, the Service Console has been removed completely, leaving just the vmkernel • There are some new modules that have been added to the vmkernel to help manage it; a bare bones menu system has been added to create the initial configuration needed to manage it later • This has reduced the number of patches and security risks from the system tremendously. • The vmkernel itself is under 100mb, allowing systems to run ESXi on a USB flash drive. • This helps to drive the virtualization process forward even more, as the physical servers themselves are just processing engines, and contain no critical data. • This also reduces the overhead used by ESX itself, providing more resources to the virtual machines itself. • All new ESX releases after 4.1 will be based on this model.
Comparison of ESX vs. ESXi ESX ESXi
ESX/ESXi • When you purchase a new physical system to run ESX or ESXi, the first step is to install ESX. • We’ll concentrate on ESXi for now. • The ESXi install itself takes about 6 minutes and requires you to answer one question on which disk to install ESXi. • Once it’s installed, there are some basic configuration steps to complete: • Set a root password • Configure Management Network – This is the initial network needed to manage ESXi with a GUI later. • Once this is complete, we’re on the way to creating virtual machines, or guests.
Virtual Machines • Virtual machines are the virtual instances, guests, or VM’s (depending on what you like to call them) that run on the server. • Within ESX, virtual machines are defined with some basic properties. • To start with, we define a new virtual machine with a name. Once we define a name, we set the OS of the virtual machine (Dos, Windows, Linux, etc.). • The next step is to figure out how much resources this VM will receive. You can choose as much memory as you’d like, the number of vCPU’s (virtual CPU’s), how many hard drives, how many network adapters, and some other options like floppy drive or CD-ROM. • More on those options later. • Once this virtual machine is defined with these properties, we can “Power On” our VM and install our guest OS.
Virtual Machines • For each of the properties of a VM, there’s some options and discussions that need to take place. • Starting with the easy ones, Floppy & CD-Rom • If the VM doesn’t need access to a Floppy or CD-Rom, then do not add those to the VM, as they can take a small amount of resources away. Typically you connect the CD-Rom to an .iso image that is used to install the OS or other applications on a temporary basis only when needed
Virtual Machines • Moving onto Network adapters, basically each VM should have at least one network adapter. • Now the network adapter defines one virtual network card, the network it’s connected to, and its MAC address. • We will go into more detail on the network configuration later. • For systems that require more virtual network cards, you can keep adding Network adapters like any regular physical server. • Each VM also needs a hard disk to store its information, like a physical server. • When a new VM is created, it needs a place to store the OS that will be installed, and any data volumes. When a new hard disk is created, you tell ESX where the data will go, which will be stored in a disk somewhere. These disks are also commonly called “vmdk”. This disk also needs to know how large it should be, so a size has to be set.
Virtual Machines • Onto the last two items that define a VM, CPU and memory. • CPU is a fairly simple process where you select 1, 2, 4, or 8 vCPU’s for your virtual machine. • You should be as conservative as possible with this configuration, so if your VM only needs 1 processor, do not give it 2, as the scheduling between multiple processors can consume more processing power than it provides to the VM. I recommend no more than 2 vCPU’s per VM unless there is a special case, like SQL or Oracle Databases. • Memory is also a fairly simple process where you select how much memory the VM can use. • For both memory and CPU, you can over-allocate resources, like an airline that oversells its seats • If your physical server has 32GB of memory, you can allocate 128GB to virtual machines, and in some cases, not see any performance issues. • ESX does a good job of managing memory, and will share memory if each VM is looking for the same data set, or will compress memory if need be. • The same applies to CPU’s • In both cases, over provisioning needs to be well managed or it will cause performance issues
Storage • For any VM, we discussed that we need to store data relating to that VM. Now we’ll discuss more about how that data is stored, and where it is stored. • All VM information is stored in two key files, one storing configuration information, the other storing data. • The configuration file, also known as .vmx, stores the configuration of the VM, including the details on the name, configuration, options, etc. • The data file, also known as .vmdk, stores the data that the VM stores. • Both of these files make up the VM itself, and can be moved to another ESX host if need be.
Storage • These files are stored on a shared storage system, using technologies like Fibre Channel (FC), iSCSI, NFS, etc. • This is to ensure multiple ESX hosts can access the VM’s that are running to provide some extra features that we’ll discuss later. • These files are stored on special volumes, formatted in the “VMFS” format. There are different versions of VMFS, the latest is 3. • This VMFS format allows for some of the features above, and will go into more detail later. • Basically, VMFS allows any one ESX host to lock one individual file, or group of files that comprise a VM. • This differs from traditional file systems that only lock an entire volume, not an individual file.
Networking • Networking can take up days of planning, but I will try to get to the key components. • Traditional physical servers are connected to the specific network they need access to, whether it’s an internal secure network, DMZ, etc. • The server is patched into a particular network port, which is configured to be on the appropriate network, and we’re done. • In the virtual world, one physical server may support many networks. This is not possible if we patched in one cable for each network when there could be hundreds of possible networks.
Networking • We need to instead create network configurations that allow our physical ESX host to have access to many networks, using VLANs, Port Aggregation, and trunking. • In a typical configuration, each network in a site is defined by a VLAN. • Our physical ESX host will need a physical connection that is set to trunk mode, which allows access to every VLAN. • Considering that each physical host could support multiple VM’s, we typically bond multiple network connections into one logical connection using Aggregation protocols like pAgp and LACP. • This configuration allows us to define, per VM, which VLAN it belongs to. The ESX kernel then tags all traffic that VM sends with its proper 802.1q VLAN tag.
Networking • Usually this is a good place to bring in a traditional network engineer into the mix, as not all networks are designed to allow one connection to have multiple VLAN’s, especially in secure environments. • The flexibility of ESX networking is that no matter what the network configuration, there’s a way to create an ESX configuration to match.
Management • With all this talk about ESX, we are now onto the actual management of the software. • When we go back to the installation, we defined an IP address to use for management. • This allows us to use a GUI, the vSphere client, to manage this ESX host. • If we were managing multiple hosts, we could also install server software called Virtual Center Server that would let us manage multiple hosts from one console. • Within the vSphere client, we connect to the management IP of the ESX host, using the root username and password we defined earlier. • This management console lets us configure networking, storage, VM’s, and other advanced options.
Management • When you first logon you’ll notice there are some configuration options specific to the ESX host, and some specific to VM’s. • Its always important to remember whether you’re making changes to the entire host, or, to VM’s. • In an environment of multiple ESX hosts, there are other groupings that are created to help manage some advanced features and to more easily manage multiple hosts as one logical grouping. • Datacenters are created that allow multiple ESX hosts to be grouped into one logical datacenter. Within that datacenter we can apply permissions, alerts, and other options. • Within Datacenters you can create clusters, which are sub-groupings that enable some special features within ESX.
Special Features • Now many people are asking why ESX, why should I pay for a product like this, when there are other free applications out there. I’d like to discuss some of the special features that ESX has to help answer that question.
Key Features • VMotion • VMotion is a technology that allows a running VM to move from one physical ESX host to another physical ESX host in the same datacenter cluster with NO disruption. • Yes that’s right, no disruption. If you were streaming in HD the Super Bowl using a VM, and wanted to move it to another ESX host without disrupting the VM, you would use the VMotion technology to do that. • In the ESX design, where the VM is really a few files, and what is in memory, VMotion copies the data in memory to the other ESX host, then quickly changes which ESX host has access to the .vmx and .vmdk files. That’s it. • In practice, this can reduce outages due to hardware maintenance to zero.
Key Features • Storage VMotion, SVMotion, is a new take on VMotion, this time with storage. • Traditionally, moving data from one storage array to another is a large task, taking lots of downtime to accomplish. • SVMotion allows running VM’s to be moved from one storage system to another with no disruption. • Adding onto the previous Vmotion slide, SVMotion copies the .vmdk file to another array, and then tells the ESX host to use the new file. • This reduces to zero the time required to upgrade the storage supporting ESX.
Key Features • Building on VMotion are two other technologies, DRS, and HA. • HA, or High Availability, is a feature that keeps track of which ESX hosts are online. • When an ESX host fails, all the VM’s running on that host will also fail. • HA realizes the ESX host is down, and then restarts all the VM’s that were running on the failed ESX host on other ESX hosts in the same cluster. • This reduces downtime significantly for hardware related issues that take down an ESX host in your cluster. • DRS is a feature that load balances out the ESX hosts themselves. • Traditionally, if you had some number of ESX hosts in a cluster, each could be overloaded with VM’s. • DRS looks at each ESX host in the cluster, and then VMotion will move VM’s around the cluster in order to balance out performance of each ESX host. This can be configured in multiple ways, but VMware has such confidence in their VMotion technology that DRS will move VM’s between ESX hosts throughout the day with no disruption.
Key Features • There are some other add-ons and features that add to the value of ESX that I will not go into, but once you start looking, you’ll find features that enhance security, networking, Disaster Recovery, and more.
Now while I do not work for VMware, nor do I make any money off VMware products, I have been using ESX since version 2.5 and hopefully this helps get a basic technical overview of what ESX is and what it does. • At one of my employers, ESX enabled us to: • Reduce power consumption in one datacenter from 80kVA to under 40kVA within 3 months. • This also reduced our annual hardware support contract by approximately $100k a year. • Reduce our network port requirement in the same datacenter down to 32 physical network ports from 160. • Provide 220 VM’s for new projects without any capital requests • Migrate a datacenter of about 600 servers (physical and virtual) in three and a half months to another datacenter while hitting all of our Service Level Agreements, most of which were above 99.9% availability. • Provide services to 50,000 users across 800 sites with 1400 servers, of which 55% are virtual, including some critical applications like SAP. • Any questions please feel free to add comments to the blog and I will get back to you.