ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Σχετικά έγγραφα
Άσκηση 1 η. Επιτήρηση χρήσης πόρων εφαρμογών με Linux Cgroups

Σύντομος Οδηγός Github Μηνάς Δασυγένης (

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

ARTius με PostgreSQL

Λειτουργικά Συστήματα

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη.

Πανεπιστήμιο Ιωαννίνων

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Μερικές άλλες χρήσιμες εντολές

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ ΠΡΟΣΩΠΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (MS WINDOWS, LINUX, MACOS)

Βασική εγκατάσταση Asterisk σε Linux

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Ενσωματωμένα Συστήματα

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Ενημερωτικός οδηγός για τον εξυπηρετητή Ada

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 3o ΕΡΓΑΣΤΗΡΙΟ

Σεμινάριο Git & GitLab. Γιώργος Τσιάτσιος Δημήτρης Κάσσος

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Οδηγίες ενεργοποίησης λογαριασμού στο λογισμικό λογοκλοπής TURNITIN

Epsilon Net PYLON Platform

Οδηγίες προς τον τελικό χρήστη για τη σύνδεση στο Ασύρματο Δίκτυο Δεδομένων του ΤΜΗΥ&Π

Αβδέλαρου Κωνσταντίνα

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας

Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ιαχείριση Πληροφοριών στο ιαδίκτυο

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εγχειρίδιο κρυπτογράφησης και κλειδοθηκών i. Εγχειρίδιο κρυπτογράφησης και κλειδοθηκών

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051

Λογισμικό ανίχνευσης λογοκλοπής Turnitin - Σύντομος Οδηγός (

Μετάφραση ΕΛ/ΛΑΚ με τη χρήση της συνεργατικής πλατφόρμαςtransifex

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΩΝ ΣΥΣΤΗΜΑΤΟΣ 2015

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ORFEAS ORFEAS. Hellenic American Union

Λειτουργικά Συστήματα

ΚΕΦΑΛΑΙΟ Web Services

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

Προετοιμασία σύνδεσης του modem. Εγκατάσταση του Modem

Κατανεμημένα Συστήματα

ΠΩΣ ΘΑ ΑΝΟΙΞΕΤΕ ΤΟ ΔΙΚΟ ΣΑΣ. Avon Store

Για να εγγραφείτε (1 η φορά) ή να συνδεθείτε, κάντε click στην εισαγωγική σελίδα στο tab [είσοδος] στα δεξιά του tab [basket]

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ»

Οδηγός χρήσης AE6000. Ασύρματος προσαρμογέας Mini USB AC580 Dual Band

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Οδηγίες Χρήσης online συστήματος κρατήσεων. Δήμος Στροβόλου

ΚΕΠΛΗΝΕΤ ΕΒΡΟΥ. Καλτσίδης Χρήστος

Είσοδος σε συνεδρία της Blackboard και βασικές ρυθμίσεις

Λειτουργικά Συστήματα

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

ΕΡΓΑΣΤΗΡΙΟ 2: Unix Tutorial

Μερικές άλλες χρήσιμες εντολές

Ενημερωτικός οδηγός για τον εξυπηρετητή Ada

ΟΤΑ Επιχειρησιακή Νοηµοσύνη

Διαδικαστικά. Εισαγωγή στο Λειτουργικό Σύστημα UNIX. Διαδικαστικά. Τι είναι το Λειτουργικό Σύστημα

Μόλις επανεκκινηθεί το inetd, η υπηρεσία θα απενεργοποιηθεί. Μπορείτε να απενεργοποιήσετε το inetd με την εντολή:

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Tο περιβάλλον Code::Blocks

Ασφάλεια Υπολογιστών Και Δικτύων. Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή

Οδηγίες Ρύθμισης ΖΤΕ ΖΧΗΝ Η108Ν

Πληροφορική 2. Δομές δεδομένων και αρχείων

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πάτρας

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Οδηγίες. Εγκατάσταση Προσωπικού Πιστοποιητικού

ΕΝΕΡΓΟΠΟΙΗΣΗ ΛΟΓΑΡΙΑΣΜΟΥ MICROSOFT OFFFICE365 (Βήματα 1-7)

Εγχειρίδιο Εγκατάστασης Χρήσης Gemalto

Οδηγός γρήγορης εκκίνησης του PowerSuite

Android Studio για Linux

Εγχειρίδιο Χρήστη ECAS

Εικόνα 2 Αφού εισέλθετε στο σύστημα, έχετε τη δυνατότητα επιλέγοντας «Software» να αναζητήσετε το λογισμικό που σας ενδιαφέρει. Αυτό γίνεται είτε εισά

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

SSH. Tutorial. Γιώργος Καππές

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

Οδηγός για την χρήση ψηφιακών προϊόντων

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Άσκηση 1 η Επιτήρηση χρήσης πόρων εφαρμογών με Linux Cgroups Εισαγωγή Ένα κέντρο δεδομένων (data center) προσφέρει υπηρεσίες φιλοξενίας εφαρμογών στην αγορά. Από τη μία, το κέντρο δεδομένων επιθυμεί να εκμεταλλεύεται ολόκληρη την υποδομή του χωρίς αδρανείς πόρους. Από την άλλη, οι πελάτες του απαιτούν οι πόροι που έχουν παραγγείλει να είναι διαθέσιμοι με αξιοπιστία. Εάν υπερφορτωθεί με εφαρμογές το κέντρο δεδομένων τότε δεν θα μπορεί να ανταποκριθεί στις απαιτήσεις όλων των εφαρμογών. Για την άσκηση αυτή υποθέτουμε ότι η απαίτηση μιας εφαρμογής μετράται σε χιλιοστά της υπολογιστικής ισχύος του ενός επεξεργαστή. Ένας κόμβος με 16 επεξεργαστές μπορεί να καλύψει σύνολο 16000 χιλιοστών και άρα μπορεί να εξυπηρετήσει, για παράδειγμα, 8 εφαρμογές που απαιτούν εγγύηση 2000 χιλιοστών η κάθε μία. Εάν όμως οι 8 εφαρμογές αυτές είναι ανελαστικές και δεν καταναλώνουν συνεχώς το σύνολο των 2000 χιλιοστών που έχει εξασφαλιστεί για αυτές, τότε ο κόμβος μένει αδρανής. Για να το αποφύγουμε αυτό θα μπορούσαμε να βάλουμε μόνο 7 ανελαστικές εφαρμογές των 2000 χιλιοστών και 10 εφαρμογές των 200 χιλιοστών αλλά ελαστικές. Οι 10 ελαστικές εφαρμογές θα εκμεταλλευτούν τους επεξεργαστές μόνο όταν οι 7 δεν τους χρησιμοποιούν. Παράδειγμα ανελαστικής εφαρμογής είναι μια βάση δεδομένων της οποίας το φορτίο διακυμαίνεται και κοστίζει πολύ στους χρήστες της η όποια καθυστέρηση στις απαντήσεις της. Παράδειγμα ελαστικής εφαρμογής είναι η επεξεργασία μεγάλου όγκου γονιδιακού υλικού η οποία μπορεί να απαιτεί χιλιάδες ώρες επεξεργασίας αλλά δεν επηρεάζεται από τις αυξομοιώσεις της επεξεργαστικής ισχύος που λαμβάνει, αρκεί σε βάθος χρόνου να λάβει όσο χρειάζεται.

Για να μπορεί το κέντρο δεδομένων να επιβάλλει την προτεραιότητα κάποιων εφαρμογών στα χιλιοστά υπολογιστικής ισχύος που αναλογούν χρειάζεται ένα κατάλληλο εργαλείο. Το σύστημα cgroup του Linux είναι ένα τέτοιο εργαλείο που μπορεί να επιβάλει ποσοτικούς περιορισμούς και διαμοιρασμό υπολογιστικών πόρων. Σκοπός της άσκησης είναι η δημιουργία προγραμμάτων που με τη χρήση του συστήματος cgroup μπορεί να εξασφαλίσει την υπολογιστική ισχύ, ρυθμισμένη σε χιλιοστά του ενός επεξεργαστή όπως παραπάνω. Ο Δαίμων cgmond Ως βοήθημα δίδεται ο cgmond, πρόγραμμα (δαίμων με την έννοια του unix) που αναλαμβάνει να εκκινεί και να παρακολουθεί εφαρμογές, καθώς και να επιβάλλει τα ελάχιστα εξασφαλισμένα χιλιοστά επεξεργαστικής ισχύος όπως δίνονται στην εκκίνηση της εφαρμογής. Ο cgmond δεν ερμηνεύει τις τιμές για τα ελάχιστα εξασφαλισμένα χιλιοστά κάθε εφαρμογής, ούτε εφαρμόζει ρυθμίσεις cgroup. Αντί αυτού καλεί δύο εξωτερικά εκτελέσιμα προγράμματα, cgmon-policy και cgmon-limit, αντίστοιχα. Κάθε φορά που δημιουργείται ή τερματίζεται μια εφαρμογή, ο cgmond εκτελεί το cgmon-policy δίνοντάς του όλες τις εφαρμογές με τις ρυθμίσεις για τα χιλιοστά τους. Το cgmon-policy παράγει τις ρυθμίσεις για το σύστημα cgroup που πρέπει να εφαρμοστούν. Στη συνέχεια, το cgmon-limit καλείται για να εφαρμόσει τις ρυθμίσεις που παρήγαγε το cgmon-policy. Σε περίπτωση που ζητηθεί η εκκίνηση μιας εφαρμογής με χιλιοστά περισσότερα από όσα μπορεί να εγγυηθεί το σύστημα τότε προειδοποιεί και απαιτεί επιβεβαίωση. Ζητούμενα της Άσκησης Ζητείται η συγγραφή κατάλληλων προγραμμάτων cgmon-policy και gmon-limit και η ανεύρεση κατάλληλων εφαρμογών ώστε να ικανοποιηθούν και να επιδειχθούν τα παρακάτω: 1. Να συμφωνούν με τις προδιαγραφές που δίδονται στις αντίστοιχες ενότητες ώστε να μπορούν να χρησιμοποιηθούν από τον cgmond. 2. Θα πρέπει μετά την εφαρμογή από το cgmon-limit των ρυθμίσεων cgroup που παράγει το cgmon-policy να εξασφαλίζονται τα ελάχιστα χιλιοστά χρήσης κάθε εφαρμογής όπως έχουν δηλωθεί κατά την εκκίνησή της.

3. Το cgmon-policy θα πρέπει να βαθμοδοτεί κατάλληλα την είσοδό του ώστε ο cgmond να αποτρέπει την εκκίνηση εφαρμογής εάν πρόκειται να κινδυνεύσουν τα εγγυημένα χιλιοστά οποιασδήποτε εφαρμογής. 4. Εάν υπάρχουν ελαστικές και ανελαστικές εφαρμογές υπό επιτήρηση να εξασφαλίζεται ότι όλοι οι επεξεργαστές του κόμβου χρησιμοποιούνται και κανείς δεν μένει αδρανής. Εκτελέσιμο cgmon-policy Συνοπτικά, το εκτελέσιμο cgmon-policy καλείται να μετατρέψει το μέτρο των ελάχιστων εξασφαλισμένων χιλιοστών χρήσης ενός επεξεργαστή, μέγεθος με το οποίο συναλλάσσεται ο χρήστης, σε cpu.shares, μέγεθος με το οποίο ρυθμίζεται το σύστημα cgroup για το διαμοιρασμό επεξεργαστικής ισχύος σε εφαρμογές. Το πρόγραμμα λαμβάνει είσοδο της μορφής: policy:<application name>:cpu:<value>... Όπου κάθε γραμμή αντιστοιχεί με την εφαρμογή με το όνομα application name. Η τιμή value είναι ένας θετικός ακέραιος που αντιστοιχεί στα χιλιοστά του ενός επεξεργαστή τα οποία θέλουμε να εξασφαλίσουμε για την εφαρμογή. Κάθε γραμμή τερματίζεται με έναν χαρακτήρα '\n' (ascii 0xa). Τα policy και cpu είναι σταθερές και εμφανίζονται ως έχουν. Στην έξοδό του το πρόγραμμα παράγει αντίστοιχες γραμμές: score:<float> set_limit:<application name>:cpu.shares:<value>... Τα score, set_limit, cpu.shares είναι σταθερές και εμφανίζονται ως έχει. Στην πρώτη γραμμή της εξόδου, η τιμή float είναι μια δεκαδική τιμή με υποδιαστολή η οποία εάν είναι θετική υποδηλώνει ότι τα ελάχιστα όρια χρήσης είναι εξασφαλισμένα για όλες τις εφαρμογές, ενώ αν είναι αρνητική τότε τα όρια δεν μπορούν να τηρηθούν. Οι επόμενες γραμμές αφορούν κάθε μία την αντίστοιχη εφαρμογή με όνομα application name. Η

τιμή value είναι θετικός δεκαδικός ακέραιος και αντιστοιχεί στη ρύθμιση cpu.shares του αντίστοιχου cgroup της εφαρμογής. Εκτελέσιμο cgmon-limit Συνοπτικά, το εκτελέσιμο cgmon-limit αναλαμβάνει να εφαρμόσει τις ρυθμίσεις που παρήγαγε το cgmon-policy, καθώς και να συντηρεί την απεικόνιση των εφαρμογών σε ιεραρχίες cgroup κατ'εντολή του cgmond. Το εκτελέσιμο δέχεται στην είσοδο γραμμές ενός εκ των ακόλουθων τύπων: Δημιουργία cgroup για μια νέα εφαρμογή: create:<monitor>:cpu:<application name> Κατάργηση του cgroup μιας εφαρμογής που έχει τερματίσει remove:<monitor>:cpu:<application name> Εγγραφή μιας διεργασίας στο cgroup μιας εφαρμογής: add:<monitor>:cpu:<application name>:<process id> Ρύθμιση της τιμής cpu.shares για το cgroup μιας εφαρμογής: set_limit:<monitor>:cpu:<application name>:cpu.shares:<value> Το αναγνωριστικό monitor αντιστοιχεί στο cgroup του cgmond η οποία περιέχει όλα τα cgroups των εφαρμογών. Με αυτόν τον τρόπο απομονώνεται ο χώρος ονομάτων των εφαρμογών από το υπόλοιπο σύστημα για την αποφυγή συγκρούσεων (π.χ. κάποιος προσπαθεί να ονομάσει μια εφαρμογή με όνομα cgroup που υπάρχει ήδη στο σύστημα). Υποσύστημα cgroup/cpu Το υποσύστημα cpu ξεκινά αναθέτοντας όλη την υπολογιστική ισχύ του συνόλου των επεξεργαστών στην κορυφή της ιεραρχίας. Κάθε cpu cgroup έχει μία ρύθμιση cpu.shares. Σε κάθε επίπεδο αθροίζονται όλες οι τιμές των cpu.shares των cgroups που ανήκουν στο επίπεδο αυτό. Η συνολική υπολογιστική ισχύς διαθέσιμη στο επίπεδο αυτό χωρίζεται σε ισάριθμα και ισοδύναμα τμήματα. Κάθε cgroup λαμβάνει τόσα τμήματα όσα και η τιμή cpu.shares που έχει.

Πρόσβαση σε βοηθητική εικονική μηχανή Για τις ανάγκες της άσκησης σας προσφέρεται μια εικονική μηχανή. Για να τη χρησιμοποιήσετε ακολουθήστε τα βήματα: 1. Επισκεφθείτε το https://okeanos.grnet.gr κ αι χρησιμοποιείστε τον ακαδημαϊκό σας λογαριασμό για να εισέλθετε. Θα σας ζητηθεί να επιλέξετε το ίδρυμά σας πριν δώσετε τον κωδικό σας. 2. Επισκεφθείτε το dashboard στην πάνω δεξιά γωνία. 3. Πατήστε στο tab projects 4. Επιλέξτε join στο oslab2016.cslab.ntua.gr 5. Περιμένετε την έγκριση από το προσωπικό του εργαστηρίου (θα επιβεβαιώσουν τα στοιχεία σας). Θα λάβετε ειδοποίηση στο email σας μόλις ολοκληρωθεί η εγγραφή σας. 6. Πατήστε Cyclades στην ζώνη στην κορυφή της σελίδας 7. Επιλέξτε να δημιουργήσετε μια νέα εικονική μηχανή 8. Επιλέξτε εικόνα (image) Debian base. Επισημαίνεται ότι είναι απαραίτητη η δημιουργία IPV4, στο αντίστοιχο βήμα, προκειμένου να υποστηρίζονται οι κλασικοί τρόποι πρόσβασης στο εικονικό μηχάνημα. Καλό είναι επίσης, να δημιουργήσετε στο αντίστοιχο βήμα και ένα κλειδί ssh, διαφορετικά σημειώστε το password μετά τη δημιουργία. 9. Συνδεθείτε ως χρήστης root με ssh. 10. Εκτελέστε τα επόμενα βήματα (Παράρτημα Α) χειρωνακτικά ή εκτελώντας τα ως script. Μέσα σε αυτά προσέξτε τη διεύθυνση που θα βρείτε τον κώδικα του cgmond. Ο κωδικός που απαιτείται για τη λήψη του κώδικα από το αντίστοιχο repository είναι: g79uafvj3v

Παράρτημα Α # cat > setup_env.sh << HEREDOC #!/bin/bash STEP () { read -p 'Continue (Y/n) ' c } set -v cd STEP Install git and vim apt-get install git vim python python-setuptools STEP Enable greek UTF-8 locale sed -i -e 's/^# *\(el_gr.utf-8\)$/\1/g' /etc/locale.gen STEP Enable greek UTF-8 typing in shell touch ~/.bashrc sed -i -e '/^export LC_CTYPE=/d' ~/.bashrc echo 'export LC_CTYPE=el_GR.UTF-8' '>>' ~/.bashrc # Now you have to re-login to enable it STEP Generate key for git repository mkdir -p -m 0700 ~/.ssh if! [ -e ~/.ssh/cgmon_rsa_id ]; then ssh-keygen -b 4096 -t rsa -f ~/.ssh/cgmon_rsa_id fi touch ~/.ssh/config set -i -e '/^IdentityFile ~/.ssh/cgmon_rsa_id$/d' ~/.ssh/config echo 'IdentityFile ~/.ssh/cgmon_rsa_id' >> ~/.ssh/config # Send the following public key to your course assistants echo -e '\n\n\n\n\n'; \ echo '------------ cut here ------------'; \ echo -n 'command="git-shell -c \"$SSH_ORIGINAL_COMMAND\"",'; \ echo -n 'no-port-forwarding,no-agent-forwarding ssh-rsa '; \ cat ~/.ssh/cgmon_rsa_id.pub; \ echo '------------ cut here ------------'; \ echo -e '\n\n\n\n\n' STEP Get cgmon source and start working mv -f cgmon cgmon-$(date -Isec) git clone git+ssh://cslab@snf-698511.vm.okeanos.grnet.gr:/git/cgmon cd cgmon python setup.py install HEREDOC # chmod +x./setup_env.sh #./setup_env.sh