Server virtualization is currently a field of IT which is undergoing a rapid development. Introducing an even spread of performance on server farms which results in a good TCO (total cost of ownership), virtualization has already got the full attention from industry, resulting in massive participation and huge acquisitions. With server virtualization the size of server farms can be reduced dramatically, resulting in a lower total cost of ownership and (by using techniques like Linux-HA in virtual environments) increased availability. Even with an overhead of 10-20% on the layer of virtualization it is still very interesting since the load on a server farm can be spread evenly (which is not only a main target in server virtualization but also in distributed systems in general).
This work will give an insight on the current developments in the field of server virtualization and the various techniques involved in it as well as a short historical overview about when the first types of virtualization were introduced (and why they failed, since according to A. Tanenbaum the current hardware is not made to be virtualized). The findings will mostly be supported by examples of current virtual environments (especially the XEN project).
The paper will first introduce the different ways of virtualizing a system and in how far hardware can or can not support this. The second part will introduce the current software for virtualizing a server and giving users their own separated environment, starting from early approaches like BSD jails to the Linux V-Server and XEN Project. The last chapter will cover the use of server virtualization in high-availability environments. With the use of n physical machines and m virtualized systems on each machine, an environment of (n * m) / x can be created, where x is the level of redundancy (e.g. x = 2 for mirroring). Most interesting is how virtual environments can be moved from one physical machine to another one without switching it off. The summary will give some insight on the current use of virtual environments and in how far they provide advantages over solutions like Mosix, Application-basic virtualization and the grid. It will also give an outlook on further developments especially in the field of hardware support for virtualization.
Table of Contents
1. Introduction
1.1. Why virtualization?
1.2. Brief history of virtual environments & virtualization
1.3. Server virtualization techniques & terminology
2. Server virtualization fundamentals
2.1. Hypervisor / Virtual machine monitor
2.2. Hardware support for virtualization
3. Server virtualization software and techniques
3.1. VMWare GSX/ESX Server
3.2. Microsoft Virtual PC
3.3. XEN
3.3.1 Sharing drivers / hardware amongst virtual environments
3.4. Virtuozzo / OpenVZ
3.5. Linux VServer Project
3.6. Performance and feature comparison
4. Case study: Virtualization for highly available systems
4.1. Motivation
4.2. Definition and requirements of a highly available system
4.3. Case study
4.3.1 Cost comparison
4.4. XEN installation and caveats
4.4.1 Redundant Disk Arrays
4.4.2 Highly available file server
4.4.3 Alive and kicking with heartbeat
4.4.4 Deployment of the guest OS
4.4.5 The role of Virtual Machine Migration (VMM)
5. Results
5.1. Bringing the worst case together
5.2. Limitations and problems in terms of practicability
5.3. Limitations in terms of availability
5.4. Improvements to gain real high-availability
6. Summary and Outlook
6.1. Will Virtualization begin a new era in high availability computing?
6.2. Natively supported operating systems
6.3. Limitation of virtualization: Licensing aspects
6.4. Problems of virtual environments
6.5. Virtualization rootkits… a new threat?
Objectives and Core Topics
The primary objective of this thesis is to investigate whether server virtualization, specifically using XEN, can be effectively utilized to create an unmanaged high-availability (HA) environment at a significantly lower cost than traditional hardware-cluster solutions. The research focuses on whether combining virtualization technology with Linux-HA and DRBD can provide robust failover capabilities for a heterogeneous server landscape without requiring expensive proprietary hardware.
- Analysis of various virtualization techniques (emulation, paravirtualization, OS-level virtualization).
- Evaluation of virtualization software performance and suitability for high-availability scenarios.
- Implementation of a concrete case study involving a multi-server setup transitioned into a virtualized environment.
- Assessment of failover mechanisms using heartbeat and distributed raw block devices (DRBD).
- Comparison of infrastructure costs, including hardware acquisition, power, and maintenance.
Excerpt from the Book
4.4.3 Alive and kicking with heartbeat
Another component in the high availability setup is the integration of a service which checks the two nodes whether they are operative and in case of failure redistributes the task to the hot-standby node.
Both nodes will have an internal IP address (xenhost1: 192.168.1.50; xenhost2: 192.168.1.60) which can only be seen inside the network. There will be one external IP address which is the address to connect to the cluster host (192.168.1.30).
The virtual environments have another network (10.0.0.1 – 10.0.0.n). Since they can not be reached from outside, we have to set up some forwarding rules with iptables.
Heartbeat is a module from the Linux-HA Project [LXHA]. The Linux-HA Project is a community project with the goal to “Provide a high-availability (clustering) solution for Linux which promotes reliability, availability, and serviceability (RAS) through a community development effort.” [LXHA].
Heartbeat exists in two versions, heartbeat and the new heartbeat-2, implementing new features like enhanced (asynchronous) logging facilities and a new configuration mechanism (the so-called ClusterResourceManager CRM).
Basically Heartbeat does the following:
- Install a service on all hosts that are part of the high-availability cluster
- In every interval (which can be defined freely) check if the hosts are online or offline
- Implement several check methods to test for availability (e.g. checking availability via cross-connected network cable, direct network access or serial console cable)
Summary of Chapters
1. Introduction: This chapter provides an overview of why virtualization is necessary for optimizing underutilized server hardware and presents a brief historical development of time-sharing and virtualization concepts.
2. Server virtualization fundamentals: The chapter explores the roles of hypervisors and virtual machine monitors, while explaining the challenges of virtualizing the x86 architecture and how hardware support can assist.
3. Server virtualization software and techniques: A detailed examination of various solutions including VMWare, Microsoft Virtual PC, XEN, and Virtuozzo, highlighting their pros, cons, and performance differences.
4. Case study: Virtualization for highly available systems: This central chapter defines the requirements for high availability and details the practical implementation of a redundant server setup using XEN, DRBD, and heartbeat.
5. Results: An analysis of the test scenario performance, including recovery times during simulated server failures and a discussion of the practical limitations of the chosen setup.
6. Summary and Outlook: A concluding reflection on the role of virtualization in high availability computing, licensing implications, and emerging threats like virtualization-based rootkits.
Keywords
Server virtualization, High Availability, XEN, Hypervisor, Linux-HA, DRBD, Failover, Paravirtualization, TCO, Load balancing, Redundancy, Virtual Machine Monitor, IT infrastructure, Cluster setup, Disaster recovery.
Frequently Asked Questions
What is the core focus of this bachelor thesis?
The work primarily focuses on evaluating server virtualization as a cost-effective method to achieve high availability in IT infrastructures, specifically examining whether it can replace expensive, dedicated hardware clusters.
Which virtualization software is highlighted as the preferred choice?
The author identifies XEN as the most suitable open-source virtualization software for high-availability environments due to its performance, the efficiency of paravirtualization, and its lack of licensing costs.
What is the central research question?
The research investigates if two well-equipped physical servers running virtual environments can effectively provide a high-availability setup comparable to traditional cluster solutions, while significantly reducing total cost of ownership (TCO).
Which specific scientific tools and methods are used?
The thesis employs a practical case study approach, utilizing Debian Linux, the XEN hypervisor for virtualization, Linux-HA for failover management, and DRBD for distributed network storage synchronization.
What does the main part of the document cover?
The main part provides a foundational understanding of virtualization concepts, a market analysis of virtualization software, and a deep-dive, step-by-step technical implementation of a highly available XEN-based server cluster.
Which keywords best characterize this work?
Key terms include Server Virtualization, High Availability, XEN, Linux-HA, DRBD, Failover, and Total Cost of Ownership (TCO).
How does the author handle the problem of disk data redundancy?
The author utilizes DRBD (Distributed Replicated Block Device) to synchronize data in real-time across two servers, ensuring that the secondary host can take over the storage state in the event of a primary server failure.
What is the significance of "Virtual Machine Migration" in this research?
Migration is discussed as a method to relocate virtual environments from over-utilized hosts to others, although the author notes that for high availability, it is less critical than immediate, automated failover after a server crash.
How does the author address the limitations of virtualization?
The author identifies security risks like virtualization-based rootkits, the potential for inconsistent database states during failures, and licensing complexities as significant challenges that remain to be solved as the technology matures.
- Quote paper
- Stephan Winter (Author), 2007, Concept for system virtualization in the field of high availability computing, Munich, GRIN Verlag, https://www.grin.com/document/71330