Στη παρούσα διπλωματική εργασία μελετάται το πρόβλημα που παρουσιάζεται
κατά τη δημιουργία εικονικών μηχανών, καθώς και κατά τη λήψη στιγμιοτύπων αυ-
τών, στην υπηρεσία okeanos.
Κατά τη δημιουργία νέων εικονικών μηχανών, με βάση μια προρυθμισμένη εικό-
να, απαιτείται αναπαραγωγή των δεδομένων στον εικονικό δίσκο της εικονικής μη-
χανής προκειμένου να έχει αποκλειστική χρήση. Δεδομένου ότι η εικόνα περιέχει τη
βασική εγκατάσταση του λειτουργικού συστήματος και σε μεγάλο βαθμό δεδομένα
που δε πρόκειται να αλλάξουν κατά τη χρήση του μηχανήματος, η φυσική αντιγρα-
φή των δεδομένων θεωρείται σπατάλη τόσο αποθηκευτικού χώρου, όσο και χρόνου
που απαιτείται για την αντιγραφή. Με παρόμοιο τρόπο υποφέρει και η λήψη στιγμιο-
τύπων μιας εικονικής μηχανής, όπου απαιτείται να παρθεί αντίγραφο του δίσκου τη
χρονική στιγμή λήψης του στιγμιοτύπου.
Στη παρούσα διπλωματική εργασία παρουσιάζεται η προτεινόμενη λύση για την
αντιμετώπιση του. Επιστρατεύτεται η χρήση της τεχνικής Copy-on-Write (CoW) για
την άμεση δημιουργία αντιγράφου και τη φυσική αντιγραφή μόνο των δεδομένων
που διαφοροποιούνται. Η λύση αυτή βασίζεται στη δημιουργία ανεξάρτητων υπομο-
νάδων για τη διασύνδεση της εικονικής μηχανής με το δίσκο της, την τήρηση των
χαρτών αντιστοίχησης των φυσικών δεδομένων και την πρόσβαση στα φυσικά δεδο-
μένα. Η επικοινωνία των υπομονάδων επιτυγχάνεται μέσω μιας ειδικής βιβλιοθήκης
επικοινωνίας, η οποία υποστηρίζει την επικοινωνία διαφορετικών διεργασιών, με τη
χρήση ουρών και αιτήσεων δεδομένων.
Κύριο μέρος της διπλωματικής εργασίας αποτελεί η ανάπτυξη δυο υποσυστημά-
των, του λογισμικού πρόσβασης στον αποθηκευτικό χώρο (sosd), ο οποίος βρίσκεται
σε ένα κατανεμημένο σύστημα αποθήκευσης αντικειμένων και του οδηγού συσκευ-
ής block για το πυρήνα του Λ/Σ Linux (xsegbd), ο οποίος δρα ως συνδετικός κρίκος
της εικονικής μηχανής με το δίσκο της. Στη συνέχεια ακολουθεί η αξιολόγηση τους.
Αναπτύσεται η μεθοδολογία και το λογισμικό αξιολόγησης και παρουσιάζονται και
ερμηνέυονται τα αποτελέσματα του, τόσο για το sosd, όσο και για τον οδηγό συσκευ-
ής.
The main objective of this diploma thesis is to study the problem that occurs
during VM provisioning and storing a snapshot in GRNET service okeanos.
During VM creation based on a preconfigured disk image, in order to ensure the
exclusive usage of the data, replication of data from the disk image to the virtual disk
is a necessity. Based on the fact that the image contains the basic installation of the
VM’s operating system, and in general data with low probability of changing through
the life span of the VM, physical replication of the data can be considered a waste
of both storage space and copy time. Taking a snapshot of a VM , where we need to
have a copy of the virtual disk, suffers in the same manner.
In this diploma thesis, there is a proposal to face this problem. The usage of Copy-
On-Write (CoW) technique is proposed to instantly create a copy of the data, where
the actual physical data are to be copied only when there is no other option. This
solution is based on independent modules to handle the communication of the VM
with its virtual disk, to handle the necessary map keeping in order to track the data
actually stored in the storage system, and to provide access to the storage system.
These independent modules communicate with each other with the aid of a custom
communication library which supports communication between processes, providing
the necessary queues and requests.
The main part of this diploma thesis is based on the development of two modules,
the software to access the storage space (sosd) targeting in a distributed object store
as a storage space provider, and the block device driver for the kernel of the operating
system GNU/Linux (xsegbd) which acts as a link in the data path between the VM
and its virtual disk. Next step is the evaluation of the previously mentioned modules.
The methodology of the evaluation is declared along with the matching benchmarking
software which was developed. Finally the results of the aforementioned procedure
are being presented with an explanation of the system behavior.