At times like this I wish I was a Garbage Man.

This commit is contained in:
2023-11-01 20:55:53 +02:00
parent 2b5d21f19c
commit 90706e13b2
3 changed files with 161 additions and 152 deletions

View File

@@ -1,6 +1,6 @@
\chapter{Εισαγωγή} \label{introduction} \chapter{Εισαγωγή} \label{introduction}
Παραδοσιακά, όταν ήθελε κάποιος χρήστης/εταιρία να παράσχει μια υπηρεσία, στο Παραδοσιακά, όταν ήθελε κάποιος χρήστης/εταιρεία να παράσχει μια υπηρεσία, στο
ευρύ κοινό θα έπρεπε να διαθέσει ένα ````Χ'''' κεφάλαιο για την αγορά ευρύ κοινό θα έπρεπε να διαθέσει ένα ````Χ'''' κεφάλαιο για την αγορά
εξοπλισμού. Σε περίπτωση που η υπηρεσία αυτή ετύγχανε ευρείας αποδοχής εξοπλισμού. Σε περίπτωση που η υπηρεσία αυτή ετύγχανε ευρείας αποδοχής
καθίστατο επιτακτική η ανάγκη της επέκτασης του υφιστάμενου εξοπλισμού αλλά και καθίστατο επιτακτική η ανάγκη της επέκτασης του υφιστάμενου εξοπλισμού αλλά και
@@ -56,7 +56,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά
Πολλά λειτουργικά συστήματα αλλά και αυτά που κάνουν χρήση του πυρήνα Πολλά λειτουργικά συστήματα αλλά και αυτά που κάνουν χρήση του πυρήνα
\textlatin{Linux} διαθέτουν μηχανισμούς απομόνωσης διεργασιών και δυνατότητες \textlatin{Linux} διαθέτουν μηχανισμούς απομόνωσης διεργασιών και δυνατότητες
εικονοποίησης όπως είναι τα \textlatin{control groups} για την ενάθεση πόρων εικονικοποίησης όπως είναι τα \textlatin{control groups} για την ενάθεση πόρων
μεταξύ διεργασιών και \textlatin{namespaces} για τον περιορισμό πρόσβασης ή μεταξύ διεργασιών και \textlatin{namespaces} για τον περιορισμό πρόσβασης ή
ορατότητας αυτών σε σχέση με άλλες διεργασίες ή περιοχές του συστήματος ορατότητας αυτών σε σχέση με άλλες διεργασίες ή περιοχές του συστήματος
δημιουργώντας έτσι δοχεία. δημιουργώντας έτσι δοχεία.
@@ -72,7 +72,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά
υβριδικό μοντέλο νέφους και εγκαταστάσεων ή αποκλειστικά στο \textlatin{Cloud}. υβριδικό μοντέλο νέφους και εγκαταστάσεων ή αποκλειστικά στο \textlatin{Cloud}.
Το βασικότερο από τα πλεονεκτήματα του σε σχέση με παραδοσιακές εικονικές Το βασικότερο από τα πλεονεκτήματα του σε σχέση με παραδοσιακές εικονικές
μηχανές είναι το γεγονός ότι όλα τα δοχεία μοιράζονται τον ίδιο πυρήνα και μηχανές είναι το γεγονός ότι όλα τα δοχεία μοιράζονται τον ίδιο πυρήνα και
επομένως δε χρειάζεται να απονεμηθούν πόροι για εικονοποίηση ολόκληρου του επομένως δε χρειάζεται να απονεμηθούν πόροι για εικονικοποίηση ολόκληρου του
λειτουργικού συστήματος. Επιπλέον, τα δοχεία μπορούν να εκτελεστούν σε κάθε λειτουργικού συστήματος. Επιπλέον, τα δοχεία μπορούν να εκτελεστούν σε κάθε
περιβάλλον που έχει εγκατεστημένο το \textlatin{Docker} και πολύ ταχύτερα από περιβάλλον που έχει εγκατεστημένο το \textlatin{Docker} και πολύ ταχύτερα από
μια εικονική μηχανή κάνοντας τα ιδανικά για \textlatin{CI/CD} αλλά και μια εικονική μηχανή κάνοντας τα ιδανικά για \textlatin{CI/CD} αλλά και
@@ -87,7 +87,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά
Η δημοτικότητα του έχει συνταυτίσει τους όρους \textlatin{Docker} και Η δημοτικότητα του έχει συνταυτίσει τους όρους \textlatin{Docker} και
\textlatin{Container}. Παρόλα αυτά ιστορικά, οι πρώτες τεχνολογίες περί δοχείων \textlatin{Container}. Παρόλα αυτά ιστορικά, οι πρώτες τεχνολογίες περί δοχείων
υπήρχαν πολύ πριν βγει στην αγορά. Συγκεκριμένα το 2008 εφαρμόστηκε στον πυρήνα υπήρχαν πολύ πριν βγει στην αγορά. Συγκεκριμένα το 2008 εφαρμόστηκε στον πυρήνα
του \textlatin{Linux} το \textlatin{LXC} που επέτρεπε πλήρη εικονοποίηση ενός του \textlatin{Linux} το \textlatin{LXC} που επέτρεπε πλήρη εικονικοποίηση ενός
στιγμιότυπου \textlatin{Linux}, ενώ η εντολή \textlatin{chroot} που προϋπήρχε στιγμιότυπου \textlatin{Linux}, ενώ η εντολή \textlatin{chroot} που προϋπήρχε
από το 1979 στην έβδομη έκδοση του \textlatin{Unix} έδινε τη δυνατότητα από το 1979 στην έβδομη έκδοση του \textlatin{Unix} έδινε τη δυνατότητα
δημιουργίας και φιλοξενίας ενός ξεχωριστού εικονικού αντιγράφου του συστήματος δημιουργίας και φιλοξενίας ενός ξεχωριστού εικονικού αντιγράφου του συστήματος
@@ -121,7 +121,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά
Μία από τις πιο σημαντικές προκλήσεις κατά την εκτέλεση υπηρεσιών σε δημόσια Μία από τις πιο σημαντικές προκλήσεις κατά την εκτέλεση υπηρεσιών σε δημόσια
εικονικά περιβάλλοντα είναι η διατήρηση και επίτευξη της ασφάλειας. Παραδοσιακά εικονικά περιβάλλοντα είναι η διατήρηση και επίτευξη της ασφάλειας. Παραδοσιακά
κατά την επιλογή χρήσης τεχνολογιών εικονοποίησης ανάμεσα στις επιλογές κατά την επιλογή χρήσης τεχνολογιών εικονικοποίησης ανάμεσα στις επιλογές
\textlatin{hypervisor-based} και \textlatin{container-based} είθισται να είναι \textlatin{hypervisor-based} και \textlatin{container-based} είθισται να είναι
προτιμότερη η δεύτερη. Μια λογική απόφαση εάν αναλογιστεί κανείς τα προτιμότερη η δεύτερη. Μια λογική απόφαση εάν αναλογιστεί κανείς τα
πλεονεκτήματα που προσφέρει στην απόδοση και την αποδοτική αλλά και εύκολη πλεονεκτήματα που προσφέρει στην απόδοση και την αποδοτική αλλά και εύκολη
@@ -174,9 +174,9 @@ Click}. Τις περισσότερες φορές διατίθενται διά
του \textlatin{Docker} είναι η ρύθμιση καλύτερων \textlatin{Apparmor} προφίλ ή του \textlatin{Docker} είναι η ρύθμιση καλύτερων \textlatin{Apparmor} προφίλ ή
κανόνων \textlatin{SELinux} προκειμένου να απομονωθεί καλύτερα από το κύριο κανόνων \textlatin{SELinux} προκειμένου να απομονωθεί καλύτερα από το κύριο
σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως
τα δοχεία και όχι τη μηχανή δοχείων καθ'' αυτού. Γι'' αυτό τον λόγο πολλές φορές τα δοχεία και όχι τη μηχανή δοχείων καθ'' αυτού. Γι'' αυτό τον λόγο πολλές
πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία του όπως η φορές πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία του
αποφυγή χρήσης του διαχειριστικού λογαριασμού όσον αφορά τα δοχεία και η όπως η αποφυγή χρήσης του διαχειριστικού λογαριασμού όσον αφορά τα δοχεία και η
αποφυγή λήψης δοχείων από μη έμπιστες πηγές. αποφυγή λήψης δοχείων από μη έμπιστες πηγές.
\pagebreak \pagebreak
@@ -200,16 +200,17 @@ Click}. Τις περισσότερες φορές διατίθενται διά
Συνεχίζοντας παρακάτω, η δομή που θα συναντήσει ο αναγνώστης είναι η εξής. Στο Συνεχίζοντας παρακάτω, η δομή που θα συναντήσει ο αναγνώστης είναι η εξής. Στο
κεφάλαιο [\ref{background}] θα μελετήσουμε τον όρο \textlatin{cloud computing}, κεφάλαιο [\ref{background}] θα μελετήσουμε τον όρο \textlatin{cloud computing},
θα αναλύσουμε τις διάφορες τεχνολογίες εικονοποίησης και θα εμβαθύνουμε στην θα αναλύσουμε τις διάφορες τεχνολογίες εικονικοποίησης και θα εμβαθύνουμε στην
τεχνολογία των δοχείων και συγκεκριμένα στην ασφάλεια του \textlatin{Docker}. τεχνολογία των δοχείων και συγκεκριμένα στην ασφάλεια του \textlatin{Docker}.
Στο επόμενο κεφάλαιο [\ref{relevantWork}], θα δούμε εργασίες σχετικές με την Στο επόμενο κεφάλαιο [\ref{relevantWork}], θα δούμε εργασίες σχετικές με την
παρούσα και θα πραγματοποιηθεί ανάλυση και σύγκριση αυτών. Αμέσως μετά, στο παρούσα και θα πραγματοποιηθεί ανάλυση και σύγκριση αυτών. Αμέσως μετά, στο
[\ref{projectDevelopment}], αναφερόμαστε στον σχεδιασμό του εργαλείου μιλώντας [\ref{projectDevelopment}], αναφερόμαστε στον σχεδιασμό του εργαλείου μιλώντας
για τις απαιτήσεις, τα συστατικά του μέρη και πως συνεργάζονται μεταξύ τους. για τις απαιτήσεις, τα συστατικά του μέρη και πως αυτά συνεργάζονται μεταξύ
Προχωρώντας στο [\ref{installationANDShowcase}], θα αναφερθούμε στις οδηγίες τους. Προχωρώντας στο [\ref{installationANDShowcase}], θα αναφερθούμε στις
εγκατάστασης και λειτουργίας του εργαλείου με βάση στοχευμένα σενάρια χρήσης. οδηγίες εγκατάστασης και λειτουργίας του εργαλείου με βάση στοχευμένα σενάρια
Έπειτα, στο [\ref{experimentationANDresults}] βλέπουμε την αποδοτικότητα του χρήσης. Έπειτα, στο [\ref{experimentationANDresults}] βλέπουμε την
μετά από αρκετές χρήσεις και μετρήσεις που έγιναν προκειμένου να αποτιμηθεί αποδοτικότητα του μετά από αρκετές χρήσεις και μετρήσεις που έγιναν προκειμένου
ορθότερα η εξασφάλιση των στόχων του. Τέλος, στο [\ref{conclusions}], γίνεται να αποτιμηθεί ορθότερα η εξασφάλιση των στόχων του. Τέλος, στο
αναφορά σημείων που θα μπορούσαν να επωφεληθούν με βελτιώσεις προκειμένου να [\ref{conclusions}], γίνεται αναφορά σημείων που θα μπορούσαν να επωφεληθούν με
μπορέσει να πάρει μια θέση στην αγορά. βελτιώσεις προκειμένου να μπορέσει το εργαλείο αυτό να πάρει μια θέση στην
αγορά.

View File

@@ -3,17 +3,17 @@
Προκειμένου να κατανοήσουμε πλήρως το πρόβλημα που επιλύει η παρούσα εργασία Προκειμένου να κατανοήσουμε πλήρως το πρόβλημα που επιλύει η παρούσα εργασία
πρέπει να αναλύσουμε μερικές βασικές έννοιες. Σε πρώτη φάση θα δούμε παρακάτω πρέπει να αναλύσουμε μερικές βασικές έννοιες. Σε πρώτη φάση θα δούμε παρακάτω
τι είναι το υπολογιστικό νέφος, τι μας προσφέρει και ποια μοντέλα παράδοσης τι είναι το υπολογιστικό νέφος, τι μας προσφέρει και ποια μοντέλα παράδοσης
παρέχονται μέσω αυτού. Έπειτα θα μιλήσουμε για την έννοια της εικονοποίησης και παρέχονται μέσω αυτού. Έπειτα θα μιλήσουμε για την έννοια της εικονικοποίησης
τις διάφορες υποκατηγορίες της που χρησιμοποιούνται στις μέρες μας. Έπειτα, θα και τις διάφορες υποκατηγορίες της που χρησιμοποιούνται στις μέρες μας. Αμέσως
αναλυθούν τα πλεονεκτήματα τους και θα μπορέσουμε να εντοπίσουμε τον λόγο που μετά, θα αναλυθούν τα πλεονεκτήματα της και θα μπορέσουμε να εντοπίσουμε τον
προτιμάται η αρχιτεκτονική δοχείων. Τέλος, θα εμβαθύνουμε στην τεχνολογία λόγο που προτιμάται η αρχιτεκτονική δοχείων. Τέλος, θα εμβαθύνουμε στην
δοχείων, θα δούμε διάφορες υλοποιήσεις της και θα πραγματοποιήσουμε μια ανάλυση τεχνολογία δοχείων, θα δούμε διάφορες υλοποιήσεις της και θα πραγματοποιήσουμε
της ασφάλειας του \textlatin{Docker}. μια ανάλυση της ασφάλειας του \textlatin{Docker}.
\section{\textlatin{Cloud Computing Definition}} \label{cloudComputingDefinition} \section{\textlatin{Cloud Computing Definition}} \label{cloudComputingDefinition}
Σύμφωνα με το \cite{mell2011nist} το \textlatin{Cloud Computing} είναι ένα Σύμφωνα με το \cite{mell2011nist} το \textlatin{Cloud Computing} είναι ένα
μοντέλο που επιτρέπει ανά πάσα στιγμή τη διαδικτυακή πρόσβαση σε μια κοινή μοντέλο που επιτρέπει την ανά πάσα στιγμή διαδικτυακή πρόσβαση σε μια κοινή
δεξαμενή ρυθμιζόμενων υπολογιστικών πόρων που μπορούν να παρέχονται και να δεξαμενή ρυθμιζόμενων υπολογιστικών πόρων που μπορούν να παρέχονται και να
απελευθερώνονται γρήγορα και με ελάχιστη προσπάθεια διαχείρισης ή απελευθερώνονται γρήγορα και με ελάχιστη προσπάθεια διαχείρισης ή
αλληλεπίδρασης με τον πάροχο υπηρεσιών. Στους υπολογιστικούς αυτούς πόρους αλληλεπίδρασης με τον πάροχο υπηρεσιών. Στους υπολογιστικούς αυτούς πόρους
@@ -59,9 +59,9 @@
Οι δυνατότητες μπορούν να παρέχονται και να απελευθερώνονται ελαστικά Οι δυνατότητες μπορούν να παρέχονται και να απελευθερώνονται ελαστικά
και σε ορισμένες περιπτώσεις αυτόματα, με σκοπό την οριζόντια ή κάθετη και σε ορισμένες περιπτώσεις αυτόματα, με σκοπό την οριζόντια ή κάθετη
κλιμάκωση υπηρεσιών ανάλογα με τη ζήτηση. Από την οπτική γωνία του κλιμάκωση υπηρεσιών αναλόγως την παρούσα ζήτηση. Από την οπτική γωνία
καταναλωτή, οι παρεχόμενες δυνατότητες μοιάζουν απεριόριστες και του καταναλωτή, οι παρεχόμενες δυνατότητες μοιάζουν απεριόριστες και
μπορούν να κατανεμηθούν σε οποιαδήποτε ποσότητα και ανά πάσα στιγμή. μπορούν να κατανεμηθούν ανά πάσα στιγμή σε οποιαδήποτε ποσότητα.
\item \textbf{Μετρούμενη υπηρεσία}: \item \textbf{Μετρούμενη υπηρεσία}:
@@ -69,7 +69,7 @@
πόρων αξιοποιώντας δυνατότητες μέτρησης κατάλληλες για τον τύπο της πόρων αξιοποιώντας δυνατότητες μέτρησης κατάλληλες για τον τύπο της
υπηρεσίας (π.χ, αποθήκευση, επεξεργασία, εύρος ζώνης και λογαριασμοί υπηρεσίας (π.χ, αποθήκευση, επεξεργασία, εύρος ζώνης και λογαριασμοί
ενεργών χρηστών). Η χρήση των πόρων μπορεί να παρακολουθείται, να ενεργών χρηστών). Η χρήση των πόρων μπορεί να παρακολουθείται, να
ελέγχεται και να αναφέρεται, παρέχοντας διαφάνεια τόσο στον πάροχο όσο ελέγχεται και να αναγράφεται, παρέχοντας διαφάνεια τόσο στον πάροχο όσο
και στον καταναλωτή της υπηρεσίας που χρησιμοποιείται. και στον καταναλωτή της υπηρεσίας που χρησιμοποιείται.
\end{itemize} \end{itemize}
@@ -95,13 +95,13 @@
\item \textbf{\textlatin{Platform as a Service (PaaS)}}: \item \textbf{\textlatin{Platform as a Service (PaaS)}}:
Η παρεχόμενη δυνατότητα είναι η χρήση ή η ανάπτυξη εφαρμογών σε μια Η παρεχόμενη δυνατότητα είναι η χρήση ή η ανάπτυξη εφαρμογών σε μια
υποδομή νέφους. Οι εφαρμογές αυτές μπορεί να δημιουργήθηκαν ή υποδομή νέφους. Οι εφαρμογές αυτές μπορεί να δημιουργήθηκαν ή να
αποκτήθηκαν από τον καταναλωτή και έχουν κατασκευαστεί χρησιμοποιώντας αποκτήθηκαν από τον καταναλωτή και έχουν κατασκευαστεί χρησιμοποιώντας
γλώσσες προγραμματισμού, βιβλιοθήκες, υπηρεσίες και εργαλεία που γλώσσες προγραμματισμού, βιβλιοθήκες, υπηρεσίες και εργαλεία που
υποστηρίζονται από τον πάροχο. Ο καταναλωτής δεν έχει τον έλεγχο της υποστηρίζονται από τον πάροχο. Ο καταναλωτής δεν έχει τον έλεγχο της
υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο των εφαρμογών που υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο των εφαρμογών που
εκτελούνται σε αυτήν, καθώς και των ρυθμίσεων διαμόρφωσης της εφαρμογής εκτελούνται σε αυτήν, καθώς και των ρυθμίσεων διαμόρφωσης τους και του
και του περιβάλλοντος εκτέλεσης της. περιβάλλοντος εκτέλεσης τους.
\item \textbf{\textlatin{Infrastructure as a Service (IaaS)}}: \item \textbf{\textlatin{Infrastructure as a Service (IaaS)}}:
@@ -111,8 +111,7 @@
συμπεριλαμβανομένων λειτουργικών συστημάτων και εφαρμογών. Ο συμπεριλαμβανομένων λειτουργικών συστημάτων και εφαρμογών. Ο
καταναλωτής δεν έχει τον έλεγχο της υποκείμενης υποδομής νέφους, αλλά καταναλωτής δεν έχει τον έλεγχο της υποκείμενης υποδομής νέφους, αλλά
έχει τον έλεγχο των λειτουργικών συστημάτων, του αποθηκευτικού χώρου, έχει τον έλεγχο των λειτουργικών συστημάτων, του αποθηκευτικού χώρου,
των εγκατεστημένων εφαρμογών και των ρυθμίσεων διαμόρφωσης των των εγκατεστημένων εφαρμογών και των ρυθμίσεων διαμόρφωσης τους.
εφαρμογών.
\end{itemize} \end{itemize}
@@ -128,17 +127,17 @@
Το νέφος υποδομής είναι αποκλειστικά αφιερωμένο σε έναν μόνο οργανισμό Το νέφος υποδομής είναι αποκλειστικά αφιερωμένο σε έναν μόνο οργανισμό
αποτελούμενο από πολλαπλούς καταναλωτές (π.χ. επιχειρησιακές μονάδες). αποτελούμενο από πολλαπλούς καταναλωτές (π.χ. επιχειρησιακές μονάδες).
Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί είτε από τον Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί από τον
οργανισμό, είτε από τρίτον, είτε συνδυασμό των δύο και να μπορεί να οργανισμό, από μια τρίτη οντότητα, ή έναν συνδυασμό των δύο και μπορεί
βρίσκεται εντός ή εκτός του οργανισμού. να βρίσκεται εντός ή εκτός του οργανισμού.
\item \textbf{Κοινό νέφος}: \item \textbf{Κοινό νέφος}:
Είναι διαθέσιμο για μια ευρύτερη κοινότητα καταναλωτών ή οργανισμών με Είναι διαθέσιμο για μια ευρύτερη κοινότητα καταναλωτών ή οργανισμών με
κοινές ανησυχίες όπως οι απαιτήσεις ασφαλείας και ζητήματα πολιτικής κοινές ανησυχίες όπως οι απαιτήσεις ασφαλείας και ζητήματα πολιτικής
και συμμόρφωσης. Μπορεί να ανήκει, να διαχειρίζεται και να λειτουργεί και συμμόρφωσης. Μπορεί να ανήκει, να διαχειρίζεται και να λειτουργεί
από έναν ή περισσότερους οργανισμούς της κοινότητας, έναν τρίτο ή από έναν ή περισσότερους οργανισμούς της κοινότητας, μια τρίτη οντότητα
συνδυασμό των δύο και να βρίσκεται εντός ή εκτός του οργανισμού. ή έναν συνδυασμό των δύο και να βρίσκεται εντός ή εκτός του οργανισμού.
\item \textbf{Δημόσιο νέφος}: \item \textbf{Δημόσιο νέφος}:
@@ -150,7 +149,7 @@
\item \textbf{Υβριδικό νέφος}: \item \textbf{Υβριδικό νέφος}:
Είναι συνδυασμός δύο ή περισσότερων νεφών (ιδιωτικού, κοινού ή Είναι συνδυασμός δύο ή περισσότερων νεφών (ιδιωτικού, κοινού ή
δημόσιου) που διατηρούνται ως ξεχωριστές οντότητες αλλά συνδέονται δημοσίου) που διατηρούνται ως ξεχωριστές οντότητες αλλά συνδέονται
μεταξύ τους με τεχνολογίες που επιτρέπουν τη μεταφορά δεδομένων και μεταξύ τους με τεχνολογίες που επιτρέπουν τη μεταφορά δεδομένων και
εφαρμογών. εφαρμογών.
@@ -164,27 +163,30 @@
\cite{redhatVirtualizationDefinition}, η εικονικοποίηση είναι μια τεχνολογία \cite{redhatVirtualizationDefinition}, η εικονικοποίηση είναι μια τεχνολογία
που μας επιτρέπει να δημιουργήσουμε πολλαπλά εικονικά περιβάλλοντα ή που μας επιτρέπει να δημιουργήσουμε πολλαπλά εικονικά περιβάλλοντα ή
αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό
ονόματι \textlatin{hypervidor} συνδέεται απευθείας στο υλικό αυτό και δίνει τη ονόματι \textlatin{hypervisor} συνδέεται απευθείας στο υλικό αυτό και δίνει τη
δυνατότητα διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή δυνατότητα διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή
περιβάλλοντα, γνωστά ως εικονικές μηχανές (\textlatin{VM}). Αυτές οι εικονικές περιβάλλοντα, γνωστά και ως εικονικές μηχανές (\textlatin{VM}). Αυτές οι
μηχανές βασίζονται στην ικανότητα του \textlatin{hypervisor} να διαχωρίζει τους εικονικές μηχανές βασίζονται στην ικανότητα του \textlatin{hypervisor} να
πόρους της μηχανής από το υλικό και να τους κατανέμει κατάλληλα. διαχωρίζει τους πόρους της μηχανής από το υλικό και να τους κατανέμει
κατάλληλα.
Το φυσικό υλικό, εξοπλισμένο με έναν \textlatin{hypervisor}, ονομάζεται Το φυσικό υλικό, εξοπλισμένο με έναν \textlatin{hypervisor}, ονομάζεται
\textlatin{host}, ενώ τα πολλά \textlatin{VM} που χρησιμοποιούν τους πόρους του \textlatin{host}, ενώ τα πολλά \textlatin{VM} που χρησιμοποιούν τους πόρους του
είναι οι \textlatin{guests}. Αυτοί, αντιμετωπίζουν τους υπολογιστικούς πόρους είναι οι \textlatin{guests}. Αυτοί, αντιμετωπίζουν τους υπολογιστικούς πόρους
όπως είναι η \textlatin{CPU}, η μνήμη και ο αποθηκευτικός χώρος, ως μια όπως είναι η κεντρική μονάδα επεξεργασίας, η μνήμη και ο αποθηκευτικός χώρος,
δεξαμενή πόρων που μπορεί εύκολα να ανακατανεμηθεί. Οι χειριστές μπορούν να ως μια δεξαμενή πόρων που μπορεί εύκολα να ανακατανεμηθεί. Οι χειριστές μπορούν
ελέγχουν εικονικά στιγμιότυπα της μνήμης, της κεντρικής μονάδας επεξεργασίας να ελέγχουν εικονικά στιγμιότυπα της μνήμης, της κεντρικής μονάδας επεξεργασίας
και άλλων πόρων, ούτως ώστε οι \textlatin{guest} να λαμβάνουν τους πόρους που και άλλων πόρων, ούτως ώστε οι \textlatin{guest} να λαμβάνουν τους πόρους που
χρειάζονται όταν είναι απαραίτητο. χρειάζονται όταν είναι απαραίτητο.
Η εικονοποίηση καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ Η εικονικοποίηση καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ
χρησιμοποιώντας πόρους στους οποίους παραδοσιακά μπορούσαμε να έχουμε πρόσβαση χρησιμοποιώντας πόρους στους οποίους παραδοσιακά μπορούσαμε να έχουμε πρόσβαση
μονάχα από την ιδιοκτησία φυσικών μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε μονάχα με την ιδιοκτησία φυσικών μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε
όλες τις δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς όλες τις δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς
χρήστες και περιβάλλοντα. χρήστες και περιβάλλοντα.
\pagebreak
Ας φανταστούμε πως έχουμε τρεις διακομιστές, στον καθένα από τους οποίους έχει Ας φανταστούμε πως έχουμε τρεις διακομιστές, στον καθένα από τους οποίους έχει
ανατεθεί ένας συγκεκριμένος σκοπός. Ένας διακομιστής ηλεκτρονικού ταχυδρομείου, ανατεθεί ένας συγκεκριμένος σκοπός. Ένας διακομιστής ηλεκτρονικού ταχυδρομείου,
ένας διακομιστής ιστού και ένας που εκτελεί εσωτερικές εταιρικές εφαρμογές οι ένας διακομιστής ιστού και ένας που εκτελεί εσωτερικές εταιρικές εφαρμογές οι
@@ -200,7 +202,7 @@
Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε
μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να
μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της εικονοποίησης μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της εικονικοποίησης
όμως ήταν πλέον εφικτό να χωριστεί ένας διακομιστής σε περισσότερα κομμάτια όμως ήταν πλέον εφικτό να χωριστεί ένας διακομιστής σε περισσότερα κομμάτια
έχοντας πλέον δύο εικονικά μηχανήματα με τη χρήση ενός. έχοντας πλέον δύο εικονικά μηχανήματα με τη χρήση ενός.
@@ -214,7 +216,9 @@
περισσότερες από μια φορές αυξάνοντας την αξιοποίηση των δυνατοτήτων τους περισσότερες από μια φορές αυξάνοντας την αξιοποίηση των δυνατοτήτων τους
παραδείγματος χάριν από 30\% σε 60\% και έπειτα σε 90\% αφήνοντας μας με παραδείγματος χάριν από 30\% σε 60\% και έπειτα σε 90\% αφήνοντας μας με
διακομιστές που είτε μπορούν μετά να χρησιμοποιηθούν για νέους σκοπούς είτε να διακομιστές που είτε μπορούν μετά να χρησιμοποιηθούν για νέους σκοπούς είτε να
αποσυρθούν μειώνοντας έτσι και τα κόστη λειτουργίας και συντήρησης τους. αποσυρθούν μειώνοντας έτσι και το κόστος λειτουργίας και συντήρησης τους.
\pagebreak
\section{Ιστορική αναδρομή της εικονικοποίησης} \label{virtualizationHistory} \section{Ιστορική αναδρομή της εικονικοποίησης} \label{virtualizationHistory}
@@ -228,12 +232,12 @@
Ωστόσο, μέσα στις επόμενες δεκαετίες, ήρθαν στο προσκήνιο άλλες λύσεις στο Ωστόσο, μέσα στις επόμενες δεκαετίες, ήρθαν στο προσκήνιο άλλες λύσεις στο
πρόβλημα διαμοιρασμού ενός μηχανήματος σε πολλούς χρήστες, μειώνοντας έτσι το πρόβλημα διαμοιρασμού ενός μηχανήματος σε πολλούς χρήστες, μειώνοντας έτσι το
ενδιαφέρον για την τεχνολογία εικονοποίησης. Μία από αυτές ήταν ο διαμοιρασμός ενδιαφέρον για την τεχνολογία εικονικοποίησης. Μία από αυτές ήταν ο διαμοιρασμός
χρόνου (\textlatin{time-sharing}) όπου ένας χρήστης μπορούσε να χρησιμοποιεί το χρόνου (\textlatin{time-sharing}) όπου ένας χρήστης μπορούσε να χρησιμοποιεί το
λειτουργικό σύστημα απομονωμένα από του υπόλοιπους. Κάτι που οδήγησε στη λειτουργικό σύστημα απομονωμένα από του υπόλοιπους. Κάτι που οδήγησε στη
δημιουργία λειτουργικών συστημάτων όπως το \textlatin{UNIX} το οποίο με τη δημιουργία λειτουργικών συστημάτων όπως το \textlatin{UNIX} το οποίο με τη
σειρά του άνοιξε δρόμο για την άφιξη του \textlatin{Linux}. Καθ'' όλη τη σειρά του άνοιξε δρόμο για την άφιξη του \textlatin{Linux}. Καθ'' όλη τη
διάρκεια αυτή, η εικονοποίηση παρέμεινε σε μεγάλο βαθμό μη διαδεδομένη. διάρκεια αυτή, η εικονικοποίηση παρέμεινε σε μεγάλο βαθμό μη διαδεδομένη.
Προχωρώντας στη δεκαετία του 1990, οι περισσότερες επιχειρήσεις διέθεταν Προχωρώντας στη δεκαετία του 1990, οι περισσότερες επιχειρήσεις διέθεταν
φυσικούς διακομιστές και στοίβες μηχανημάτων ενός προμηθευτή, οι οποίες δεν φυσικούς διακομιστές και στοίβες μηχανημάτων ενός προμηθευτή, οι οποίες δεν
@@ -244,39 +248,39 @@
διακομιστής μπορούσε να εκτελέσει μόνο 1 εργασία που αφορούσε συγκεκριμένο διακομιστής μπορούσε να εκτελέσει μόνο 1 εργασία που αφορούσε συγκεκριμένο
προμηθευτή. προμηθευτή.
Από εκείνο το σημείο και έπειτα άρχισε να φαίνεται η ανάγκη της εικονοποίησης Από εκείνο το σημείο και έπειτα άρχισε να γίνεται εμφανής η ανάγκη της
και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν πλέον να εικονικοποίησης και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν
διαμερίσουν τους διακομιστές τους και να εκτελούν παλαιές εφαρμογές σε πολλούς πλέον να διαμερίσουν τους διακομιστές τους και να εκτελούν παλαιές εφαρμογές σε
τύπους και εκδόσεις λειτουργικών συστημάτων. Οι διακομιστές άρχισαν να πολλούς τύπους και εκδόσεις λειτουργικών συστημάτων. Οι διακομιστές άρχισαν να
χρησιμοποιούνται πιο αποδοτικά ή και καθόλου μειώνοντας τα κόστη αγοράς, χρησιμοποιούνται πιο αποδοτικά ή και καθόλου μειώνοντας το απαιτούμενο κόστος
εγκατάστασης, συντήρησης και ψύξης. αγοράς, εγκατάστασης, συντήρησης και ψύξης τους.
Η ευρεία εφαρμογή της εικονικοποίησης συνέβαλε στη μείωση του εγκλωβισμού στον Η ευρεία εφαρμογή της εικονικοποίησης συνέβαλε στη μείωση του εγκλωβισμού σε
προμηθευτή και την κατέστησε το θεμέλιο του υπολογιστικού νέφους. Σήμερα είναι έναν μόνο προμηθευτή και την κατέστησε το θεμέλιο του υπολογιστικού νέφους.
τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται εξειδικευμένο Σήμερα είναι τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται
λογισμικό διαχείρισης των εικονικών πόρων για να μπορέσει κανείς να εξειδικευμένο λογισμικό διαχείρισης των εικονικών πόρων για να μπορέσει κανείς
παρακολουθεί τα δρώμενα της επιχείρησής. να παρακολουθεί τα δρώμενα της επιχείρησής.
\section{Τι είναι ένας \textlatin{hypervisor}} \label{hypervisors} \section{Τι είναι ένας \textlatin{hypervisor}} \label{hypervisors}
Προτού έρθουν στο προσκήνιο, οι περισσότεροι φυσικοί υπολογιστές μπορούσαν να Προτού έρθουν στο προσκήνιο, οι περισσότεροι φυσικοί υπολογιστές μπορούσαν να
εκτελέσουν ένα λειτουργικό σύστημα τη φορά. Αυτό συνέβαλε στη σταθερότητα τους εκτελέσουν ένα λειτουργικό σύστημα τη φορά. Αυτό συνέβαλε στη σταθερότητα τους
μιας και χρειαζόταν να διαχειριστούν αιτήματα από ένα μοναδικό λειτουργικό μιας και δε χρειαζόταν να διαχειριστούν αιτήματα από άλλα λειτουργικά συστήματα
σύστημα αλλά αυτή η προσέγγιση είχε ένα μειονέκτημα. Μεγάλο κομμάτι των πόρων αλλά αυτή η προσέγγιση είχε ένα μειονέκτημα. Μεγάλο κομμάτι των πόρων του
του συστήματος έμενε ανεκμετάλλευτο. συστήματος έμενε ανεκμετάλλευτο.
Αυτό το πρόβλημα λύθηκε με την εισαγωγή των \textlatin{hypervisors}. Πρόκειται Τη λύση σε αυτό το πρόβλημα την έφερε η εισαγωγή των \textlatin{hypervisors}.
για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών Πρόκειται για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών
λειτουργικών συστημάτων το ένα δίπλα στο άλλο μοιράζοντας τους ίδιους φυσικούς λειτουργικών συστημάτων το ένα δίπλα στο άλλο μοιράζοντας τους ίδιους φυσικούς
πόρους σε κάθε ένα από αυτά. Η πράξη αυτή ονομάζεται εικονικοποίηση και τα πόρους σε κάθε ένα από αυτά. Η πράξη αυτή ονομάζεται εικονικοποίηση και τα
στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές. Είναι στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές οι οποίες
προσομοιώσεις φυσικών υπολογιστών. αντιπροσωπεύουν προσομοιώσεις φυσικών υπολογιστών.
Οι \textlatin{hypervisors} είναι υπεύθυνοι για τη διαχείριση των εικονικών Οι \textlatin{hypervisors} είναι υπεύθυνοι για τη διαχείριση των εικονικών
μηχανών χωρίζοντας τις αναθέτοντας σε κάθε μια ένα κομμάτι της διαθέσιμης μηχανών χωρίζοντας τις και αναθέτοντας σε κάθε μια ένα κομμάτι της διαθέσιμης
υπολογιστικής ισχύς, μνήμης και χώρου αποθήκευσης. Αυτή η διαδικασία τις υπολογιστικής ισχύος, μνήμης και χώρου αποθήκευσης. Αυτή η διαδικασία τις
αποτρέπει από την αλληλεπίδραση μεταξύ τους και στην περίπτωση κατάρρευσης μιας αποτρέπει από την αλληλεπίδραση μεταξύ τους και στην περίπτωση κατάρρευσης μιας
εικονικής μηχανής, δεν επηρεάζονται οι υπόλοιπες. εικονικής μηχανής, οι υπόλοιπες παραμένουν ανεπηρέαστες.
\pagebreak \pagebreak
@@ -295,9 +299,11 @@
λόγο αυτό, οι \textlatin{hypervisors} τύπου 1 αναφέρονται επίσης ως λόγο αυτό, οι \textlatin{hypervisors} τύπου 1 αναφέρονται επίσης ως
\textlatin{bare-metal hypervisors} και αντικαθιστούν το λειτουργικό \textlatin{bare-metal hypervisors} και αντικαθιστούν το λειτουργικό
σύστημα του κεντρικού υπολογιστή. Η άμεση πρόσβαση στο φυσικό υλικό σύστημα του κεντρικού υπολογιστή. Η άμεση πρόσβαση στο φυσικό υλικό
έρχεται τους καθιστά ιδιαίτερα αποδοτικούς. Συχνά απαιτείται μια τους καθιστά ιδιαίτερα αποδοτικούς. Συχνά απαιτείται μια ξεχωριστή
ξεχωριστή μηχανή διαχείρισης για τον έλεγχο των εικονικών μηχανών και μηχανή διαχείρισης για τον έλεγχο των εικονικών μηχανών και του υλικού
του υλικού του κεντρικού υπολογιστή. του κεντρικού υπολογιστή.
\pagebreak
\item \textbf{\textlatin{Type 2 (Hosted)}}: \item \textbf{\textlatin{Type 2 (Hosted)}}:
@@ -305,19 +311,19 @@
υποκείμενο υλικό. Αντ'' αυτού, εκτελείται ως εφαρμογή σε ένα υπάρχον υποκείμενο υλικό. Αντ'' αυτού, εκτελείται ως εφαρμογή σε ένα υπάρχον
λειτουργικό σύστημα. Η χρήση τους δε συνηθίζεται σε περιβάλλοντα με λειτουργικό σύστημα. Η χρήση τους δε συνηθίζεται σε περιβάλλοντα με
πολλούς διακομιστές. Αντίθετα, είναι καταλληλότεροι για μεμονωμένους πολλούς διακομιστές. Αντίθετα, είναι καταλληλότεροι για μεμονωμένους
τελικούς χρήστες υπολογιστών που χρειάζονται να τρέξουν πολλαπλά τελικούς χρήστες υπολογιστών που έχουν την ανάγκη να εκτελέσουν
λειτουργικά συστήματα. Μερικοί από αυτούς είναι μηχανικοί, πολλαπλά λειτουργικά συστήματα. Μερικοί από αυτούς είναι μηχανικοί,
επαγγελματίες ασφαλείας που αναλύουν κακόβουλο λογισμικό και επαγγελματίες ασφαλείας που αναλύουν κακόβουλο λογισμικό και υπάλληλοι
επιχειρηματικοί χρήστες που χρειάζονται πρόσβαση σε εφαρμογές που είναι επιχειρήσεων που χρειάζονται πρόσβαση σε εφαρμογές που είναι διαθέσιμες
διαθέσιμες μόνο σε άλλες πλατφόρμες λογισμικού. αποκλειστικά σε διαφορετικές πλατφόρμες λογισμικού από τη δική τους.
Διαθέτουν συχνά πρόσθετες εργαλειοθήκες για τους χρήστες που μπορούν να Διατίθενται συχνά πρόσθετες εργαλειοθήκες για τους χρήστες οι οποίες
εγκατασταθούν στο λειτουργικό σύστημα προκειμένου να παρέχουν μπορούν να εγκατασταθούν στο λειτουργικό σύστημα προκειμένου να
βελτιωμένες συνδέσεις μεταξύ του υποκείμενου λειτουργικού συστήματος παρέχουν βελτιωμένες συνδέσεις μεταξύ του υποκείμενου λειτουργικού
και εκείνου της εικονικής μηχανής. Οι πρόσθετες δυνατότητες που συστήματος και εκείνου της εικονικής μηχανής. Οι πρόσθετες δυνατότητες
υποστηρίζονται μετά την παραπάνω διαδικασία μπορεί να είναι η αποκοπή που υποστηρίζονται μετά την παραπάνω διαδικασία μπορεί να είναι η
και επικόλληση μεταξύ των δύο συστημάτων ή η κοινή πρόσβαση στον αποκοπή και επικόλληση μεταξύ των δύο συστημάτων ή η κοινή πρόσβαση
αποθηκευτικό χώρο. στον αποθηκευτικό χώρο.
Επιτρέπει τη γρήγορη εναλλαγή σε διαφορετικά λειτουργικά συστήματα Επιτρέπει τη γρήγορη εναλλαγή σε διαφορετικά λειτουργικά συστήματα
πέραν του ήδη υπάρχοντος, πράγμα που αυξάνει την παραγωγικότητα του πέραν του ήδη υπάρχοντος, πράγμα που αυξάνει την παραγωγικότητα του
@@ -325,9 +331,9 @@
υποστηρίζονται στο δικό του. υποστηρίζονται στο δικό του.
Εξαιτίας της αρχιτεκτονικής τους, οι \textlatin{hypervisors} τύπου 2 Εξαιτίας της αρχιτεκτονικής τους, οι \textlatin{hypervisors} τύπου 2
εισάγουν προβλήματα καθυστέρησης που μπορεί να επηρεάσουν την απόδοση. εισάγουν προβλήματα καθυστέρησης που μπορεί να επηρεάσουν την απόδοση
Αυτό συμβαίνει επειδή η πρόσβαση στους πόρους υπολογισμού, μνήμης και διότι η πρόσβαση στους πόρους υπολογισμού, μνήμης και δικτύου
δικτύου πραγματοποιείται μέσω του κεντρικού λειτουργικού συστήματος. πραγματοποιείται μέσω του κεντρικού λειτουργικού συστήματος.
Επιπροσθέτως, εισάγει πιθανούς κινδύνους ασφάλειας εάν ένας εισβολέας Επιπροσθέτως, εισάγει πιθανούς κινδύνους ασφάλειας εάν ένας εισβολέας
παραβιάσει το κεντρικό λειτουργικό σύστημα, επειδή θα μπορούσε στη παραβιάσει το κεντρικό λειτουργικό σύστημα, επειδή θα μπορούσε στη
@@ -336,9 +342,11 @@
\end{itemize} \end{itemize}
\pagebreak
\section{Χαρακτηριστικά των \textlatin{hypervisor}} \label{hypervisorCharacteristics} \section{Χαρακτηριστικά των \textlatin{hypervisor}} \label{hypervisorCharacteristics}
Αν και υπάρχουν διαφορετικά είδη \textlatin{hypervisors}, όλοι έχουν κάποια Αν και υπάρχουν διαφορετικά είδη \textlatin{hypervisor}, όλοι έχουν κάποια
χαρακτηριστικά που πρέπει να λάβει κανείς υπόψιν όταν επιλέγει ποιον θα χαρακτηριστικά που πρέπει να λάβει κανείς υπόψιν όταν επιλέγει ποιον θα
χρησιμοποιήσει. Μερικά σημαντικά αυτών είναι: χρησιμοποιήσει. Μερικά σημαντικά αυτών είναι:
@@ -347,9 +355,9 @@
\item \textbf{Απόδοση}: \item \textbf{Απόδοση}:
Βασικό χαρακτηριστικό ενός \textlatin{hypervisor} είναι η απόδοση του. Βασικό χαρακτηριστικό ενός \textlatin{hypervisor} είναι η απόδοση του.
Διαφέρει από \textlatin{hypervisor} σε \textlatin{hypervisor} αναλόγως Διαφέρει από τον ένα στον άλλο αναλόγως την κατασκευή και τον τύπο του.
τη κατασκευή και τον τύπο. Οι \textlatin{bare-metal hypervisors} θα Οι \textlatin{bare-metal hypervisors} θα πρέπει να παρέχουν απόδοση
πρέπει να έχουν απόδοση κοντά στην εγγενή. κοντά στην εγγενή.
\item \textbf{Οικοσύστημα}: \item \textbf{Οικοσύστημα}:
@@ -364,13 +372,15 @@
Η εκτέλεση εικονικών μηχανών δεν αποτελεί το μοναδικό καθήκον ενός Η εκτέλεση εικονικών μηχανών δεν αποτελεί το μοναδικό καθήκον ενός
διαχειριστή κατά τη χρήση ενός \textlatin{hypervisor}. Απαραίτητες διαχειριστή κατά τη χρήση ενός \textlatin{hypervisor}. Απαραίτητες
πρόσθετες ενέργειες είναι η συντήρηση και η ανάλυση τους, καθώς και ο πρόσθετες ενέργειες είναι η συντήρηση και η ανάλυση τους, καθώς και ο
καθαρισμός όσων δε χρησιμοποιούνται πλέον. καθαρισμός όσων δε χρησιμοποιούνται πλέον. Επομένως, η ύπαρξη εργαλείων
που να καθιστούν δυνατές αυτές τις ενέργειες αποτελεί σημαντικό
παράγοντα κατά την επιλογή λογισμικού \textlatin{hypervisor}.
\item \textbf{Μεταφορά κατά τη λειτουργία}: \item \textbf{Μεταφορά κατά τη λειτουργία}:
Πρέπει να υπάρχει η δυνατότητα μεταφοράς εικονικών μηχανών από έναν Πρέπει να υπάρχει η δυνατότητα μεταφοράς εικονικών μηχανών από έναν
\textlatin{hypervisor} σε κάποιον άλλο σε διαφορετική φυσική μηχανή \textlatin{hypervisor} σε έναν δεύτερο σε διαφορετική φυσική μηχανή
χωρίς την ανάγκη διακοπής της λειτουργίας της. Ένα χαρακτηριστικό που χωρίς την ανάγκη διακοπής της λειτουργίας τους. Ένα χαρακτηριστικό που
χρησιμεύει τόσο για την ανατροπή αποτυχίας όσο και για την εξισορρόπηση χρησιμεύει τόσο για την ανατροπή αποτυχίας όσο και για την εξισορρόπηση
του φόρτου εργασίας. του φόρτου εργασίας.
@@ -380,7 +390,7 @@
επιλογή ενός \textlatin{hypervisor}. Οι περισσότεροι είναι δωρεάν αλλά επιλογή ενός \textlatin{hypervisor}. Οι περισσότεροι είναι δωρεάν αλλά
υπάρχουν και εμπορικές εκδόσεις που προσφέρουν περισσότερες υπάρχουν και εμπορικές εκδόσεις που προσφέρουν περισσότερες
δυνατότητες. Όπως επίσης και ύπαρξη ή μη, λογισμικού διαχείρισης του δυνατότητες. Όπως επίσης και ύπαρξη ή μη, λογισμικού διαχείρισης του
που να του επιτρέπει να κλιμακώνεται ανάλογα τις απαιτήσεις της που να επιτρέπει την εύκολη κλιμάκωση με βάση τις απαιτήσεις της
επιχείρησης. επιχείρησης.
\end{itemize} \end{itemize}
@@ -388,7 +398,7 @@
\section {Τρόπος λειτουργίας της εικονικοποίησης} \label{virtualizationOperation} \section {Τρόπος λειτουργίας της εικονικοποίησης} \label{virtualizationOperation}
Για να πραγματοποιηθεί η εικονικοποίηση, χρειαζόμαστε έναν Για να πραγματοποιηθεί η εικονικοποίηση, χρειαζόμαστε έναν
\textlatin{hypervisor}. Αυτός είναι ένα λογισμικό που διαχωρίζει τους φυσικούς \textlatin{hypervisor}. Δηλαδή ενός λογισμικό που διαχωρίζει τους φυσικούς
πόρους από τα εικονικά περιβάλλοντα, τα οποία τους χρειάζονται. Ένας πόρους από τα εικονικά περιβάλλοντα, τα οποία τους χρειάζονται. Ένας
\textlatin{hypervisor} μπορεί να τοποθετηθεί πάνω σε ένα λειτουργικό σύστημα ή \textlatin{hypervisor} μπορεί να τοποθετηθεί πάνω σε ένα λειτουργικό σύστημα ή
να εγκατασταθεί απευθείας στο υλικό. Κάτι που κάνουν οι περισσότερες να εγκατασταθεί απευθείας στο υλικό. Κάτι που κάνουν οι περισσότερες
@@ -411,7 +421,7 @@
εκτέλεση του εικονικού περιβάλλοντος, όταν ένας χρήστης ή ένα πρόγραμμα εκδώσει εκτέλεση του εικονικού περιβάλλοντος, όταν ένας χρήστης ή ένα πρόγραμμα εκδώσει
μία εντολή που απαιτεί περισσότερους πόρους από τους διαθέσιμους του, ο μία εντολή που απαιτεί περισσότερους πόρους από τους διαθέσιμους του, ο
\textlatin{hypervisor} αναμεταδίδει το αίτημα αυτό στο φυσικό σύστημα και \textlatin{hypervisor} αναμεταδίδει το αίτημα αυτό στο φυσικό σύστημα και
μπορεί να διαθέσει τους απαραίτητους πόρους για την εκτέλεση. Όλα αυτά μπορεί να διαθέσει τους απαραίτητους για την εκτέλεση πόρους. Όλα αυτά
συμβαίνουν με σχεδόν εγγενή ταχύτητα, ιδίως αν αποστέλλεται μέσω ενός συμβαίνουν με σχεδόν εγγενή ταχύτητα, ιδίως αν αποστέλλεται μέσω ενός
\textlatin{hypervisor} ανοιχτού κώδικα βασισμένου στο \textlatin{KVM}, το \textlatin{hypervisor} ανοιχτού κώδικα βασισμένου στο \textlatin{KVM}, το
\textlatin{(Kernel-based Virtual Machine)}. \textlatin{(Kernel-based Virtual Machine)}.
@@ -420,7 +430,7 @@
\section{Τύποι εικονικοποίησης} \label{virtualizationTypes} \section{Τύποι εικονικοποίησης} \label{virtualizationTypes}
Υπάρχουν πολλοί τύποι εικονικοποίησης. Πέντε βασικοί αυτών είναι οι εξής: Υπάρχουν πολλοί τύποι εικονικοποίησης. Πέντε βασικοί αυτών είναι οι παρακάτω:
\begin{itemize} \begin{itemize}
@@ -453,9 +463,9 @@
περιβάλλοντα εργασίας σε εκατοντάδες φυσικές μηχανές ταυτοχρόνως. Εν περιβάλλοντα εργασίας σε εκατοντάδες φυσικές μηχανές ταυτοχρόνως. Εν
αντιθέσει με τα παραδοσιακά περιβάλλοντα εργασίας που χρήζουν αντιθέσει με τα παραδοσιακά περιβάλλοντα εργασίας που χρήζουν
εγκατάστασης, διαμόρφωσης και ενημέρωσης σε κάθε υπολογιστή, η εγκατάστασης, διαμόρφωσης και ενημέρωσης σε κάθε υπολογιστή, η
εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική διαμόρφωση,
διαμόρφωση, ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά περιβάλλοντα
περιβάλλοντα εργασίας. εργασίας.
\item \textbf{\textlatin{Server Virtualization}}: \item \textbf{\textlatin{Server Virtualization}}:
@@ -467,11 +477,12 @@
Οι διακομιστές είναι υπολογιστές σχεδιασμένοι με σκοπό να Οι διακομιστές είναι υπολογιστές σχεδιασμένοι με σκοπό να
επεξεργάζονται πολύ καλά έναν μεγάλο όγκο συγκεκριμένων εργασιών, ώστε επεξεργάζονται πολύ καλά έναν μεγάλο όγκο συγκεκριμένων εργασιών, ώστε
άλλοι υπολογιστές να μπορούν να δίνουν προτεραιότητα σε άλλες εργασίες. οι κύριοι υπολογιστές να μπορούν να δίνουν προτεραιότητα σε άλλες
Η εικονικοποίηση ενός διακομιστή του επιτρέπει να εκτελεί περισσότερες εργασίες. Η εικονικοποίηση ενός διακομιστή του επιτρέπει να εκτελεί
από τις συγκεκριμένες λειτουργίες που σχεδιάστηκε να κάνει. Για την περισσότερες λειτουργίες από αυτές που σχεδιάστηκε αρχικά να
επίτευξη αυτού απαιτείται η κατάτμησή του έτσι ώστε τα στοιχεία του να πραγματοποιεί. Για την επίτευξη αυτού απαιτείται η κατάτμησή του με
μπορούν να χρησιμοποιηθούν για την εξυπηρέτηση πολλαπλών λειτουργιών. τέτοιο τρόπο ώστε τα οι πόροι του να μπορούν να χρησιμοποιηθούν για την
εξυπηρέτηση πολλαπλών λειτουργιών.
\pagebreak \pagebreak
@@ -486,7 +497,7 @@
Η εικονικοποίηση λειτουργικού συστήματος είναι κάτι που συμβαίνει στον Η εικονικοποίηση λειτουργικού συστήματος είναι κάτι που συμβαίνει στον
πυρήνα. Αποτελεί έναν χρήσιμο τρόπο εκτέλεσης \textlatin{Linux} και πυρήνα. Αποτελεί έναν χρήσιμο τρόπο εκτέλεσης \textlatin{Linux} και
\textlatin{Windows} συστημάτων στο ίδιο μηχάνημα. Πολλές επιχειρήσεις \textlatin{Windows} συστημάτων στο ίδιο μηχάνημα. Πολλές επιχειρήσεις
προωθούν τα εικονικά λειουργικά συστήματα σε υπολογιστές, προκειμένου προωθούν τα εικονικά λειτουργικά συστήματα σε υπολογιστές, προκειμένου
να μειωθεί το κόστος μηχανημάτων, να αυξηθεί η ασφάλεια και να μειωθεί να μειωθεί το κόστος μηχανημάτων, να αυξηθεί η ασφάλεια και να μειωθεί
ο χρόνος συντήρησης τους. ο χρόνος συντήρησης τους.
@@ -504,13 +515,13 @@
βασικές λειτουργίες ενός δικτύου (όπως ο διαμοιρασμός αρχείων, και η βασικές λειτουργίες ενός δικτύου (όπως ο διαμοιρασμός αρχείων, και η
διαμόρφωση \textlatin{IP}), ώστε να μπορούν να διανεμηθούν σε διάφορα διαμόρφωση \textlatin{IP}), ώστε να μπορούν να διανεμηθούν σε διάφορα
περιβάλλοντα. Από τη στιγμή που οι λειτουργίες λογισμικού είναι περιβάλλοντα. Από τη στιγμή που οι λειτουργίες λογισμικού είναι
ανεξάρτητες από τα φυσικά μηχανήματα στα οποία εκτελούνταν, ανεξάρτητες από τα φυσικά μηχανήματα στα οποία εκτελούνται,
συγκεκριμένες λειτουργίες μπορούν να πακεταριστούν μαζί σε ένα νέο συγκεκριμένες λειτουργίες μπορούν να πακεταριστούν μαζί σε ένα νέο
δίκτυο και να ανατεθούν σε ένα περιβάλλον. Η εικονικοποίηση των δικτύων δίκτυο και να ανατεθούν σε ένα ξεχωριστό περιβάλλον. Η εικονικοποίηση
μειώνει τον αριθμό των φυσικών εξαρτημάτων όπως οι μεταγωγείς, των δικτύων μειώνει τον αριθμό των φυσικών εξαρτημάτων όπως οι
δρομολογητές, διακομιστές, καλώδια και κόμβοι που απαιτούνται για τη μεταγωγείς, δρομολογητές, διακομιστές, καλώδια και κόμβοι που
δημιουργία πολλαπλών, ανεξάρτητων δικτύων και είναι ιδιαίτερα δημοφιλής απαιτούνται για τη δημιουργία πολλαπλών, ανεξάρτητων δικτύων και είναι
στον κλάδο των τηλεπικοινωνιών. ιδιαίτερα δημοφιλής στον κλάδο των τηλεπικοινωνιών.
\end{itemize} \end{itemize}
@@ -520,7 +531,7 @@
Η εικονικοποίηση προσφέρει πολλά πλεονεκτήματα στις επιχειρήσεις. Τα πιο Η εικονικοποίηση προσφέρει πολλά πλεονεκτήματα στις επιχειρήσεις. Τα πιο
αξιοσημείωτα αυτών με βάση την αξιοσημείωτα αυτών με βάση την
\textlatin{\citeauthor{ibmVirtualizationDefinition}} είναι τα παρακάτω. \textlatin{\citeauthor{ibmVirtualizationDefinition}} είναι τα εξής:
\begin{itemize} \begin{itemize}
@@ -533,22 +544,22 @@
προτιμώμενη αρχιτεκτονική για λόγους αξιοπιστίας ήταν να υπάρχει μια προτιμώμενη αρχιτεκτονική για λόγους αξιοπιστίας ήταν να υπάρχει μια
εφαρμογή και ένα μόνο λειτουργικό σύστημα για κάθε υπολογιστή. Αυτό εφαρμογή και ένα μόνο λειτουργικό σύστημα για κάθε υπολογιστή. Αυτό
είχε ως αποτέλεσμα την υποχρησιμοποίηση κάθε διακομιστή. Η λύση ήρθε με είχε ως αποτέλεσμα την υποχρησιμοποίηση κάθε διακομιστή. Η λύση ήρθε με
τη μορφή της εικονοποίησης διακομιστών η οποία επέτρεπε την εκτέλεση τη μορφή της εικονικοποίησης διακομιστών η οποία επέτρεπε την εκτέλεση
πολλαπλών εφαρμογών σε έναν φυσικό υπολογιστή δίχως την υπονόμευση της πολλαπλών εφαρμογών σε έναν φυσικό υπολογιστή δίχως την ελάττωση της
αξιοπιστίας. αξιοπιστίας.
\item \textbf{Ευκολότερη διαχείριση}: \item \textbf{Ευκολότερη διαχείριση}:
Αντικαθιστώντας φυσικούς υπολογιστές με προγραμματιστικά καθορισμένες Αντικαθιστώντας φυσικούς υπολογιστές με προγραμματιστικά καθορισμένες
εικονικές μηχανές γίνεται δυνατή η χρήση αυτοματοποιημένων ροών εικονικές μηχανές δύναται η χρήση αυτοματοποιημένων ροών διαχείρισης
διαχείρισης εργασιών. Οι διαχειριστές συστημάτων μπορούν να εργασιών. Οι διαχειριστές συστημάτων μπορούν να χρησιμοποιούν εργαλεία
χρησιμοποιούν εργαλεία για τον καθορισμό εικονικών μηχανών για τον καθορισμό εικονικών μηχανών χρησιμοποιώντας πρότυπα κατάλληλα
χρησιμοποιώντας πρότυπα κατάλληλα για την υποδομή κάθε επιχείρησης. Με για την υποδομή κάθε επιχείρησης. Με αυτόν τον τρόπο η εγκατάσταση και
αυτόν τον τρόπο η εγκατάσταση και η ρύθμιση τους μπορεί να γίνεται η ρύθμισή τους μπορεί να γίνεται επανειλημμένα δίχως το ρίσκο
επανειλημμένα δίχως το ρίσκο ανθρώπινου λάθους και γλιτώνοντας τον ανθρώπινου λάθους και γλιτώνοντας τον χρόνο εγκατάστασης και ρύθμισης
χρόνο εγκατάστασης και ρύθμισης τους χειροκίνητα. Ένας συνδυασμός τους χειροκίνητα. Ένας συνδυασμός εργαλείων που κάνει αυτή τη
εργαλείων που το κάνει πραγματικότητα είναι το \textlatin{Ansible} διαδικασία πραγματικότητα είναι το \textlatin{Ansible} \cite{ansible}
\cite{ansible} και \textlatin{Terraform} \cite{terraform}. και \textlatin{Terraform} \cite{terraform}.
\item \textbf{Ελάχιστος χρόνος διακοπής λειτουργίας}: \item \textbf{Ελάχιστος χρόνος διακοπής λειτουργίας}:
@@ -556,15 +567,14 @@
προκαλέσουν διακοπή λειτουργίας και να διαταράξουν την παραγωγικότητα προκαλέσουν διακοπή λειτουργίας και να διαταράξουν την παραγωγικότητα
των χρηστών. Οι διαχειριστές μπορεί να έχουν πλεονάζουσες εικονικές των χρηστών. Οι διαχειριστές μπορεί να έχουν πλεονάζουσες εικονικές
μηχανές και να πραγματοποιούν εναλλαγή σε αυτές εάν εμφανιστούν μηχανές και να πραγματοποιούν εναλλαγή σε αυτές εάν εμφανιστούν
προβλήματα, κάτι που θα ήταν μη αποδοτικό για την επιχείρηση με προβλήματα, κάτι που θα δε θα ήταν αποδοτικό για την επιχείρηση
φυσικούς διακομιστές. διαθέτοντας μονάχα φυσικούς διακομιστές.
\item \textbf{Ταχύτερη παροχή}: \item \textbf{Ταχύτερη παροχή}:
Η αγορά, εγκατάσταση και διαμόρφωση του υλικού για Η αγορά, εγκατάσταση και διαμόρφωση του υλικού για κάθε εφαρμογή είναι
κάθε εφαρμογή είναι χρονοβόρα. Εφόσον το υλικό είναι ήδη στη θέση του, χρονοβόρα. Εφόσον το υλικό είναι ήδη στη θέση του, η παροχή εικονικών
η παροχή εικονικών μηχανών για την εκτέλεση όλων των εφαρμογών σας μηχανών για την εκτέλεση όλων των εφαρμογών είναι σημαντικά ταχύτερη.
είναι σημαντικά ταχύτερη.
\end{itemize} \end{itemize}
@@ -582,8 +592,6 @@
διεργασιών, αρχείων, της συσκευής, του \textlatin{IPC}, δικτύου και τέλος, των διεργασιών, αρχείων, της συσκευής, του \textlatin{IPC}, δικτύου και τέλος, των
πόρων. πόρων.
\pagebreak
Αυτά επιτυγχάνονται κατά σειρά με την χρήση \textlatin{namespaces} όπου Αυτά επιτυγχάνονται κατά σειρά με την χρήση \textlatin{namespaces} όπου
οριοθετείται η ορατότητα των διεργασιών ανάμεσα στα δοχεία και το σύστημα όπως οριοθετείται η ορατότητα των διεργασιών ανάμεσα στα δοχεία και το σύστημα όπως
επίσης, τα δικαιώματά τους. Χρήση \textlatin{mount namespaces}, με τα οποία οι επίσης, τα δικαιώματά τους. Χρήση \textlatin{mount namespaces}, με τα οποία οι

View File

@@ -117,7 +117,7 @@
\null\vfill \null\vfill
% Now comes the "Funny Quote", written in italics % Now comes the "Funny Quote", written in italics
\textit{\textlatin{Απόφθεγμα (προεραιτικό)}} \textit{\textlatin{Απόφθεγμα (προαιρετικό)}}
\begin{flushright} \begin{flushright}
\textlatin{Συγγραφέας Αποφθέγματος} \textlatin{Συγγραφέας Αποφθέγματος}
@@ -132,18 +132,18 @@
\abstract{ \abstract{
\addtocontents{toc}{\vspace{1em}} % Add a gap in the Contents, for aesthetics \addtocontents{toc}{\vspace{1em}} % Add a gap in the Contents, for aesthetics
Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες τύπου
τύπου \textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για \textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για τις
τις υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο μειώνονται τα
μειώνονται τα λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για την αγορά εξοπλισμού
την αγορά εξοπλισμού για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά είναι πλέον δυνατό να
είναι πλέον δυνατό να κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της υπηρεσίας που προσφέρεται με
υπηρεσίας που προσφέρεται με μια απλή και γρήγορη επανεκκίνηση της μια απλή και γρήγορη επανεκκίνηση της εικονικής μηχανής χρησιμοποιώντας νέες
εικονικής μηχανής χρησιμοποιώντας νέες παραμέτρους. Με αυτόν τον τρόπο παραμέτρους. Με αυτόν τον τρόπο μεταβιβάζεται η ευθύνη της συντήρησης
μεταβιβάζεται η ευθύνη της συντήρησης εξοπλισμού σε τρίτους αλλά εξοπλισμού σε τρίτους αλλά ταυτόχρονα εισάγεται ένα καινούριο μοντέλο
ταυτόχρονα εισάγεται ένα καινούριο μοντέλο εμπιστοσύνης ανάμεσα όχι μόνο εμπιστοσύνης ανάμεσα όχι μόνο στον χρήστη και τον πάροχο νέφους αλλά και αυτόν
στον χρήστη και τον πάροχο νέφους αλλά και αυτόν που παρέχει τις πολλές που παρέχει τις πολλές φορές προ ρυθμισμένες διανομές \textlatin{Linux} σε
φορές προ ρυθμισμένες διανομές \textlatin{Linux} σε αυτόν. αυτόν.
Στην παρούσα εργασία θα αναλύσουμε τις τρωτότητες μιας ιδεατής μηχανής και Στην παρούσα εργασία θα αναλύσουμε τις τρωτότητες μιας ιδεατής μηχανής και
τρόπους για την αντιμετώπισή τους. Έπειτα θα μιλήσουμε για την τεχνολογία τρόπους για την αντιμετώπισή τους. Έπειτα θα μιλήσουμε για την τεχνολογία
@@ -151,8 +151,8 @@
Ο σκοπός της εργασίας είναι η δημιουργία ενός εργαλείου που θα μπορεί όχι μόνο Ο σκοπός της εργασίας είναι η δημιουργία ενός εργαλείου που θα μπορεί όχι μόνο
να δημιουργεί ιδεατές μηχανές κατά μήκος πολλών παρόχων νέφους αλλά και να τις να δημιουργεί ιδεατές μηχανές κατά μήκος πολλών παρόχων νέφους αλλά και να τις
σκληραίνει με έναν αυτοματοποιημένο τρόπο. Επιπροσθέτως θα εγκαθιστά σε αυτές σκληραίνει με έναν αυτοματοποιημένο τρόπο. Επιπροσθέτως θα εγκαθιστά σε αυτές
τη μηχανή δοχείων \textlatin{Docker} την οποία επίσης θα σκληραίνει με σκοπό τη μηχανή δοχείων \textlatin{Docker} την οποία επίσης θα σκληραίνει με σκοπό το
το εύκολο στήσιμο υπηρεσιών με ασφαλή τρόπο για οποιονδήποτε χρήστη ανεξαρτήτως εύκολο στήσιμο υπηρεσιών με ασφαλή τρόπο για οποιονδήποτε χρήστη ανεξαρτήτως
επιπέδου γνώσεων στον τομέα της ασφάλειας και των λειτουργικών συστημάτων τύπου επιπέδου γνώσεων στον τομέα της ασφάλειας και των λειτουργικών συστημάτων τύπου
\textlatin{Unix}. \textlatin{Unix}.