From the course: Learning Virtualization

Increased complexity

- [Instructor] In this section, I'd like to talk about one of the disadvantages of virtualization, and that is increased complexity. So anytime we add a hypervisor to a IT system, we have increased the complexity of that system. Some specific things that might become more complex are the network, the storage, and the troubleshooting. We'll look through each of these one at a time. First, let's talk about our network. Virtualization is typically going to increase the load on the network. Obviously, creating new servers, and those servers need bandwidth. That will increase the load. Also, virtualization typically doesn't work very well with local storage. To get the most out of virtualization, we'll be going with some sort of storage attached to the network. And that means lots of packets flowing across on our network or information from the storage subsystem. We also have to think about virtual network devices. Most hypervisors support some concept of a virtual switch that allows the different virtual machines to talk to one another and allows the virtual machines to communicate with the outside world. The details of that virtual switch are somewhat hidden from us, and to actually administer that switch and look into it can be difficult. With virtual machines, when we clone the machine or duplicate a machine, we sometimes inadvertently come up with two virtual machines that have duplicated IP addresses and duplicated MAC addresses. Once these problems are found, they're pretty easy to clean up, but it can be a little difficult to find them. In my experience actually, duplicated IP addresses, those errors come up quickly and most operating systems will alert you to them. Duplicated MAC addresses can be a little more difficult to find. The details of that often hidden to the end user, and the end user just experiences very slow network performance. Once you find that the root cause is actually a duplicated MAC address, typically fairly easy to fix. Let's also talk about how virtualization increases the complexity of our storage. As I mentioned, there can be some performance problems with local storage. The total throughput of a local drive is typically not sufficient to run multiple virtual machines. So we'll need to go to a network attached storage or a SAN. We will probably need to increase the quantity of our storage. Virtual machines tend to be quite large, and therefore we will need a large quantity of storage. You'll also need to worry about the quality of your storage. In a lot of virtual machines scenarios, the bottleneck is the storage subsystem, and therefore higher quality storage will give you better performance. One more thing I'd like to talk about is how troubleshooting can become increasingly complex in an IT system that includes a hypervisor. Whenever we get into a troubleshooting scenario on virtual servers, we have to consider is the problem the hypervisor? In my experience, the problem is typically not the hypervisor, but every time I do a troubleshooting of a virtual machine, it's always in the back of my mind. And it's always one more thing to consider that "What if?" the hypervisor is the problem here that makes troubleshooting more complex.

Contents