VirtualBox HOWTO
__TOC__
Ενότητα 1
Εισαγωγικά για την τεχνολογία Virtualization
Όλες οι εφαρμογές που τρέχουν τοπικά σε έναν Η/Υ, στη δυαδική εκτελέσιμη μορφή τους είναι στενά συνδεδεμένες με δύο παράγοντες κατά κύριο λόγο: Την αρχιτεκτονική του Η/Υ (οικογένεια μικροεπεξεργαστή με τα υποστηριζόμενα sets εντολών, δίαυλοι επικοινωνίας αυτού με συσκευές εισόδου-εξόδου-αποθήκευσης) και το λειτουργικό σύστημα που ορίζει το περιβάλλον εντός του οποίου εκτελούνται οι εφαρμογές. Αν σε δεδομένο Η/Υ με ήδη εγκατεστημένο Λ/Σ προσπαθήσουμε να εκτελέσουμε εφαρμογές που έχουν γραφτεί για άλλο Λ/Σ και/ή δεν υποστηρίζουν το set εντολών της υπάρχουσας CPU, είναι σίγουρο πως δε θα καταφέρουμε τίποτα απολύτως. Συχνά όμως υπάρχει ανάγκη να κάνουμε ακριβώς αυτό, χωρίς να καταφύγουμε στη λύση εγκατάστασης επιπλέον Λ/Σ και διαχείρισης dual-, triple- και παραπάνω boot υποδομής στον Η/Υ μας. Εδώ έρχεται η τεχνολογία Virtualization για να προτείνει λύσεις στο πρόβλημα.
Εν συντομία οι εφαρμογές Virtualization, που εκτελούνται οι ίδιες εντός του υπάρχοντος Λ/Σ (host Λ/Σ), αναλαμβάνουν να δημιουργήσουν ένα προστατευμένο περιβάλλον που θα προσομοιώνει κατά το δυνατόν ακριβέστερα έναν ολόκληρο Η/Υ με τα περιφερειακά του εξαρτήματα. Σκοπός είναι να μπορούμε να εγκαταστήσουμε εντός αυτής της εικονικής μηχανής (Virtual Machine - VM) ένα Λ/Σ (guest Λ/Σ) μαζί με τις εφαρμογές που προορίζονται γι' αυτό και να λειτουργούν όλα αρμονικά και διαφανώς. Χωρίς δηλαδή οι εφαρμογές και το Λ/Σ να μπορούν να διακρίνουν λειτουργική διαφορά σε σχέση με το να εκτελούνταν σε πραγματικό, απτό hardware.
Ως ιδέα δεν είναι νέα, ήδη από τη δεκαετία του 1960 μηχανικοί της IBM είχαν παρουσιάσει παρόμοιες υλοποιήσεις. Επίσης, πιο πρόσφατα αναπτύχθηκαν και συνεχίζουν να αναπτύσσονται εξομοιωτές (emulators) για διάφορες υπολογιστικές μηχανές. Πολλοί θα έχετε υπ' όψιν σας emulators για αγαπημένα μηχανήματα προγούμενων δεκαετιών (Amiga, Atari ST, κονσόλες παιχνιδιών κ.ά.) που επιτρέπουν την αναβίωση των μηχανημάτων αυτών και των εφαρμογών τους στην οθόνη ενός σύγχρονου Η/Υ. Μία από τις ειδοποιούς διαφορές ανάμεσα στη λογική λειτουργίας των εξομοιωτών αυτών και των σύγχρονων εφαρμογών Virtualization είναι η προσπάθεια που έχει γίνει για αποδοτικότερη αξιοποίηση του hardware και προσαρμογή του στις σύγχρονες επιχειρησιακές ανάγκες της αγοράς Πληροφορικής. Έτσι, ως αποτέλεσμα πολλών ανθρωποωρών μελέτης κώδικα σε χαμηλό επίπεδο και ανάπτυξης, οι εφαρμογές αυτές μπορούν να αναχαιτίζουν πολλά κομμάτια του κώδικα που εκτελείται εντός μίας VM και να αναθέτουν την εκτέλεσή του άμεσα στο πραγματικό hardware του host μηχανήματος. Έτσι, αποφεύγονται χρονοβόρα στάδια ενδιάμεσης μετάφρασης, αυξάνεται η ταχύτητα και αξιοποιούνται αποδοτικότερα οι διαθέσιμοι πόροι του host hardware. Σε αυτό βοηθούν πάρα πολύ οι πρόσφατοι επεξεργαστές από Intel και AMD που παρέχουν σχετικές ευκολίες υλοποιημένες σε hardware (Intel VT, AMD-V).
Ένα καλό παράδειγμα είναι η πολύ δημοφιλής πρακτική στον χώρο του Web Hosting, της παροχής πακέτων Virtual Hosts για αύξηση του cost-effectiveness. Ο πάροχος στήνει σε ένα μεγάλο (πιθανόν και πολυεπεξεργαστικό) μηχάνημα κατάλληλο Virtualization λογισμικό το οποίο δημιουργεί πολλές VM, η καθεμία με πόρους που είναι κλάσμα των συνολικών πόρων του πραγματικού server. Έτσι, ο κάθε πελάτης νοικιάζει μία VM αντί ολόκληρου του server και είναι ελεύθερος να εγκαταστήσει απομακρυσμένα σε αυτήν το Λ/Σ και τις εφαρμογές της αρεσκείας του (εντός λογικών πλαισίων φυσικά, προφανώς δεν παρέχεται υποστήριξη για οποιοδήποτε Λ/Σ έχει υπάρξει!). Έτσι όλοι είναι ευχαριστημένοι: και ο πελάτης που διαχειρίζεται ένα μηχάνημα όπως θέλει (έστω και VM) και ο πάροχος που δε χρειάζεται να διατηρεί πολύπλοκη εγκατάσταση Λ/Σ (θέματα πολυχρησίας/ασφάλειας, κεντρικοποιημένη εγκατάσταση κάθε δυνατού προγράμματος/υπηρεσίας που θα απαιτούσε ο κάθε πελάτης κλπ) και μπορεί να αξιοποιεί καλύτερα και αποδοτικότερα επενδύσεις σε μεγάλο, ακριβό server hardware.
Απαιτήσεις σε υλικό/λογισμικό
- Για τις ανάγκες του άρθρου επιλέχθηκε το πρόγραμμα VirtualBox της εταιρείας innotek [footnote]Από τότε που γράφτηκε η αρχική έκδοση του άρθρου, μεσολάβησε εξαγορά της innotek από την Sun Microsystems, τα υπάρχοντα links όμως εξακολουθούν να δουλεύουν κανονικά[/footnote], που μπορείτε να κατεβάσετε από εδώ. Τα host Λ/Σ συστήματα που υποστηρίζονται και για τα οποία μπορείτε να βρείτε εκδόσεις είναι
Microsoft Windows:2000 SP3 ή μεγαλύτερο, XP, 2003, VistaGNU/Linux:Debian 3.1 και 4, Fedora Core 4 έως 7, Gentoo, Redhat Enterprise 3 έως 5, SUSE 9 και 10, Ubuntu 5.10 έως 7.04. Επίσης, θεωρητικά είναι δυνατή η εγκατάσταση σεοποιαδήποτε διανομήέχει πυρήνα σειράς 2.4 ή 2.6. Η διαδικασία περιγράφεται στο κεφάλαιο 2.2 του εγχειριδίου. Μπορείτε να το κατεβάσετε ξεχωριστά από το site της innotekApple:OS Xσε Mac με Intel CPU μόνο
Η innotek παρέχει το πρόγραμμα εντελώς δωρεάν για προσωπική χρήση. Επίσης, είναι διαθέσιμη και έκδοση ανοικτού κώδικα (GPL v2) από την οποία λείπουν ορισμένες δυνατότητες που η εταιρεία επιφυλάσσεται να διαθέσει στο μέλλον. Επίσης, ως guest Λ/Σ έχουν δοκιμαστεί για την καλή συμπεριφορά τους τα παρακάτω, χωρίς να σημαίνει ότι δε θα λειτουργήσει η εγκατάσταση και χρήση άλλων Λ/Σ για x86 αρχιτεκτονική
MS-DOS, Windows 3.x, 95, 98, Me, NT 4.0 SP6a, 2000, XP, 2003, Vista, Linux 2.4 και 2.6, FreeBSD, OpenBSD 3.7 και 3.8, OS/2 Warp 4.5 (με τη ρύθμιση VT-x ενεργή) - Εγκαταστάθηκε η έκδοση 1.5.0 σε έναν Intel Core 2 Duo E6600, 2GB φυσικής μνήμης, 320GB SATA2 Seagate στον οποίον τρέχουν Windows XP SP2 Αγγλικά με όλες τις τελευταίες ενημερώσεις από Windows Update εγκατεστημένες. Το VirtualBox αναφέρει ως απαιτήσεις έναν αρκούντως ισχυρό επεξεργαστή x86 και αρκετή φυσική μνήμη RAM. Πόση ακριβώς; Τουλάχιστον ίση με εξής άθροισμα: RAM που απαιτεί το host Λ/Σ συν RAM που απαιτεί το guest Λ/Σ το οποίο έχουμε σκοπό να εγκαταστήσουμε και να εκτελέσουμε μέσα σε VM. Αν θέλουμε να τρέχουμε ταυτόχρονα πολλές VM, αθροίζουμε τις απαιτήσεις σε RAM εννοείται.
- Χρειαζόμαστε επίσης και χώρο στο σκληρό μας δίσκο. Όχι για την εγκατάσταση του ίδιου του VirtualBox (~30ΜΒ), αλλά για τα αρχεία που θα εμφανίζονται ως εικονικοί δίσκοι (VDI) εντός μίας VM. Μιλάμε για μεγέθη της τάξεως των (δεκάδων) GB. Μπορούμε να ανατρέξουμε στις απαιτήσεις του guest Λ/Σ που σκοπεύουμε να εγκαταστήσουμε. Για ένα minimal Λ/Σ χωρίς πολλές έξτρα εφαρμογές όπως π.χ. το Xubuntu Linux, θα μπορούσαμε να χρησιμοποιήσουμε ένα αρχείου μόλις 3GB. Αν σκοπός μας είναι η εγκατάσταση π.χ. των Windows Vista, σίγουρα δεν τη γλυτώνουμε με λιγότερα από μερικές δεκάδες GB. Περισσότερα για τα αρχεία VDI θα δούμε στη συνέχεια.
Γνωριμία με το VirtualBox & ρυθμίσεις
Η εγκατάσταση του VirtualBox στα Windows είναι εξαιρετικά απλή. Η μοναδική παρέμβαση που καλούμαστε να κάνουμε είναι ο καθορισμός του καταλόγου στον οποίον θα εγκατασταθεί το πρόγραμμα. Δεν απαιτείται ούτε καν επανεκκίνηση. Εκκινούμε λοιπόν το VirtualBox από την αντίστοιχη συντόμευση στο Start Menu των Windows, οπότε και θα μας υποδεχθεί το εξαιρετικά λιτό περιβάλλον της εφαρμογής:
Ξεκινάμε με μερικές αρχικές ρυθμίσεις από το File --> Preferences... (ή με CTRL+G):
1. Στον κατάλογο που θα ορίσουμε εδώ, αποθηκεύονται τα αρχεία VDI (Virtual Disk Image) του VirtualBox, δηλαδή οι εικονικοί σκληροί δίσκοι μας. Καλό είναι ο κατάλογος να βρίσκεται σε partition με πολλά GB ελεύθερα και όχι κατακερματισμένο (fragmented)
2. Στον κατάλογο που θα ορίσουμε εδώ αποθηκεύονται τα αρχεία ρυθμίσεων της κάθε εικονικής μηχανής (στάνταρ XML αρχεία) και τα log files που προκύπτουν κατά τη λειτουργία τους
3. Ακόμη και αν έχουμε επεξεργαστή που υποστηρίζει hardware επιτάχυνση Virtualization, προτείνεται να αφήσουμε απενεργοποιημένη αυτήν την επιλογή. Το VirtualBox, με ένα σχετικά σύγχρονο guest Λ/Σ εγκατεστημένο, μπορεί να καταλάβει πότε πρέπει να δρομολογεί εντολές του κώδικα που εκτελείται εντός VM απευθείας προς τον επεξεργαστή, χωρίς να το ορίσουμε ρητά εδώ. Συν τοις άλλοις, αυτή η ρύθμιση μπορεί να γίνει ξεχωριστά για κάθε VM που δημιουργούμε. Γενικά, μόνο σε πολύ παλιά guest Λ/Σ (όπως IBM OS/2) πρέπει να το ενεργοποιούμε και θα το κάνουμε όπως είπαμε από τις ρυθμίσεις της συγκεκριμένης VM
4. Με κλικ μέσα στο πεδίο μπορούμε να ορίσουμε μία νέα συντόμευση Host key, αν η τρέχουσα δε μας ικανοποιεί. Ο ρόλος του Host key είναι απλός: λειτουργεί σαν ένας διακόπτης On/Off που, με ενεργό το παράθυρο μίας VM, καθορίζει αν η είσοδος από το πληκτρολόγιο ή το ποντίκι θα στέλνεται στο guest ή το host Λ/Σ. Αρκετά προφανές το πόσο χρήσιμο είναι να έχουμε μία τέτοια δυνατότητα
5. Αν ενεργοποιήσουμε αυτήν την επιλογή, κάθε φορά που ενεργοποιείται το παράθυρο μίας VM η είσοδος πληκτρολογίου ή ποντικιού αρχίζει να στέλνεται στο guest Λ/Σ. Γλυτώνουμε δηλαδή ένα πάτημα του Host key
6. Κλείνουμε το παράθυρο Preferences
Ενότητα 2
Δημιουργία & διαχείριση εικονικών δίσκων
To VirtualBox χρησιμοποιεί ένα δικό του format για τους εικονικούς δίσκους που δημιουργούμε, το VDI. Αν έχουμε όμως εικονικές μηχανές που δημιουργήσαμε με άλλα προγράμματα Virtualization (ή κατεβάσαμε από το διαδίκτυο), μπορούμε να εισάγουμε στο VirtualBox τα αντίστοιχα αρχεία εικονικών δίσκων τους, αρκεί αυτά να έχουν τη μορφή VMDK. Επίσης, αρχεία ISO που περιέχουν δίσκο εγκατάστασης κάποιου Λ/Σ ή IMG εικόνες από δισκέττες μπορούν να γίνουν διαθέσιμα στο VirtualBox και να προσαρτηθούν στο εικονικό DVDROM ή Floppy drive μίας VM για να προχωρήσουμε πιθανόν σε εγκατάσταση guest Λ/Σ. Όλα αυτά τα αρχεία μπορούμε να τα διαχειριστούμε από τον Virtual Disk Manager του VirtualBox. Τον ανοίγουμε λοιπόν από File --> Virtual Disk Manager... ή με CTRL+D:
7. Από τις καρτέλες επιλέγουμε κατηγορία εικονικών δίσκων που θέλουμε να διαχειριστούμε (εικονικοί σκληροί δίσκοι, οπτικοί δίσκοι, δισκέττες)
8. Εδώ εμφανίζεται λίστα με τα καταχωρημένα αρχεία εικονικών δίσκων που παρακολουθεί το πρόγραμμα
9. Δημιουργούμε ένα νέο αρχείο εικονικού δίσκου VDI. Διαθέσιμο μόνο για την πρώτη κατηγορία (εικονικοί σκληροί δίσκοι)
10. Εισαγωγή ενός υπάρχοντος αρχείου εικονικού δίσκου που δεν είναι ακόμη ορατό στο πρόγραμμα. Πιθανόν κάποιο που έχουμε δημιουργήσει με άλλο πρόγραμμα Virtualization ή ακόμη και παλαιότερα με το VirtualBox αλλά στη συνέχεια το κάναμε μη διαθέσιμο
11. Χαρακτηρίζουμε ένα ήδη καταχωρημένο αρχείο εικονικού δίσκου από τη λίστα ως μη διαθέσιμο. Το αρχείο παύει να φαίνεται στη λίστα του Virtual Disk Manager και εμφανίζεται παράθυρο διαλόγου που μας ρωτά αν θέλουμε ή όχι το αρχείο να σβηστεί επίσης και από το σκληρό μας δίσκο ολοκληρωτικά
12. «Αποσυνδέουμε» ένα αρχείο εικονικού δίσκου της λίστας από την VM στην οποία το αναθέσαμε. Παρατηρήστε ότι ένα αρχείο εικονικού δίσκου και μία VM είναι διακριτές οντότητες και μεταβολές (π.χ. διαγραφή) στο ένα δε συνεπάγονται πάντα αντίστοιχες μεταβολές και στο άλλο
Για τις ανάγκες του άρθρου, υποθέτουμε ότι θα εγκατασταθεί η έκδοση 7.04 του Xubuntu Linux σε μία VM, οπότε θα δημιουργήσουμε έναν αρκετά μικρό εικονικό δίσκο. Κλικ στο New και στην επόμενη οθόνη κλικ στο Next>:
Εδώ καλούμαστε να κάνουμε μία σημαντική επιλογή για το χαρακτήρα του αρχείου εικονικού δίσκου. Όπως επεξηγείται και στο παράθυρο, με την πρώτη επιλογή το αρχείο θα έχει αρχικά πολύ μικρό μέγεθος και θα μεγαλώνει σταδιακά, όσο γράφουμε νέα δεδομένα σε αυτό (κατά την εγκατάσταση guest Λ/Σ και εφαρμογών). Με τη δεύτερη επιλογή, το αρχείο θα δεσμεύσει εξαρχής στο host Λ/Σ τον χώρο που θα καθορίσουμε στη συνέχεια. Το μειονέκτημα της πρώτης επιλογής είναι η μειωμένη ταχύτητα προσπέλασης. Όταν το host Λ/Σ αναγκάζεται να αναπροσαρμόζει διαρκώς το μέγεθος του αρχείου, έχουμε σημαντικό performance hit και επίσης, μεγαλύτερη πιθανότητα κατακερματισμού (fragmentation) που θα εντείνει τη μείωση της απόδοσης. Γι' αυτό επιλέγουμε Fixed-sized image και συνεχίζουμε:
13. Εισάγουμε όνομα αρχείου. Ο κατάλογος στον οποίον θα δημιουργηθεί θα είναι αυτός που ορίσαμε στις αρχικές ρυθμίσεις του προγράμματος. Αν θέλουμε όμως, μπορούμε να τον αλλάξουμε με κλικ στο εικονίδιο δεξιά
14. Ορίζουμε το μέγεθος του εικονικού δίσκου. Για μεγαλύτερη ακρίβεια, χρησιμοποιούμε το πεδίο εισαγωγής στα δεξιά
Συνεχίζουμε με Next> και Finish:
Ο νέος εικονικός δίσκος μας εμφανίζεται στη λίστα του Virtual Disk Manager και μπορούμε να τον αναθέσουμε στη συνέχεια στην VM που θα δημιουργήσουμε. Παρατηρήστε πως αναφέρεται σε ξεχωριστές στήλες το μέγιστο μέγεθος του εικονικού δίσκου και το τρέχον μέγεθος, κάτι που έχει νόημα για τους δίσκους που δημιουργήθηκαν με δυναμική αναπροσαρμογή μεγέθους.
Κλικ στο OK για να κλείσουμε τον Virtual Disk Manager.
Δημιουργία & παραμετροποίηση μίας VM
Στο κυρίως παράθυρο του VirtualBox ξεκινάμε τη δημιουργία νέας VM με κλικ στο New ή με CTRL+N και στη συνέχεια Next>:
15. Εισάγουμε ένα όνομα για την VM μας. Καλό (όχι απαραίτητο φυσικά) είναι να επιλέξουμε κάτι αντιπροσωπευτικό του guest Λ/Σ που πρόκειται να εγκαταστήσουμε
16. Επιλέγουμε τον τύπο του guest Λ/Σ. Όπως αναφέρεται και στην τεκμηρίωση του προγράμματος, προς το παρόν η μόνη διαφορά που προκύπτει από αυτήν την επιλογή είναι στη minimum ποσότητα φυσικής μνήμης RAM που προτείνεται για δέσμευση από την VM και στο minimum μέγεθος που προτείνεται για τον εικονικό σκληρό δίσκο όπου θα γίνει εγκατάσταση. Στο μέλλον όμως πιθανόν η επιλογή του σωστού Λ/Σ να αντιστοιχεί σε ανάλογη βελτιστοποίηση της συμπεριφοράς και της απόδοσης του Virtualization. Οπότε σε κάθε περίπτωση καλό είναι να επιλέγουμε τον σωστό τύπο. Οι διαθέσιμες επιλογές είναι:
Συνεχίζουμε με κλικ στο Next>:
Ανάλογα με τον τύπο guest Λ/Σ, εδώ θα έχει επιλεχθεί αυτόματα η ελάχιστη προτεινόμενη ποσότητα φυσικής μνήμης που θα δεσμευτεί από την VM. Αν έχουμε PC με μπόλικη RAM, μπορούμε φυσικά να ορίσουμε μεγαλύτερη τιμή ώστε να επιτύχουμε και καλύτερη συμπεριφορά σε guest Λ/Σ με αρκετές εφαρμογές ανοιχτές. Δε θα είχε όμως νόημα να αφιερώσουμε π.χ. πάνω από 16-32MB σε Λ/Σ MS-DOS! Συνεχίζουμε με κλικ στο Next>:
17. Επιλέγουμε για την VM μας έναν από τους, ήδη καταχωρημένους στο πρόγραμμα, εικονικούς σκληρούς δίσκους
18. Ξεκινάει η διαδικασία δημιουργίας ενός νέου εικονικού σκληρού δίσκου
19. Ανοίγει ο Virtual Disk Manager για να διαχειριστούμε με μεγαλύτερη λεπτομέρεια τους εικονικούς δίσκους μας
Αφού κάνουμε τις επιθυμητές ενέργειες (στο παράδειγμα επιλέχθηκε ο δίσκος των 3GB που είχαμε δημιουργήσει πιο πριν), προχωρούμε με κλικ σε Next> και Finish:
Στο κυρίως παράθυρο του VirtualBox θα εμφανίζεται πλέον στη λίστα των διαθέσιμων VM η νέα που μόλις δημιουργήσαμε. Πριν τη βάλουμε εμπρός όμως, είναι σκόπιμο να τη ρυθμίσουμε λίγο πιο λεπτομερειακά. Κλικ στο Settings ή CTRL+S:
Πολλές ρυθμίσεις που βλέπουμε έχουν ήδη γίνει κατά τη δημιουργία της VM. Από εδώ θα μπορούμε να τις αλλάζουμε όσες φορές θελήσουμε, αν χρειαστεί. Υπάρχουν όμως κάποιες ρυθμίσεις που δεν συνιστάται να τις αλλάζουμε μετά την εγκατάσταση του guest Λ/Σ. Αυτές θα επισημανθούν στην πορεία. Έχουμε λοιπόν:
20. Η διαθέσιμη μνήμη της εικονικής «κάρτας γραφικών» της VM. Είναι κι αυτός ένας πόρος που θα λείψει από το host Λ/Σ. Όπως αρκετοί θα γνωρίζετε, καθορίζει τη μέγιστη ανάλυση και βάθος χρώματος που θα μπορεί να έχει η VM σε κατάσταση γραφικών. Για να βρούμε πόσα MB θα χρειαστούμε, αρκεί να υπολογίσουμε την παράσταση: οριζόντια ανάλυση σε pixels επί κάθετη ανάλυση σε pixels επί βάθος χρώματος σε bits δια 8388608. Π.χ. για ανάλυση 1600x1200 με βάθος χρώματος 32bits θα χρειαστούμε: 1600 x 1200 x 32 / 8388608 = 7,324 δηλαδή 8MB. Αυτά όμως μόνο για καθαρά δισδιάστατη απεικόνιση. Αν έχουμε σκοπό να παίξουμε κανένα τρισδιάστατο παιχνιδάκι όπως Quake II σε Windows 98 για παράδειγμα, καλό είναι να ορίσουμε μία αντιπροσωπευτική τιμή των καρτών γραφικών της περιόδου που είχε βγει το παιχνίδι (16-32ΜΒ)
21. Όπως στο BIOS του PC μας μπορούμε να ορίσουμε τη σειρά με την οποία θα ανιχνευθούν οι συσκευές αποθήκευσης για κώδικα εκκίνησης, το ίδιο μπορούμε να κάνουμε εδώ για την VM μας. Προφανώς, αν δεν έχουμε εγκαταστήσει ακόμη Λ/Σ στη VM θα πρέπει το CD/DVD-ROM να βρίσκεται πιο πάνω από το Hard Disk. Μετά την εγκατάσταση, μπορούμε να αλλάξουμε σειρά ή ακόμη και να αφαιρέσουμε το τικ από το CD/DVD-ROM
22. Στην τελευταία εκ των τριων επιλογών έχουμε ήδη αναφερθεί πιο πάνω. Το ACPI θα κάνει την VM να μιμείται ένα σύγχρονο PC σε ό,τι αφορά την ενεργειακή κατάσταση. Αν θέλουμε π.χ. να μπορούμε να θέτουμε την VM σε standby mode/hibernation, πρέπει να το επιλέξουμε. Το IO APIC είναι μία επιλογή που επιτρέπει την αποδοτικότερη διαχείριση των IRQ, όμως προτείνεται για λόγους εύρυθμης λειτουργίας και ταχύτητας να μην το χρησιμοποιούμε. ΠΡΟΣΟΧΗ: Οι δύο αυτές ρυθμίσεις δε θα πρέπει να αλλάζουν μετά την εγκατάσταση guest Λ/Σ (εκτός ίσως αν έχουμε σκοπό να φορμάρουμε τον εικονικό δίσκο και να εγκαταστήσουμε εκ νέου Λ/Σ)
23. Αν το αφήσουμε στο Bidirectional, θα έχουμε clipboard που επιτρέπει copy/paste μεταξύ host και guest Λ/Σ. Αλλιώς, αν επιθυμούμε περιορισμό προς μία κατεύθυνση μόνο ή καθόλου, κάνουμε την αντίστοιχη επιλογή
24. Ο κατάλογος όπου θα αποθηκεύονται τα snapshots. Σε αυτήν την χρήσιμη δυνατότητα θα γίνει εκτενής αναφορά στην πορεία
25. Μπορούμε να αναθέσουμε επιπλέον υπάρχοντες εικονικούς σκληρούς δίσκους στην VM ή να δημιουργήσουμε επί τόπου νέους, ανοίγοντας τον Virtual Disk Manager
26. Ενεργοποιούμε εικονικό CD/DVD drive. Δυστυχώς, το VirtualBox υποστηρίζει μόνο ένα το πολύ
27. Επιλέγουμε να χρησιμοποιηθεί ως εικονικό drive ένα πραγματικό drive που είναι ορατό από το host Λ/Σ
28. Με αυτήν την επιλογή, το guest Λ/Σ δε θα περιορίζεται σε ανάγνωση μόνον του drive, αλλά θα μπορεί να κάνει και εγγραφές σε CD/DVD. Προς το παρόν, δεν υποστηρίζεται η εγγραφή Audio CD
29. Επιλέγουμε να προσαρτηθεί στο εικονικό drive ένα ISO image αρχείο. Π.χ. μία διανομή Linux που κατεβάσαμε από το διαδίκτυο σε τέτοια μορφή. Μπορούμε να επιλέξουμε ένα από τα υπάρχοντα της λίστας ή να ανοίξουμε με το εικονίδιο δεξιά τον Virtual Disk Manager για να προσθέσουμε νέο/α
30. Ενεργοποιούμε εικονικό floppy drive.
31. Επιλέγουμε να χρησιμοποιηθεί ως εικονικό floppy ένα πραγματικό floppy drive που είναι ορατό από το host Λ/Σ
32. Επιλέγουμε να προσαρτηθεί στο εικονικό floppy ένα αρχείο εικόνας που έχει δημιουργηθεί από πραγματική δισκέττα. Υποστηρίζεται μόνο ο τύπος IMG
33. Ενεργοποιούμε εικονική «κάρτα ήχου»
34. Επιλέγουμε σε ποια πραγματική συσκευή ήχου ορατή από το host Λ/Σ θα οδηγείται ο ήχος από τις εφαρμογές του guest Λ/Σ. Επιλέγοντας Windows DirectSound ο ήχος θα αναπαράγεται από τη default κάρτα/ολοκληρωμένο ήχου που έχουμε δηλώσει στα Windows. Επιλέγοντας Null Audio Driver ο ήχος θα στέλνεται στο...πουθενά! Προφανώς η επιλογή αυτή δίνεται για να μην έχουμε πρόβλημα με εφαρμογές που απαιτούν την ύπαρξη συσκευής ήχου
35. Ενεργοποιούμε εικονική «κάρτα δικτύου». Μπορούμε να έχουμε μέχρι τέσσερις τέτοιες εικονικές κάρτες, όπως φαίνεται από τις τέσσερις καρτέλες. Κάθε μία από αυτές εξομοιώνει μία AMD PCnet network card, που είναι αρκετά διαδεδομένο hardware και δε θα έχουμε πρόβλημα να βρούμε αντίστοιχους drivers για το guest Λ/Σ. Σε Linux guest Λ/Σ π.χ. υποστηρίζεται εδώ και πολλές εκδόσεις του Linux kernel. Ο εξ ορισμού επιλεγμένος τρόπος με τον οποίον επικοινωνεί η εικονική κάρτα με το host Λ/Σ είναι με NAT. Το address translation αναλαμβάνει να το κάνει η ίδια εφαρμογή του VirtualBox. Τα δικτυακά αιτήματα που κάνουν οι εφαρμογές εντός της VM αναχαιτίζονται από το VirtualBox, το οποίο ζητά για λογαριασμό των εφαρμογών από το host Λ/Σ να προωθήσουν τα αιτήματα. Δηλαδή στο host Λ/Σ φαίνεται ότι το αίτημα προέρχεται από το VirtualBox και όταν έρθει απάντηση, αυτή δίνεται εκεί. Το VirtualBox αναλαμβάνει να το προωθήσει στη σωστή εφαρμογή για την οποία τελικά προορίζεται. Τα θέματα NAT βέβαια είναι αρκετά περίπλοκα για να εξηγηθούν σε δύο σειρές και προτείνεται να ανατρέξετε σε πρώτη φάση στο κεφάλαιο 6. Virtual Networking της τεκμηρίωσης του VirtualBox, όπου αναλύονται οι τρόποι επικοινωνίας guest και host Λ/Σ. Το θέμα είναι ότι αφήνοντας τις προεπιλεγμένες ρυθμίσεις, κατά πάσα πιθανότητα ένας web browser που τρέχει στην VM θα έχει κανονικά πρόσβαση στο Internet (προφανώς με την προϋπόθεση ότι και το host Λ/Σ θα βλέπει Internet)
36. Ενεργοποιούμε εικονική σειριακή θύρα. Μπορούμε να έχουμε μέχρι δύο και να ρυθμίσουμε αναλυτικά τις παραμέτρους τους (COM port, IRQ, I/O address κ.ά.)
37. Ενεργοποιούμε εικονικό «USB controller». Μέσω αυτού, το guest Λ/Σ μπορεί να προσπελάσει πραγματικές USB συσκευές που είναι συνδεδεμένες στο host hardware. Υπάρχουν κάποιοι περιορισμοί όμως, με κυριότερον το ότι το host Λ/Σ χάνει άμεσα την πρόσβαση στη USB συσκευή, όταν αυτή αρχίσει να χρησιμοποιείται από το guest Λ/Σ. Γι' αυτό πρέπει από το host Λ/Σ να αποσυνδέσουμε σωστά πιο πριν συσκευές που χρησιμοποιούν caching (π.χ. USB sticks), για να μην έχουμε απώλεια δεδομένων. Γενικά, στο Virtualization η παρουσίαση πραγματικών συσκευών του host hardware και η χρήση του στο επίπεδο της VM είναι από τα πιο προβληματικά θέματα και θα πρέπει να έχουμε χαμηλά στάνταρ απαιτήσεων, για να μην απογοητευτούμε. Για κάθε USB συσκευή μας που δουλεύει σωστά στο guest Λ/Σ θα πρέπει απλά να αισθανόμαστε τυχεροί
38. Εδώ μπορούμε να κάνουμε διαθέσιμους στο guest Λ/Σ υποκαταλόγους αποθηκευτικών συσκευών ορατών στο host Λ/Σ. Αυτό δε γίνεται αυτόματα, υπάρχει μία διαδικασία που πρέπει να ακολουθήσουμε και παρουσιάζεται πολύ συνοπτικά στο κάτω μέρος του παραθύρου. Για λεπτομέρειες, μπορούμε να ανατρέξουμε στην τεκμηρίωση του προγράμματος
Η τελευταία κατηγορία ρυθμίσεων αφορά τη Remote λειτουργία του VirtualBox και δε θα ασχοληθούμε με κάτι τέτοιο στην παρούσα έκδοση του άρθρου. Ίσως σε ένα μελλοντικό revision. Κλείνουμε λοιπόν το παράθυρο ρυθμίσεων από το OK και πάμε να δούμε λίγα πράγματα που αφορούν τη...
Διαχείριση των VM
Όταν τελειώνουμε με τη δημιουργία μίας νέας VM, αυτή θα φαίνεται στη λίστα των διαθέσιμων VM στα αριστερά του κυρίως παραθύρου του VirtualBox. Αν θέλουμε να μεταβάλλουμε μία από αυτές, αρκεί να την επιλέξουμε και να κάνουμε κλικ στο αντίστοιχο κουμπί του προγράμματος. Μπορούμε να σβήσουμε μία VM με το Delete, να αλλάξουμε τις ρυθμίσεις της με το Settings, να την εκκινήσουμε με το Start ή να κάνουμε Discard την κατάσταση μίας VM που είχαμε σώσει ενώ αυτή έτρεχε. Στα δεξιά του interface του VirtualBox και με επιλεγμένη μία VM, έχουμε τρεις καρτέλες:
Η πρώτη (Details) μας δείχνει συνοπτικά τις ρυθμίσεις της VM. Η δεύτερη (Snapshots) μας επιτρέπει να διαχειριζόμαστε τις «φωτογραφίες» που μπορούμε να τραβήξουμε από μία συγκεκριμένη κατάσταση της VM. Το πώς θα το δούμε παρακάτω. Στην τρίτη καρτέλα (Description) μπορούμε να προσθέσουμε μία περιγραφή κειμένου, με ό,τι πληροφορίες σχετικά με την VM θέλουμε. Αφού καλύψαμε κι αυτές τις λειτουργίες, μπορούμε να προχωρήσουμε στην...
Εγκατάσταση ενός guest Λ/Σ σε μία VM
Θα πρέπει να αντιμετωπίζουμε την VM σαν να ήταν ένα κανονικό PC, οπότε ο τρόπος εγκατάστασης του guest Λ/Σ που θέλουμε δε θα διαφέρει ριζικά από τον τρόπο με τον οποίον θα το εγκαθιστούσαμε σε ένα πραγματικό PC. Έχουμε βέβαια και κάποιες παραπάνω ευκολίες στη διάθεσή μας, όπως :
- Δε χρειάζεται να έχουμε κανονικό δισκάκι CD/DVD εγκατάστασης αλλά μπορούμε άνετα να βολευτούμε με ένα ISO image του, προσαρτημένο στο εικονικό drive της VM
- Αν σκοπεύουμε να εγκαταστήσουμε ως guest ένα παλιότερο Λ/Σ (ποιος θυμάται τις δισκέττες; ), μπορούμε αντίστοιχα να κάνουμε το ίδιο με το εικονικό floppy της VM
- Μπορούμε να δουλεύουμε παράλληλα στο host Λ/Σ μας, καταφεύγοντας σε fora ή στο Google αν τυχόν αντιμετωπίσουμε δυσκολίες, τυχόν ασυμβατότητες κλπ
Από αυτό το σημείο και μετά, είμαστε ελεύθεροι να αρχίσουμε τον πειραματισμό. Στο επόμενο screenshot βλέπουμε ενδεικτικά την αρχική οθόνη επιλογών που μας παρουσιάζεται κατά την εκκίνηση της VM μας από ένα Xubuntu ISO image :
Καλή επιτυχία!
[div=border-width: none; margin:0 auto; width:60%; text-align:center; background-color:gold]
ΠΡΟΣΟΧΗ: Η εκτέλεση εντός VM ενός Λειτουργικού Συστήματος που αποτελεί εμπορικό προϊόν δε μας απαλάσσει από την υποχρέωση το Λ/Σ αυτό να συνοδεύεται και από αντίστοιχη άδεια χρήσης που να έχει αποκτηθεί με νόμιμο τρόπο!
[/div]
Παραρτήματα
Μερικά χρήσιμα links
How to copy and transfer a Virtualbox Virtual Machine .vdi
How to resize a VirtualBox disk partition
How to install Ubuntu Linux on Windows using VirtualBox
Ιστορικό αλλαγών
-
20081025 - Αφαίρεση "Acknowledgements", προσθήκη «Ιστορικού αλλαγών», αλλαγές στον TOC, αλλαγή του Wiki standard notice στο τέλος του άρθρου σε νέα τυποποιημένη μορφή, μικροδιορθώσεις, hosting εικόνων στον Insomnia server (parsifal)
-
20080616 - Αλλαγή τίτλου (parsifal)
-
20080124 - Αρχική έκδοση (parsifal)