Hardware virtualization

Server partitioning refers to a logical ( software-based ) or physical ( hardware-based ) separation of a computer system in which one or more independent operating system instances can be operated with their applications. Partitioning comprises the separation of the CPUs, memory, adapter cards and other components, but also the ( host ) of the systems themselves

Instigation

The increasing performance of the hardware sets the summary of many (operating) systems, small-footprint close to a few servers. This is accompanied by the reduction of space requirements in the data center and the consolidation in number of repetitive technical components ( power supplies, cases, motherboards, adapter cards, etc.)

Approaches

In use are alternative approaches that implement this idea more or less consistent.

Blade Server

No partitioning in the narrower sense, however, power supplies, network, and storage area network technology are already housed in a separate chassis ( blade servers ), while the very compact built rest - server essentially on CPUs, memory, and, if necessary, hard drives are reduced and be inserted into the chassis. The individual blades can be different equipped and capable. Partly also different types can be combined, are usually 10-20 blades per chassis possible.

Fixed partitions (hardware partitions)

In appropriate machines with multiple system boards, each board will be assigned to a partition. This results in a maximum of as many partitions as boards are available. The partitions can be different powerful. The server can be reconfigured in order to obtain a changed layout.

Dynamic partitions ( partition software )

A layer of software ( hypervisor ) controls the access of the partitions on the hardware components. This can be redistributed in principle in operation. While the addition of components is generally not a problem, the removal of the affected operating system and the active application software has to be coped with, which is not only in the operating system, but also in the application programs requires adjustments under certain circumstances. Operating systems that do not support dynamic partitions can still be operated normally, but the system recognizes the new configuration in some cases only after a restart of the partition.

Virtual partitions ( Virtual Partitions )

The hypervisor is reflected in front of the operating systems virtual CPUs and adapter cards and directs resource requirements at run- time on the physical components on. Thus, several, or all partitions of the same physical CPUs, and adapter parts. This individual partitions minimum CPU resources can be guaranteed. CPU resources that are guaranteed to any partition or not used at a time, will be provided by the hypervisor when needed very quickly to any partition.

And dynamic virtual partitions are also known as logical partitions ( LPAR).

Virtualization

Virtualization is, inter alia, a technology in which an operating system instance is not immediately installed on a server, but rather the hardware via an intermediate layer, the abstraction of the hardware, or in a host operating system using virtualization software.

The technique to the intermediate layer substantially corresponds to the dynamic or virtual partitioning ( see hypervisor ). To distinguish them from the software virtualization shown below, the intermediate layer " type 1 hypervisor " called.

In the software virtualization a certain logical partitioning is given from each other. Duplicating or create a copy of a master is supported. Disorders of the overall system by the resource consumption of a single virtualization are not excluded. As the virtualization software runs on a host operating system such as Linux or Windows, it is itself relatively hardware independent, but may in turn not always optimally exploit the hardware conditions. This type of virtualization software is called type 2 hypervisor.

As with the virtual partition guest operating systems must be suitable for software virtualization. The problem may be specific processor instructions that should be reserved on virtualized systems the hypervisor or the host operating system, because they allow unrestricted access to the entire memory of the machine. Unvirtualisierte operating systems need this technical means itself Therefore, conflicts will arise if such an operating system is to be subordinate to a hypervisor or host operating system, which potentially could now each guest operating system to overwrite another memory. Usually the problem is solved by the guest operating system 's kernel routines in a less privileged ring executes (eg ring 1). Another question is still, as all application programs including possible malicious code can be safely kept away from the ring 0.

Another problem is the representation of unique, unchanging hardware IDs per partition, which may be needed for a license - self-test.

Areas of application

Blade servers are relatively inexpensive and are on offer, where a larger number of systems are needed with similar requirements. Particularly advantageous for the system administrator because simply the case that all blades are identical. Example: Web server farm.

True partitions come into play, where more flexibility is needed: Different and variable -sized partitions. Partitioned servers are typically large servers to which (also) particularly powerful systems can be operated. Particularly advantageous are the virtual partitions because they react flexibly to changing loads and in many applications (eg several OLTP partitions) the server can be designed to be much smaller than the sum of the individual requirements.

The software virtualization is particularly useful when a large number, each bit power-hungry operating system instances to be consolidated on a server, and when new instances are to be rapidly created and enabled. It can be operated at moderate demands on performance and availability on inexpensive hardware, and also may require relatively little additional knowledge.

Partitioning and software license models

Software products are often licensed by number of used CPUs. This applies for example to many database systems, to acquire a license for all physically existing CPUs in the machine software for data backup, etc. In most cases must. Here are more specifics to consider when chips with multiple processor cores: If a license is per chip (socket ) or requires a per core?

This licensing model is unfavorable if the software is only needed on one or a few partitions of a server because more CPUs then must be licensed, as are actually used. A blade server architecture avoids this problem.

There are also licensing models that take into account the partitioning, eg " Subcapacity licensing", a model that offers IBM for a portion of its software. Here only requires that virtual partitions are in their power limited ( " capped "). There are then only required licenses according to the actual callable performance.

Partitioning in mission-critical applications

Due to the complexity of such a solution are some deterioration in performance, availability, and compatibility with specific hardware (adapters etc). In addition to the initial lack of experience with the system administrators when it comes to sizing, construction and operation of such architectures. It is recommended as is usually to start small and then to approach with experience also in mission-critical operations. Technologically, a good level of maturity is reached, which also mission-critical applications can be run on partitioned servers.

  • IT architecture
724629
de