The hyperfile sits between the hardware and the vms and acts as a resource broker.

Virtualization is the process of running a virtual instance of a computer system in a layer abstracted from the actual hardware. Most commonly, it refers to running multiple operating systems on a computer system simultaneously. To the applications running on top of the virtualized machine, it can appear as if they are on their own dedicated machine, where the operating system, libraries, and other programs are unique to the guest virtualized system and unconnected to the host operating system which sits below it.

There are many reasons why people utilize virtualization in computing. To desktop users, the most common use is to be able to run applications meant for a different operating system without having to switch computers or reboot into a different system. For administrators of servers, virtualization also offers the ability to run different operating systems, but perhaps, more importantly, it offers a way to segment a large system into many smaller parts, allowing the server to be used more efficiently by a number of different users or applications with different needs. It also allows for isolation, keeping programs running inside of a virtual machine safe from the processes taking place in another virtual machine on the same host.

What is a hypervisor?

A hypervisor is a program for creating and running virtual machines. Hypervisors have traditionally been split into two classes: type one, or "bare metal" hypervisors that run guest virtual machines directly on a system's hardware, essentially behaving as an operating system. Type two, or "hosted" hypervisors behave more like traditional applications that can be started and stopped like a normal program. In modern systems, this split is less prevalent, particularly with systems like KVM. KVM, short for kernel-based virtual machine, is a part of the Linux kernel that can run virtual machines directly, although you can still use a system running KVM virtual machines as a normal computer itself.

What is a virtual machine?

A virtual machine is the emulated equivalent of a computer system that runs on top of another system. Virtual machines may have access to any number of resources: computing power, through hardware-assisted but limited access to the host machine's CPU and memory; one or more physical or virtual disk devices for storage; a virtual or real network inferface; as well as any devices such as video cards, USB devices, or other hardware that are shared with the virtual machine. If the virtual machine is stored on a virtual disk, this is often referred to as a disk image. A disk image may contain the files for a virtual machine to boot, or, it can contain any other specific storage needs.

What is the difference between a container and a virtual machine?

You may have heard of Linux containers, which are conceptually similar to virtual machines, but function somewhat differently. While both containers and virtual machines allow for running applications in an isolated environment, allowing you to stack many onto the same machine as if they are separate computers, containers are not full, independent machines. A container is actually just an isolated process that shared the same Linux kernel as the host operating system, as well as the libraries and other files needed for the execution of the program running inside of the container, often with a network interface such that the container can be exposed to the world in the same way as a virtual machine. Typically, containers are designed to run a single program, as opposed to emulating a full multi-purpose server.

Where can I learn more?

Want to learn how you can get started with virtualization? We've got plenty of resources for you. Be sure to check out our virtualization tag set, or take a look at one of these great articles.

  • Using Vagrant and Ansible to deploy virtual machines for web development by Betsy Gamrat.

  • Vagrant in 5 minutes, a lightning talk by Daniel Farrell.

  • Why tools like Docker, Vagrant, and Ansible are hotter than ever by Greg DeKoenigsberg.

This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

What Is Virtual Machine

This article describes the definition of a Virtual Machine, and its usage, etc.

Virtual Machine Definition

Virtual Machine is a complete computer system with complete hardware system functions that is simulated by software and runs in a completely isolated environment. The work done in a physical computer can be realized in a virtual machine. When creating a virtual machine in a computer, part of the hard disk and memory capacity of the physical machine needs to be used as the hard disk and memory capacity of the virtual machine. Each virtual machine has its own CMOS, hard disk and operating system. It can operate on virtual machines like physical machines.

Virtual Machine Systerm

The virtual machine system generates a new virtual mirror of the existing operating system. It has the same function as a real windows system. After entering the virtual machine system, all operations are carried out in this brand new independent virtual machine system. It can install and run software independently, save data, and has its own independent desktop without any impact on the real system. And it is a type of operating system that can flexibly switch between the existing system and the virtual mirrors.

The virtual machine system is different from the traditional virtual machine in: The virtual machine system will not reduce the performance of the computer. Starting the virtual machine system does not need to be time-consuming like starting the windows system. It is more convenient and faster to run the program; The virtual system can simulate the same environment as the existing operating system, while the virtual machine can simulate other types of operating systems; and the virtual machine needs to simulate the underlying hardware instructions, so the application program runs much slower than the virtual system.

Virtual Machine Resource Allocation

Virtual machine resources involve multiple aspects: CPU, memory, network, and disk. The relationship between these resources should be considered when planning a virtual machine. Otherwise, unreasonable allocation of resources will result in poor performance of applications in the virtual machine.

CPU

Each vCPU of a virtual machine runs on only one physical core. Therefore, the higher the CPU frequency, the higher the running speed of the virtual machine, and the greater the number of vCPUs will help improve the performance of the application. If the virtual machine needs to take up a lot of CPU time, consider assigning a second vCPU to the virtual machine. However, assigning more than two vCPUs to a virtual machine does not necessarily make the application run faster. Because only multi-threaded applications can effectively use multiple vCPUs.

RAM

RAM resources are usually limited, so you need to be extra careful when allocating RAM to virtual machines. After the physical memory is completely used up, it is necessary to determine which virtual machines can reserve the physical memory and which virtual machines need to release the physical memory. This is called "memory reclamation". When the physical memory occupied by the virtual machine is reclaimed, there is a risk that it will affect the performance of the virtual machine. The more memory the virtual machine is reclaimed, the greater the corresponding risk.

The wisest thing is to allocate only the memory needed to complete the work for the virtual machine. Allocating additional memory will increase the risk of recycling. On the other hand, when the virtual machine operating system uses unused memory as a disk cache, it will significantly reduce the performance requirements of the disk system, so there is a trade-off.

Network bandwidth

Network bandwidth includes two aspects: one is the bandwidth between the virtual machine and the virtual switch, and the other is the bandwidth between the virtual switch and the external network. For the connection to the external physical network, you must ensure that the host has the fastest physical network card. Virtual machines that perform a large number of network transfers, virtual machines, and data packet transfers all consume CPU time. Therefore, a virtual machine running on a CPU-limited server may face low network throughput because the CPU cannot quickly respond to requests.

Disk performance

Disk performance is often a silent performance killer. Virtual machine disk performance is limited by the number and type of array disks and the number of virtual machines running on it. Because the centralized shared storage architecture will cause all virtual machine disks to be accessed through the same location, the storage controller of the array and the disk overload will easily occur, leaving only the virtual machine waiting for the response from the storage.

Virtual machine waiting for disk IO and virtual machine CPU idle have a very different impact on performance. The virtual machine waiting for IO cannot do other work, so high I/O waiting time means that performance will definitely decrease. It is very important to carry out careful storage design to avoid the above situation.

Virtual Machine Main Usage

  • Demonstration environment, you can install a variety of demonstration environments, easy to do various examples;
  • Ensure the fast running of the host, reduce unnecessary junk installation programs, occasionally used programs, or test programs running on the virtual machine;
  • Avoid every reinstallation. Banks and other common tools are not used frequently and require confidentiality. They should be run in an environment separately;
  • Want to test an unfamiliar application, install it and delete it completely in the virtual machine;
  • Experience different versions of operating systems, such as Linux, Mac, etc.;

Related Knowledge Base

What Are the Differences Between Containers and VMs

Virtual machines are multiple guest operating systems based on hardware, which are emulated by a hypervisor. Containers are an application level construct, and emulate multiple virtual environments which share a single kernel.

Related Blog

How to Set up a DHCP Server on a Linux Virtual Machine

Dynamic Host Configuration Protocol [DHCP] is a communication protocol that computers use to automatically assign IP addresses to devices connected to a local network or over the internet. Prior to the invention of the DHCP protocol, adding any new computer to a network required manual action to add its Mac address to an IP address. Managing the network was complicated in case of a large number of hosts over a network. However, with the DHCP installed and configured on a local network, any computer that is accepted in the network automatically gets an IP address associated with its Mac address. A Domain Name Server [DNS] manages the generation of IP addresses, and a DHCP server automatically distributes the configuration among the hosts.

Migrate VMware VMs to Alibaba Cloud with Incremental Data Synchronization

Currently, Alibaba Cloud provides an agent-based cloud migration tool, which helps customer to migrate their VMware virtual machines to Alibaba Cloud Elastic Compute Service [ECS] servers. When using this agent, you need to install the agent on any virtual machines you want to migrate, doing so in an incremental basis. However, with Alibaba Cloud Hybrid Backup Recovery, thanks to its agentless migration option, you can migrate your virtual machines in a much more convenient and faster fashion. Hybrid Backup Recovery also provides an incremental migration option so that you can synchronize data before migrating it over to ECS.

Related Product

ECS Bare Metal Instance

Based on next-generation virtualization technology independently developed by Alibaba Cloud, ECS Bare Metal Instance features both the elasticity of a virtual server and the high-performance and comprehensive features of a physical server. Compared with its predecessor, the next-generation virtualization technology of these instances excel in supporting standard Elastic Compute Service [ECS] and nested virtualization technology. This enables you to retain the elasticity capability of common ECS while delivering the same user experience as physical servers.

Alibaba Clouder

2,629 posts | 697 followers

Follow

You may also like

Alibaba Clouder

2,629 posts | 697 followers

Follow

Related Products

  • Starter Package

    High-performance virtual machines with data transfer plan, starting from $2.50 per month

    Learn More
  • Machine Learning Platform For AI

    An end-to-end platform that provides various machine learning algorithms to meet your data mining and analysis requirements.

    Learn More
  • VPC

    A virtual private cloud service that provides an isolated cloud network to operate resources in a secure environment.

    Learn More
  • Machine Translation

    Relying on Alibaba's leading natural language processing and deep learning technology.

    Learn More

Which program is used to manage computer resources and various VMs?

A hypervisor communicates directly with a physical server's disk space and CPU to manage the VMs.

How does hypervisor interact with hardware?

How does a hypervisor work? Hypervisors support the creation and management of virtual machines [VMs] by abstracting a computer's software from its hardware. Hypervisors make virtualization possible by translating requests between the physical and virtual resources.

What is the difference between physical servers and VMs?

VMs have an additional level of isolation and can run an independent OS on top of the hypervisor. A physical machine can be split up into many VMs, where each has its own purpose, making it different than the bare-metal example above, where the physical server only runs one service.

What is the physical machine that runs the VMs?

Virtualization uses software to simulate virtual hardware that allows multiple VMs to run on a single machine. The physical machine is known as the host while the VMs running on it are called guests. This process is managed by software known as a hypervisor.

Chủ Đề