Aplikacja webowa do zarządzania maszynami wirtualnymi

Podobne dokumenty
Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie maszyn wirtualnych przy pomocy systemu FAI

Webowy generator wykresów wykorzystujący program gnuplot

Opracowanie dodatkowego rodzaju pytań dla systemu Moodle

Zarządzanie certyfikatami w systemie OpenVPN

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

System Clonezilla archiwizacja i odtwarzanie partycji dyskowych

Usługi sieciowe w kontenerach systemu operacyjnego CoreOS

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Webowy generator wykresów oparty na programie gnuplot

REFERAT O PRACY DYPLOMOWEJ

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

System wspomagania zarządzania wirtualizacją

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Bezpieczeństwo systemów i lokalnej sieci komputerowej

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

PRZEWODNIK PO PRZEDMIOCIE

Referat Pracy Dyplomowej

Referat pracy dyplomowej

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

PRACA DYPLOMOWA INŻYNIERSKA. Mobilny system wspomagający pracę. terminala kontenerowego

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Aplikacje WWW i PHP - opis przedmiotu

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PRZEWODNIK PO PRZEDMIOCIE

KARTA KURSU. Administracja serwerami WWW

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

REFERAT PRACY DYPLOMOWEJ

"Administrowanie Sieciami Komputerowymi"

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Konwersja maszyny fizycznej na wirtualną.

System zdalnego nadzoru i zarządzania małą elektrownią wodną

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Dokumentacja projektu QUAIKE Architektura oprogramowania

System wspomagający organizację konferencji MARBLE PROJECT

Dokumentacja aplikacji Szachy online

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

OSGi Agata Hejmej

Usługi sieciowe systemu Linux

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Zastosowanie oprogramowania Proficy (ifix, Historian oraz Plant Applications) w laboratoryjnym stanowisku monitoringu systemów produkcyjnych in-line

Firma Informatyczna ASDER. Prezentacja. Centrum zarządzania. Przemysław Kroczak ASDER

Konspekt pracy inżynierskiej

Opis przedmiotu zamówienia. Część IV. Dostawa niewyłącznej, nieograniczonej czasowo licencji oprogramowania Microsoft Serwer 2012 R2 DataCenter x64.

Szczegółowy opis przedmiotu zamówienia

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

KARTA MODUŁU KSZTAŁCENIA

"Administrowanie Sieciami Komputerowymi"

REFERAT PRACY DYPLOMOWEJ

edycja 16 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

Referat pracy dyplomowej

Wykład 1 Wprowadzenie

profili Twój aktualny profil i kliknij na przycisk Kopiuj, po czym wpisz nazwę dla nowego profilu (będzie ona widoczna przy uruchamianiu systemu).

CC1 Cracow Cloud One

edycja 20 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr ZW 124/2017 i 112/2017 i 113/2017

OPIS PRZEDMIOTU ZAMÓWIENIA

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

System zarządzający grami programistycznymi Meridius

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA

Wybrane działy Informatyki Stosowanej

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Forum Client - Spring in Swing

Administrowanie systemami informatycznymi Kod przedmiotu

Zastosowanie wirtualnego laboratorium podczas zajęć laboratoryjnych z mechaniki prezentacja eksperymentu na odległość

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

INSTRUKCJA ŁĄCZENIA Z SIECIĄ VPN WYDZIAŁU INŻYNIERII PROCESOWEJ I OCHRONY ŚRODOWISKA POLITECHNIKI ŁÓDZKIEJ

Instalowanie i konfigurowanie Windows Server 2012 R2

OPIS PRZEDMIOTU ZAMÓWIENIA w odniesieniu do zadania antywirus - dostawa oprogramowania antywirusowego

Windows Server Active Directory

Opis przedmiotu zamówienia

Ankieta dla Absolwentów Zadowolenie ze studiowania - - podsumowanie opinii absolwentów z 2017 roku

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Alplast Tools Instrukcja obsługi

Aplikacje internetowe - opis przedmiotu

podstawowa obsługa panelu administracyjnego

PROGRAM STUDIÓW WYŻSZYCH ROZPOCZYNAJĄCYCH SIĘ W ROKU AKADEMICKIM 2010/2011. Wydział Matematyczno-Fizyczno-Techniczny

Laboratorium 3. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

PRZEWODNIK PO PRZEDMIOCIE

System sterowania robota mobilnego z modułem rozpoznawania mowy

REFERAT PRACY DYPLOMOWEJ

KARTA MODUŁU KSZTAŁCENIA

PRZEWODNIK PO PRZEDMIOCIE

Produkty. MKS Produkty

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Transkrypt:

Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Poliński nr albumu: 273047 Praca inżynierska na kierunku informatyka stosowana Aplikacja webowa do zarządzania maszynami wirtualnymi Opiekun pracy dyplomowej dr hab. Jacek Kobus Instytut Fizyki Toruń 2018 Pracę przyjmuję i akceptuję Potwierdzam złożenie pracy dyplomowej... data i podpis opiekuna pracy... data i podpis pracownika dziekanatu

1 Pragnę serdecznie podziękować promotorowi dr hab. Jackowi Kobusowi za pomoc otrzymaną przy realizacji niniejszej pracy inżynierskiej.

2 Uniwersytet Mikołaja Kopernika zastrzega sobie prawo własności niniejszej pracy inżynierskiej w celu udostępniania dla potrzeb działalności naukowo-badawczej lub dydaktycznej

Spis treści 1 Wprowadzenie 4 2 Architektura FolaWeb 7 2.1 Opis działania FolaVirt............................. 7 2.2 Budowa FolaWeb................................ 8 3 Implementacja 12 3.1 Baza danych................................... 12 3.2 FolaCli...................................... 14 3.3 Struktura FolaWeb............................... 22 3.4 Logowanie.................................... 24 3.5 Definiowanie tabel............................... 26 3.6 Widoki...................................... 27 3.7 Interfejs użytkownika.............................. 33 4 Instalacja i konfiguracja 37 4.1 Python...................................... 37 4.2 Apache...................................... 37 4.3 Ustawienia FolaWeb.............................. 39 5 Podsumowanie 41 Bibliografia 43 Dodatek A 45 3

Rozdział 1 Wprowadzenie Według Popka i Goldberga [1] maszyna wirtualna to wydajny, wyizolowany duplikat fizycznego komputera wykorzystujący wirtualizację, czyli technikę pozwalającą na uruchamianie w ramach jednego systemu komputerowego, tzw. systemu gospodarza, wielu oddzielnych i niezależnych wirtualnych maszyn pracujących pod wybranymi systemami operacyjnymi. W dzisiejszych czasach maszyny wirtualne są wykorzystywane na szeroką skalę. Wzrost popularności i dynamiczny rozwój tego rozwiązania sprawił, że powstało wiele produktów różnych firm pozwalających na zarządzanie maszynami wirtualnymi. Do najpopularniejszych produktów należą między innymi Solus Virtual Manager [2] oraz Proxmox Virtual Environment [3]. W trakcie studiów na kierunku Informatyka stosowana studenci muszą w ramach zajęć zapoznać się z różnymi systemami operacyjnymi. Do dobrego zaznajomienia się z danym systemem, użytkownik powinien posiadać prawa administratora. Warunek ten wyklucza użycie do tego celu systemu operacyjnego zainstalowanego na komputerach w pracowni. Dobrym rozwiązaniem okazuje się być zastosowanie maszyn wirtualnych. W trakcie nauki administrowania systemem operacyjnym student będzie popełniał błędy, co może czasami wymagać zresetowania całego systemu. To oznacza, że student lub prowadzący zajęcia musi mieć dostęp do takiego interfejsu, który pozwala na proste sterowanie maszyną (włączanie, wyłączanie, ponowne uruchomienie, itp.). Taki interfejs musi regulować użytkownikom prawa dostępu do maszyn w taki sposób, aby prowadzący zajęcia mógł ograniczać zbiór maszyn wirtualnych, na których może operować student. W ramach pracy magisterskiej pt. Tworzenie i obsługa wirtualnego laboratorium komputerowego Michał Ochociński opracował system FolaVirt służący do zarządzania maszynami wirtualnymi poprzez demona libvirtd [4]. W skład tego systemu wchodzą: 4

ROZDZIAŁ 1. WPROWADZENIE 5 folavirt program konsolowy do administracji maszynami folavirtd serwer wykonujący polecenia na maszynach wirtualnych foladiskd serwer wykonujący polecenia na dyskach dla maszyn wirtualnych biblioteka folavirt biblioteka napisana w języku Python wspierająca działanie wyżej wymienionych elementów systemu interfejs WWW do obsługi maszyn System FolaVirt posiada wszystkie funkcjonalności, jakie powinien mieć system do zarządzania maszynami wirtualnymi na potrzeby zajęć. Każdy student ma dostęp do przypisanej mu maszyny wirtualnej poprzez stronę WWW. Dzięki temu może ją uruchamiać, wstrzymywać i zatrzymywać oraz ma dostęp do jej konsoli za pośrednictwem klienta VNC. Niestety, obecnie interfejs WWW nie jest w pełni funkcjonalny, gdyż z biegiem czasu biblioteki wykorzystane do budowy interfejsu przestały być wspierane. Strona WWW została napisana w języku PHP w wersji 5.4, która jest już przestarzała i niewystarczająco bezpieczna, a klient VNC został napisany w języku Java, co sprawia, że jego działanie jest powolne i nie zawsze stabilne. Dlatego też ten interfejs bardzo trudno integruje się ze stosowanymi na serwerach wydziałowych serwerami WWW. System FolaVirt został stworzony, aby służyć jako pomoc w administrowaniu maszynami wirtualnymi wykorzystywanymi do realizacji szeregu usług sieciowych takich, jak serwery stron WWW, usługi katalogowej LDAP, poczty elektronicznej, bezpiecznego łączenia się z siecią lokalną (OpenVPN), dostęp do serwerów oprogramowania (SSH), itp. Ten system był także pomyślany jako pomoc dydaktyczna dla studentów korzystających w czasie zajęć z wirtualnych maszyn do praktycznej nauki administrowania systemami operacyjnymi (także dla prowadzących te zajęcia). Dzięki interfejsowi WWW studenci powinni mieć wygodny dostęp do panelu sterowania i konsoli maszyn wirtualnych. Oczywiście na poziomie tego interfejsu powinny być weryfikowane prawa dostępu tak, aby studenci mieli dostęp tylko do przypisanych im maszyn. W systemie FolaVirt administracja maszynami wirtualnymi odbywa się przez program konsolowy. Niestety za jego pomocą nie jest możliwe utworzenie połączenia VNC z maszynami wirtualnymi, a jedynie konfiguracja tego połączenia. Prawa do maszyn wirtualnych są weryfikowane na niefunkcjonującym interfejsie WWW. Na poziomie programu konsolowego nie są regulowane

ROZDZIAŁ 1. WPROWADZENIE 6 uprawnienia, stąd każdy użytkownik posiada pełne prawa do wszystkich maszyn wirtualnych, co jest niedopuszczalne w warunkach normalnego użytkowania. Przy konieczności wprowadzania częstych zmian korzystanie z tego programu może stać się niewygodne. W sytuacji, gdy w sieci występuje wiele maszyn, którymi trzeba zarządzać, wyświetlanie wszystkich informacji w oknie konsoli staje się mało czytelne, co oczywiście utrudnia wykonywanie czynności administracyjnych. Przydatnym byłoby więc utworzenie przejrzystego interfejsu graficznego (GUI) i dlatego w ramach niniejszej pracy inżynierskiej powstała aplikacja FolaWeb, zastępująca dotychczasowy interfejs WWW. FolaWeb spełnia wszystkie z powyższych wymagań, gdyż daje użytkownikowi panel sterowania maszynami wirtualnymi, w którym zawarty jest klient VNC. Panel administracyjny FolaWeb pozwala na wykonanie niemal wszystkich operacji dostępnych w starszej wersji interfejsu, a działanie niektórych z nich rozszerza. Przykładem takiego rozszerzenia może być sterowanie wieloma maszynami jednocześnie. Panel użytkownika nieuprzywilejowanego daje możliwość sterowania maszynami wirtualnymi, do których ów użytkownik posiada dostęp. Dla takiego użytkownika dostępna jest również konsola VNC. Interfejs FolaWeb został napisany w języku Python z wykorzystaniem Django Framework [5]. Do zbudowania warstwy prezentacji aplikacji użyte zostały Bootstrap Framework [6] oraz biblioteka JQuery [7]. Wbudowany klient VNC to projekt novnc [8]. Nie wliczając użytych w aplikacji bibliotek, na FolaWeb składa się ponad półtora tysiąca linii kodu Pythona, HTML, CSS oraz JavaScript. FolaWeb jest więc niezbędnym elementem, który pozwala na lepsze wykorzystanie możliwości systemu FolaVirt. Pełni rolę punktu końcowego, z którego mogą korzystać administratorzy oraz studenci. Lekki i wygodny interfejs graficzny pozwala na pełną kontrolę nad maszynami, a poprzez usługę terminala VNC pozwala na dostęp do każdej z maszyn w trybie konsolowym. W dalszej części pracy, w rozdziale 2., została przedstawiona architektura FolaWeb, kolejny rozdział omawia wszystkie etapy implementacji interfejsu WWW, a w rozdziale 4. znajduje się opis konfiguracji i instalacji. Pracę kończy podsumowanie. Do pracy dołączony jest dodatek przedstawiający listę poleceń sterujących, które zostały wykorzystane w systemie FolaWeb.