OpenStack, KVM, VMware, and Docker

Source: Internet
Author: User
Tags app service switches k8s vmware drs

First, virtualization

1. What is Virtualization

Virtualization refers to virtualizing a computer into multiple logical computers through virtualization technology. Running multiple logical computers at the same time on a single computer, each logical computer can run a different operating system, and applications can run independently of each other, significantly increasing the productivity of the computer.

2. What is Virtualization Technology

Virtualization technology is a set of solutions. The complete situation requires support from the CPU, motherboard chipset, BIOS, and software, such as the VMM software or some operating system itself. Even if only the CPU supports virtualization technology, in the case of software with VMM, it will have better performance than a system that does not support virtualization technology at all.

3. Types of Virtualization

    • Fully virtualized (full virtualization)
      Full virtualization also becomes the original virtualization technology, which uses virtual machines to coordinate the guest operating system and raw hardware, and VMM is used for work coordination between the guest operating system and bare hardware, and some protected instructions must be captured by hypervisor (hypervisor). Full virtualization runs faster than hardware simulations, but is less performance than bare metal.

    • Semi-virtualized (Para virtualization)
      Para-virtualization is another technology similar to full virtualization, which uses hypervisor to share access to the underlying hardware, but its guest operating system integrates virtualization-related code. This method does not need to recompile or cause traps, because the operating system itself can collaborate well with virtual processes. Semi-virtualized requires some modifications from the guest operating system to make the guest operating system aware that it is in a virtualized environment, but semi-virtualized provides performance similar to that of the original operating system.

Second, OpenStack and KVM, VMWare

1.OpenStack: Open Source management project
OpenStack is an open source project designed to provide software for the building and management of public and private clouds. It is not a software, but a combination of several major components to accomplish some specific work. OpenStack is comprised of the following five relatively independent components:

    • OpenStack Compute (Nova) is a set of controllers for virtual machine computing or using groups to launch virtual machine instances;
    • OpenStack Image Service (Glance) is a virtual machine image lookup and retrieval system, which realizes virtual machine image management.
    • OpenStack Object Store (Swift) is a set of storage systems that are designed to be object-based in large scale scalable systems via built-in redundancy and fault tolerance, similar to Amazon S3;
    • OpenStack Keystone for user Identity services and resource management, and
    • OpenStack Horizon, a Django-based dashboard interface, is a graphical management front-end.
      The Open source project, originally developed by NASA and Rackspace at the end of 2010, aims to create a cloud-based platform that is easy to deploy, feature rich, and easy to scale. The first task of the OpenStack project is to streamline the deployment of the cloud and provide it with good scalability, attempting to become a data center operating system, the cloud operating system.

2.KVM (kernel-based virtual machine) kernel-based VMS
KVM is hypervisor integrated into the Linux kernel, a full-virtualization solution for Linux with X86 architecture and hardware-enabled virtualization technology (Intel VT or AMD-V). It is a very small module of Linux, using Linux to do a lot of things, such as task scheduling, memory management and hardware device interaction and so on.
The biggest benefit of KVM is that it's integrated with the Linux kernel, so it's fast.

3.VMWare (Virtual machine Ware)
VMWare Ware is a Virtual PC virtual machine management software. Its products allow you to run two or more windows, DOS, and Linux systems simultaneously on a single machine. VMware uses a completely different concept than a "multi-boot" system. A multi-boot system can only run one system at a time, and the machine needs to be restarted when the system switches. VMware is truly "simultaneous" running, with multiple operating systems on the main system platform, just as the standard Windows application switches. And each operating system you can be virtual partition, configuration without affecting the real hard disk data, you can even use a network card to connect several virtual machines with a network card for a LAN, extremely convenient. Installed on the VMware operating system performance is much lower than the system directly installed on the hard disk, so it is more suitable for learning and testing.

Third, OpenStack and VMware

1. Design
The VMware software suite is a bottom-up architecture with the lower boundary being the virtual Machine Manager. Vsphere and Vcloud director products like VMware rely on the free ESX (i) Virtual Machine Manager, and ESX (i) Virtual Machine Manager provides them with a very good deployment architecture.
VMware's software systems are closed, and the development of the software is in full compliance with VMware's own development goals, and users or consumers do not have any control over it.

OpenStack, as an open source system, does not have a single company that controls OpenStack's path to development.

2. function
(1) VMware vMotion
The Vmotion is a collection of the three features of Vsphere DRS, DPM, and host maintenance. Where virtual machine dynamic migration allows one virtual machine to be migrated from one host to another on a 0 shutdown, which was originally supported for shared storage, but in vsphere 5.1, VMware has no need for dynamic migration through shared storage. When a virtual machine is migrated from one host to another, the memory state and data of the virtual machine are migrated in the past synchronously. In the case of shared storage, the data does not need to be migrated, only the link to the datastore is changed. This speeds up the migration and also reduces the load on the network during replication.

(2) OpenStack dynamic Migration
KVM Dynamic migration allows one virtual machine to be migrated from one virtual Machine Manager to another, and in a little more detail, you can go back and forth to migrate a virtual machine to the AMD architecture host and the Intel architecture host, but be aware that 64-bit virtual hosts can only be migrated to 64-bit hosts. However, 32-bit is available in both 32-bit and 64-bit options. During a dynamic migration, the virtual machine can no longer be operated on, but the user within the virtual machine continues to work inside the virtual machine. KVM relies primarily on shared storage, which in some way requires a bit of capital investment.

(3) OpenStack block Storage migration
In OpenStack, KVM supports block storage migrations, which means that virtual machine migrations are not required to support shared storage. In a block migration scenario, the memory state and data of the virtual machine are migrated, but the migration operation also consumes CPU resources on both ends and the operation takes longer to set hired the shared storage. In some user scenarios, if we focus on the maintainability of the host and don't want to spend too much money, then applying a block storage migration will be a good solution. At the same time, if there is no shared storage environment, we want to do kernel maintenance, security upgrade of compute nodes, so that the virtual machine service is not interrupted, block storage migration is also an ideal choice.

(4) VMware DRS and DPM
Based on Vmotion,drs, you can dynamically monitor the current usage status of virtual machines and host hosts, and provide support for load balancing of host hosts.

Based on Vmotion, DPM migrates virtual machines from low-load host hosts and shuts down to reduce power loss. As the load grows, DPM restarts the host and deploys new virtual machines to meet the load needs.

(5) OpenStack Scheduler
OpenStack includes a scheduler for compute and volume, and the OpenStack Scheduler deploys virtual machines to the appropriate host through a series of rule parameters and filters set by the administrator. In terms of filters, the scheduler is very flexible, the user can complete the JSON format of the filter, and the filter also contains a lot of predefined filters. Although the OpenStack Scheduler is very flexible, it does not completely replace DRS for the following reasons:

    • The static reference data that the scheduler uses to select which host hosts for virtual machine deployment originates from the Nova database. In other words, it is found that the host has 4 virtual machines, then we need to select a new host to deploy the next virtual machine.
    • The scheduler can only affect the location of the deployment during the virtual machine deployment phase, and once the deployment is complete, the virtual machine cannot be moved after the virtual machine is run. If you need to schedule based on Dynamic data, the scheduler needs to work with external monitoring solutions such as Nagios. In summary, the current OpenStack scheduler will only have an impact on the deployment of virtual machines.

(6) High availability (highly available)
In vsphere, high availability at the virtual machine level allows the same virtual machines to be deployed on different host hosts when a virtual machine or ESX (i) host error occurs. This is not to be confused with the fault tolerance (FT) mechanism, which means that when something goes wrong, it can be repaired within a certain amount of time. High availability is a hardware problem to ensure that the normal operation of the virtual machine, if it is really wrong, then only on a different ESX (i) host to start the virtual machine, which may also cause service disruption.

There is no official statement that OpenStack supports high availability at the virtual machine level, which is presented in the Folsom version, but is later discarded. OpenStack currently has an incubation project evacuate, which is used to provide high availability support for OpenStack at the virtual machine level.

(7) Fault tolerance (fault tolerant)
The VMware fault tolerance mechanism synchronizes these changes to the second backup ESX (i) Server by monitoring the status and all changes of the virtual machine. The concept of fault tolerance is that the virtual machines on the host remain functional, regardless of whether it is a master or a host problem, as long as one side works properly.

There are no fault-tolerant features in OpenStack, and there is no plan to do so at this time. In the future, KVM also no longer supports the mirroring Operation feature.

Iv. OpenStack and Docker

Between OpenStack and Docker is a good complementary relationship. The advent of Docker makes the resources of the IAAS layer more fully available because Docker is lighter than the virtual machine and is more resource-efficient.

Docker is focused on the PAAs platform and is application-centric. OpenStack is focused on the IaaS platform, resource-centric, and provides storage, networking, and computing resources for the upper PAAs platform.

The hierarchical relationship of OpenStack projects

    • The first tier is the infrastructure layer, which mainly includes Nova, Glance and Keystone, and if we want to get the most basic infrastructure services, we have to install the three projects.
    • The second tier is the extended infrastructure layer, which allows us to get more advanced infrastructure-related services, including Cinder, Swift, Neutron, designate, and ironic, where Cinder provides block storage, Swift provides object storage, Neutron provides network services, designate provides DNS services, and ironic provides bare metal services.
    • The third layer is an optional enhancement that provides users with more advanced features, including Ceilometer, Horizon, and Barbican, where ceilometer provides monitoring, metering services, Horizon provides user interface, Barbican provides secret key management services.
    • The fourth tier is mainly consumer services, so-called consumer services, mainly refers to the fourth tier of services need to use the first three layers of services to work.

The fourth floor mainly includes heat, Magnum, Sahara, Solum and Murano, of which heat mainly provide orchestration services, Magnum mainly provide container services, Sahara mainly provide big data services, We can easily deploy Hadoop, spark clusters with Sahara. Solum mainly provides application development services, and can provide some features similar to CI/CD. Muarno mainly provides the application directory services, similar to the app Store, is that users can put some common applications for other users to use. On the far right, the main function of Kolla,kolla is to containerized all OpenStack services to facilitate OpenStack installation and upgrade.

OpenStack and Docker related projects

Mainly including Nova, Heat, Magnum, Sahara, Solum, Murano and Kolla. As you can tell from Figure 3, most of the projects associated with Docker are in the PAAs and SaaS tiers.

(1) Nova Docker Driver
This driver is the first integration of OpenStack and Docker, mainly to deal with Docker as a new hypervisor, and to treat all container as VMS. Provides a Docker Nova Compute Driver, which is easy to integrate with the Docker REST API to operate the container.

(2) Heat Docker Driver
Because Nova Docker driver does not use some of the advanced features of Docker, the community is thinking of another way to integrate with heat.
Because heat is also a plug-in mode, a new resource is implemented in heat, specifically to integrate with Docker. This heat plugin interacts directly with Docker via the rest API and does not need to interact with Nova, cinder, and neutron.

(3) Magnum
In the process of OpenStack and Docker integration, we found that a good integration point was not found in the existing OpenStack project, although it was an attempt to integrate with Nova and heat, but the drawbacks were obvious. So the community started a new project Magnum dedicated to Docker and OpenStack integration to provide container services.
The main purpose of Mangum is to provide container services, which can also be integrated with multiple Docker cluster management systems, including K8s, Swarm, CoreOS, and so on. The main reason for integration with these platforms is to enable users to easily integrate k8s, CoreOS, Swarm, the already-formed Docker cluster Management system through the OpenStack cloud platform, to facilitate the integration of Docker and OpenStack ecosystems.

(4) Murano
Murano is Mirantis contribution, and also into the OpenStack Namespace. Also integrates with k8s, the user can use the function of k8s through Murano, can deploy Pod, Service, Replication controller through Murano. Murano is primarily based on OpenStack to provide application directory services. Muarno and Solum In fact there is a relationship between, Solum is mainly used to develop applications, solum application development, can be released through Murano. Users can choose the application services they need through Murano and build their own apps through the app service portfolio.

Reference article:
Http://www.4u4v.net/shen-du-jie-xi-docker-he-openstack-xi-tong-ji-cheng.html

OpenStack, KVM, VMware, and Docker

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.