Anton Vlasenko

Faculty of computer science and technology (CST)

Department of computer engineering (CE)

Speciality "System programming"

"Virtualized Modular Computer System for the Educational Process"

Scientific adviser: Ph.D., Samoshchenko Alexander

Abstract of the master's work


Introduction

At present, the computer support of the system of education have problems with the relevance and effectiveness of the software. Software used to support the administration of universities and products, which are equipped in laboratories - all of them largely out of date and have some problems. All this leads to the fact that automation is not working properly, taking time for staff and reducing the effectiveness of training. These factors have repeatedly been the subject of studies in the master's works[1][2], however, in my project is proposed the concept of not specific products to replace the existing,but proposed a new platform that will make designing, implementing and upgrading any software in universities easier in the long run.

Relevantness

Topic is relevant to DonNTU — currently used ACS "Dean" can not handle the load, and requires constant manual intervention of the staff. Many servers in DonNTU are obsolete and are difficult to upgrade and maintain, laboratories often use third-party utilities that have flaws, but they can not be corrected because DonNTU does not have the source code of these programs. These problems exist not only in Donetsk National Technical University[3], and the possibility to connect many high schools under a single development and deployment process is a hot topic for research, moreover, such practices are used now, but in other areas of the cooperative development[4].

Goals and objectives, expected results

Objective of this study is to establish the concept of modular virtualized systems as well as the implementation of the base system in DonNTU. The base system will include software for managing virtual machines (start, stop, create and delete), and for managing the contents of the virtual machines.

Review of solutions, embedded in DonNTU

At the moment, one of the servers in DonNTU built on the principle of modular virtualized system

Dual processor system is divided into multiple virtual machines. Dom0 - is the host machine itself, it does not serve any services other than virtual machines, and serves only as a thin layer between virtual machines and the outside world. Dom0 is given a small amount of remaining memory (less than 300MB) for OS and inner daemons. All incoming connections on port 80 forwards by this machine to the administrative virtual machine using the rules of iptables:

-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.2:80

There is also an optional redirect of other ports, such as direct SSH access to the virtual machines:

-A PREROUTING -d ip -p tcp -m tcp --dport 22221 -j DNAT --to-destination 10.0.0.1:22

The administrative virtual machine (codename Antares)

The first has to be said, why use a separate administrative virtual machine, not the host machine dom0. This is done for safety reasons, because dom0 interception lead to a complete control of all virtual machines and their contents, the systems' passwords and databases. But the interception of the administrative machine will allow only to catch\block HTTP connections to other virtual machines and do not allow to view the contents of the file system of other virtual machines. The administrative virtual machine is built on the same base as the host machine and other virtual machines - running Debian GNU/Linux stable. Main mechanism of the machine — Squid service daemon, working in reverse proxy mode, which distributes HTTP requests depending on the domain and caches the results to improve the performance of the web-servers. Scheme of Dom0 is shown in Figure 1.

Figure 1 - Cooperation of internal domains inside of Dom0.

As can be seen from the diagram, Squid receives absolutely all requests that are received on Dom0's 80 port, and then decides which of the virtual machines will process these requests. The file /etc/squid/squid.conf contains the rules of the service.

Web-server virtual machine (codename Capella)

The virtual machine to service one or more Web resources. Because of the low performance requirements is used Apache Server with no additional optimizations (this does not mean that they can not apply). Administrative virtual machine with caching reverse proxy Squid serves as accelerator. Apache daemon is working with the requests that were sent to him by the administrative virtual machine.To provide a full dedicated server, users have the ability to connect to the server via SSH (occupying one of the free ports of the host machine, such as 22222, and forwarding to the port 22 of the virtual machines). This allows to transfer files via protocol SSH - using utility SCP (in Windows use WinSCP - client utility with a GUI). Another way to transfer files to the server - WebDAV service, which is served by Apache[6].

Server Management

A simplified and extended version of server management is currently under development within the master's work. It will manipulate with standard server management tools via graphical interface. The following is a description of the standard management tools, and architecture.

Overview of the Architecture

Xen runs on a specially prepared host machine and operates with virtual machines configuration files. Each virtual machine consists of three components:

Linux has great flexibility and can be easily copied. This was one of the ideas of the concept of modularity — copy existing virtual machine, make minor changes and you will recieve a fully functional copy of the existing virtual machine. Software can be installed as a modules, so machines can be distributed as a set of preset modules.

The findings and results of the initial implementation

We can conclude that Xen provides a flexible implementation of virtual machines from the pre-images, allowing you to deploy the necessary resources in the shortest time.

The flexibility of a modular virtualized system is the basis for a new kind of development that can significantly optimize computer support of the educational process in general. Community of developers around the world can create virtual machine images that can be moved by copying to any host machine, and they immediately begin to perform their function - to serve as web server, mail server, database, maintaine dean's office and so on. Unfortunately, at this point, the introduction of each virtual machine has its own difficulties and requires manual intervention. My next job will be to develop tools that will greatly simplify the process of implementing a virtual machine from an image. The creation of such tools will simplify the process of implementing virtual machines and modules, and will create opportunities for joint projects that optimize many existing solutions which are used for automation in high schools.


Sources of information

  1. Стародубов В.К. - КОМПЛЕКСНЫЙ РЕИЖЕНИРИНГ ИНФОРМАЦИОННОЙ КОМПЬЮТЕРНОЙ СИСТЕМЫ ФАКУЛЬТЕТСКОГО УРОВНЯ;
    www/URL: http://masters.donntu.ru/2009/fvti/starodubov/library/index.htm
  2. Ситников А.А., Ситников А.Г., Плутенко А.Д. - Использование технологий WWW в образовании, учебно-информационная сеть ВУЗа;
    www/URL: http://www.nsu.ru/archive/conf/nit/97/c3/node8.html
  3. Петухов В.А. Лабутин-Рымшо Я.И. - Разработка системы координации образовательного процесса АСУ «СТУДЕНТЫ» [текст], Национальный исследовательский ядерный университет «МИФИ» - 2010г, стр. 1-2
  4. Вузи-партнери - Приазовський державний технічний університет;
    www/URL: http://www.pstu.edu/index.php?id=83&L=1
  5. Xen @ Debian Project
    www/URL: http://wiki.debian.org/Xen
  6. Сипягин М. - Модуль mod_dav. Введение в WebDAV;
    www/URL: http://citforum.ru/internet/webservers/webdav/
  7. Домашний сервер: виртуализация на основе Xen;
    www/URL: http://habrahabr.ru/post/37824/

© Anton Vlasenko, DonNTU, 2012