diff --git a/main.pdf b/main.pdf index 710f9d5..163b6c9 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index 7305d97..ccf33d2 100644 --- a/main.tex +++ b/main.tex @@ -457,7 +457,7 @@ automation,PXE,Python,Ansible,Linux,QEMU \chapter{Wstęp} \label{ch:wstep} -\paragraph{} +\paragraph{Wprowadzenie} Jednym z wielu problemów, z jakimi musi zmierzyć się administrator systemów (na przykład w placówce edukacyjnej), jest konfiguracja i zarządzanie flotą wielu maszyn, użytkowanych często przez osoby nietechniczne. Powstało wiele narzędzi służących do ułatwienia tego zadania, wśród których zwrócono uwagę na kilka przykładów: @@ -469,6 +469,7 @@ narzędzi służących do ułatwienia tego zadania, wśród których zwrócono u \item Microsoft Windows Unattended Install, czyli narzędzie służące do automatycznego konfigurowania instalacji systemu Microsoft Windows \end{itemize} +\paragraph{} Każde z tych narzędzi pozwala na zautomatyzowanie jednego z podstawowych kroków w procesie zarządzania i utrzymania pracowni informatycznej: instalacji systemu/systemów operacyjnych, konfiguracji systemu, aktualizacji i utrzymania systemu. Pewne przypadki użycia wymagają jednak pewnych cech, które bardzo trudno osiągnąć używając powyższych narzędzi. @@ -479,23 +480,60 @@ jest podmieniany na oryginalny. Wymaga to jednak kilku manualnych kroków, któr \paragraph{} Proponowane rozwiązanie automatyzuje proces dystrybucji obrazów maszyn wirtualnych, instalacji oraz konfiguracji -systemu operacyjnego, pod kontrolą którego będą pracować maszyny wirtualne. Celem tej pracy było napisanie -programu serwera obrazów maszyn wirtualnych, którego zadaniem jest +systemu operacyjnego, pod kontrolą którego będą pracować maszyny wirtualne. Celem tej pracy było: + +\begin{itemize} + \item napisanie programu serwera obrazów maszyn wirtualnych, którego zadaniem jest ich rejestrowanie, przypisywanie oraz dystrybuowanie + \item stworzenie klienta synchronizującego stan maszyny klienckiej ze stanem obecnym na serwerze, pobierającego obrazy, wyświetlającego ekran wyboru systemy do uruchomienia oraz obsługującego ich uruchmianie poprzez mechanizm QEMU wraz z KVM + \item przygotowanie konfiguracji dla serwera opartego o system operacyjny Linux: + \begin{itemize} + \item do automatycznego instalowania systemu nadzorcy dla maszyn klienckich + \item do obsługi sieciowej podłączonych maszyn (przydzielanie adresów IP, wskazywanie na serwer konfiguracji) + \item do zarządzania maszynami klienckimi + \end{itemize} + \item wdrożenie rozwiązania w symulowanym środowisku testowym +\end{itemize} + +\paragraph{} +Prezentowana praca podzielona została na kilka rozdziałów: \begin{itemize} -\item wprowadzenie w problem/zagadnienie -\item osadzenie problemu w dziedzinie -\item cel pracy -\item zakres pracy -\item zwięzła charakterystyka rozdziałów -\item jednoznaczne określenie wkładu autora, w przypadku prac wieloosobowych – tabela z autorstwem poszczególnych elementów pracy + \item analiza tematu: przybliżenie wykorzystanych technologii, ich charakterystyka, historia i zastosowania + \item wymagania i narzędzia: jakie narzędzia zostały wykorzystane do rozwiązania problemu, ich opis oraz uzasadnienie wyboru + \item specyfikacja zewnętrzna: specyfikacja opisująca całe rozwiązanie z perspektywy użytkowników końcowych, z wyszczególnionymi elementami składowymi rozwiązania + \item specyfikacja wewnętrzna: specyfikacja opisująca techniczne aspekty rozwiązania, z perspektywy osoby technicznej zaznamiającej się z kodem źródłowym oprogramowania + \item weryfikacja i walidacja: wyniki testów przeprowadzonych na testowym środowisku wdrożeniowym, ich analiza + \item podsumowanie i wnioski: prezentacja wniosków wynikających z analizy wyników testów, krytyka proponowanego rozwiązania i propozycje poprawek \end{itemize} +\paragraph{Wkład pracy autora} +Przedmiotem pracy było napisanie aplikacji kontrolera floty urządzeń, aplikacji klienta zarządzającej systemem nadzorcy, +konfiguracji fizycznego serwera oraz samo jego skonfigurowanie. Wszystkie te zadania zostały zrealizowane, wraz z zakupem maszyny w roli serwera oraz +skonfigurowaniem domowej sieci lokalnej do obsługi rozwiązania. +% \begin{itemize} +% \item wprowadzenie w problem/zagadnienie +% \item osadzenie problemu w dziedzinie +% \item cel pracy +% \item zakres pracy +% \item zwięzła charakterystyka rozdziałów +% \item jednoznaczne określenie wkładu autora, w przypadku prac wieloosobowych – tabela z autorstwem poszczególnych elementów pracy +% \end{itemize} % TODO \chapter{[Analiza tematu]} +\paragraph{} +Praca została podzielona na dwie główne części: obsługę maszyn wirtualnych i ich obrazów, oraz zarządzanie, +instalację i konfigurację systemu zarządcy maszyn wirtualnych. + +\paragraph{} +Do implementacji pierwszej części wykorzystano język Python, do zaimplementowania prostego serwera oraz klienta synchronizujących +obrazy maszyn wirtualnych, QEMU wraz z KVM do uruchamiania samych maszyn oraz system operacyjny nadzorcy Ubuntu Linux w wersji 22.04 LTS. + +\paragraph{} +Część odpowiedzialna za + \begin{itemize} \item sformułowanie problemu \item osadzenie tematu w kontekście aktualnego stanu wiedzy (\ang{state of the art}) o poruszanym problemie