Content:
Server virtualization is the process of dividing a physical server (computer) into multiple unique and isolated virtual machines (VMs) by means of a software application. To put it simply, this is a box with various storage sections.
A server divided into VMs is called a host machine (the box), and the VMs are called guest machines (the sections).
The whole process is controlled by a hypervisor.
A hypervisor is used for creating VMs, isolating them and dividing server resources. Thanks to that, each VM can operate as a computer with its own OS and software. This principle forms the basis for cloud computing and hybrid IT infrastructures.
Basically, a system administrator is a wood carver, and a hypervisor is their tool for carving the box and defining its section size, amount and material.
1. Type 1 hypervisor— a bare-metal or software hypervisor (Xen, KVM, ESXi)
There is only one layer between a VM and server hardware — a hypervisor.
2. Type 2 hypervisor— a hosted hypervisor (VMware Workstation, OpenVZ)
There are two layers between a VM and server hardware — an operating system and a hypervisor.
There is also the third type, a hybrid one, but it's a subject of big debate, so I won't load you up with useless information.
According to the VMware glossary, server virtualization has the following advantages:
Reduced server downtime,
Cheaper operating costs,
Less complex IT infrastructure,
Easy VM duplication and transfer,
Quicker workload deployment.
Server virtualization makes your IT infrastructure more efficient. So let's consider the delicious analogy between virtualization and pizza :)
Reason 1. To save money
Pizza |
Virtualization |
It's always cheaper to order a large pizza for the whole company than to bring many small pizzas. |
A powerful server or cluster with VMs is more cost-effective for large projects than dedicated servers for each task. |
Reason 2. To use various environments
Pizza |
Virtualization |
There are pizzas with many toppings. For example, “4 seasons”. One dough is used for any 4 tastes: meat, vegan, with tomato sauce, with cream sauce, spicy, etc. |
Virtualization provides for several VMs that can run different operating systems, their versions, and incompatible software — all on one server. VMs are commonly used for testing different platforms and solutions: quick deployment > testing > closure. For example, Windows and Linux running on the same server. |
Reason 3. To isolate users, their actions and data
Pizza |
Virtualization |
A pizza for the whole company doesn't stop you from taking any piece, getting all the onion and olives out of it, pouring some tabasco, dipping the piece into mayonnaise and eating it. Also, nothing stops you from cutting the piece and sharing it. It doesn't affect other pieces. |
Virtualization provides for isolating users. They can store their confidential data and do pretty much anything they want. For example, create virtualization within virtualization. And since all VMs are isolated, other users won't know anything. |
Reason 4. Not to have downtime
Pizza |
Virtualization |
Imagine you really want to eat your favorite pizza (that should be easy), but it's 50 cm in diameter — too big to eat solo. 3–4 pieces out of 8 would be more than enough to stuff yourself. Unfortunately, other pieces would have to stay in the fridge till tomorrow. And that definitely won't make them tastier. |
Virtualization decreases server downtime when you use only a small percentage of processing power. For example, 10% of server resources are allocated for mails, 30% — for databases, and other 60% — for a terminal server. |
Reason 5. To evenly spread the load between several servers
Pizza |
Virtualization |
An example: you are hungry and have ordered two 25 cm pizzas, one for you and one for your child. You've eaten yours quickly and are still not full, and your child is so full they can't even walk :) That would make sense to divide the pizzas proportionally to how hungry you are, not to buy two different pizzas for different purposes. |
Virtualization helps you to avoid uneven load spread: for example, when one server is loaded by 20%, and two other servers by all 100% (with many additional tasks in queue). |
Well, I hope you are not hungry, so let's jump to server virtualization hardware requirements :)