What is Virtualization?
Virtualization is a software solution that enables the existing physical hardware to be used much more efficiently with the help of virtual machines, eliminates various software and hardware dependencies, and thereby achieves significant savings in operational and development costs.
It has many different areas of use.
- Server Virtualization
- Application Virtualization
- Desktop Virtualization
Advantages of Virtualization
Sanallaştırma ile, sistem kaynaklarının yüksek verimle kullanır, aynı donanım üzerinde farklı işletim sistemlerini kullanabilir, ihtiyaç anında çok hızlı şekilde yeni sunucu oluşturabilir, kolaylıkla yedekleme yapar ve yedekten dönersiniz. Sanal makinelerin bileşenleri tüm işletim sistemlerinde kolaylıkla tanınacak şekilde düzenlenmiştir bu sayede donanım uyum sorunlarından kurtulursunuz. Bu imkanlarla donanım maliyetlerinde %50 ye varan azalma sağlar, operasyonel kurulum ve bakım maliyetleri %80 e varan oranda azaltırsınız.
We can group virtualization as a method under 3 main headings.
Software-based virtualization
It is done by installing virtualization software on top of an installed operating system.
- VMware Workstation
- Oracle VirtualBox
- VMware Player
- Microsoft Virtual PC
2. Hardware-level (close to hardware) virtualization
It is done by installing an operating system customized for virtualization on the server.
- VMware ESXi
- XEN
- Microsoft Hyper-V
- Proxmox (KVM, LXC)
3. Vessel virtualization
Container is the general name given to each server created as a result of the logical partitioning of a physical server's hardware. The resources used by the virtual servers are the same, and the servers are managed independently of each other. When the server resources (RAM, CPU) allocated to virtual servers are not being used by them, they can be used by another server. In short, it is a shared structure.
- LXC
- Docker
Layers in Software Virtualization
If virtualization is done via software, a host operating system is installed on top of the hardware resources. After the virtualization software is installed on this host operating system, virtual servers are created and run within this software.

An issue that occurs in the host operating system will indirectly affect the virtual servers as well. Software virtualization is a method mostly used for personal purposes. You can install VMware Workstation or VirtualBox on your personal computer and then create the small virtual servers you need within this structure. In the upcoming slides of this unit, the installation and usage of these software will be covered.
Layers in Hardware Virtualization
When we want to avoid the disadvantages of software virtualization and create a cloud structure by pooling multiple hardware resources, we use hardware virtualization solutions. In this application, an operating system customized for virtualization (xen, vmware esxi, proxmox) is installed on the hardware resources, and these resources are combined into a single pool.

Virtual machines are created within this pool. The most important advantage of this structure is that you can scale hardware resources. It does not matter on which physical hardware resource the virtual server is located.
The structure serves as a single IT system. In the event of a hardware failure, you can isolate the relevant hardware resource from the structure, make the necessary adjustments, and then reintegrate it into the structure. Virtual machines are created within this pool. The most important advantage of this structure is the ability to scale hardware resources. It does not matter on which physical hardware resource the virtual server is located. The structure serves as a single IT system. In the event of a hardware failure, you can isolate the relevant hardware resource from the structure, make the necessary adjustments, and then reintegrate it into the structure.
Container Virtualization
Pros
- Since resource control is provided by the kernel, unused resources can be shared among other containers.
- Since containerization is at the file level rather than the image level, it is easily backed up and portable.
- From the end-user perspective, an operating system running inside a container is practically indistinguishable from a physical installation.
- Most software that runs on physical hardware can also run when containerized.
Cons
- It works with a shared kernel and shared modules.
- All containers must be Linux.
- Isolation is used as a mechanism instead of hardware virtualization.
- Network management is based on isolation. (Containers cannot use their own network, routing, and packet filtering mechanisms)
Full virtualization
Pros
- Resources are dedicated to virtual servers.
- Virtual servers are easily backed up and portable since they are at the image file level.
- From the perspective of processor- and memory-dependent service software, a fully virtualized virtual server performs much better than container virtualization.
- Virtual servers can be Windows or Linux.
- Almost any software that runs on a physical setup can also run when installed inside a dedicated virtual server. (except for software that uses hardware keys)
- Networks can be created between virtual servers. Each virtual server can use its own packet filtering mechanism.
Cons
- Since the resources are dedicated to virtual servers, unused resources cannot be made available to other servers.
Basic Concepts in Server Virtualization
VPS (Virtual Private Server) It is the general name given to each server resulting from the logical partitioning of a physical server's hardware. The resources used by virtual servers are the same, and the servers are managed independently of each other. When server resources (RAM, CPU) allocated to virtual servers are not used by those virtual servers, they can be used by another server. In short, it is a shared structure.
VDS (Virtual Dedicated Server) Dedicated virtual servers, known as such, are created not by sharing resources on a physical server, but by directly partitioning the resources at the hardware level. In other words, when the server resources allocated to a server are not in use, another server cannot use these resources.
Solutions Used in Virtualization
You can use OpenVZ or LXC to create Linux virtual servers that share resources from a pool. To create Windows or Linux virtual servers with resources dedicated by the virtualization platform, you can use paid software such as VMware ESXi, XEN, or Microsoft Hyper-V. As open-source solutions, KVM or VirtualBox can be used. Proxmox is an open-source solution that incorporates both KVM and LXC technologies.
- VPS – Virtual Private Server
- Linux VPS (OpenVZ, LXC, Docker)
- VDS – Virtual Dedicated Server
- Paid
- VMware ESXi
- XEN
- Hyper-V
- Open-source
- KVM
- VirtualBox
- Paid
KVM – Kernel Virtual Machine: an open-source full virtualization solution

KVM is an open-source full virtualization solution. With KVM, virtualization has descended to the kernel level. KVM is developed in the C programming language. Because software virtualization solutions depend on the host operating system in many aspects, KVM emerged out of necessity. KVM consists of a module that is part of the Linux kernel and userspace tools.
It can be managed from the command line with virt-tools and via a graphical interface with virt-manager. It contains all the capabilities that a complete virtualization solution should have. KVM is the core system required to perform full virtualization in the Linux kernel. There are many virtualization solutions that use KVM on the kernel side: qemu, libvirt.
KVM Procurement and Installation
It can be installed from source code, or easily installed since its packages are available in the repositories of Linux distributions.
| Debian | apt-get install qemu-kvm libvirt-bin virt-manager |
| CentOS / Red Hat | yum install kvm libvirt python-virtinst qemu-kvm bridge-utils |
Container-based free virtualization solutions :
The main open-source virtualization solutions can be listed as Linux VServer, OpenVZ, and LXC (Linux Containers). Although Docker initially used the LXC architecture, it later created its own architecture.
Proxmox VE – Open-source server virtualization solution
Proxmox is an open-source solution that incorporates both KVM and LXC technologies. It is open source. Support is paid. It is a separate distribution based on Debian Linux.
It is possible to create Kernel-based Virtual Machines (KVM) and container-based virtual machines (LXC) on the same server with PROXMOX. It is developed using python, C, perl, and PHP languages. It can be managed from the command line and the web interface. The web interface can be in Turkish. Thus, you can create Windows or Linux VDSs along with Linux VPSs on the same system.
Proxmox VE definition and installation
Proxmox installation ISO file https://www.proxmox.com/en/downloads
available at.



