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