VirtualBox

Από Hellug Wiki
VirtualBox
Κατηγορίαvirtualization
Άδεια χρήσηςGPL
Websitehttp://www.virtualbox.org

Το VirtualBox είναι μια εφαρμογή που επιτρέπει τη διαχείριση εικονικών μηχανών (virtual machines, VM) στον υπολογιστή.

Οι VM ονομάζονται guests και ο υπολογιστής ονομάζεται host.

Το κυρίως τμήμα είναι διαθέσιμο κάτω από GNU General Public License v2, ενώ κάποιες επεκτάσεις είναι ελεύθερες μόνο για προσωπική χρήση. Η εφαρμογή ανήκει πλέον στην Oracle, για αυτό το πλήρες όνομά της είναι Oracle VM VirtualBox.

Εγκατάσταση

Κατεβάζουμε την εφαρμογή από την επίσημη σελίδα.

Σε διανομές debian/ubuntu κλπ μπορούμε να προσθέσουμε το repository, πχ για ubuntu oneiric:

deb http://download.virtualbox.org/virtualbox/debian oneiric contrib

Μετά την προσθήκη του repository πρέπει να εγκατασταθεί και το κλειδί αυθεντικοποίησης:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

Μετά την εγκατάσταση εμφανίζεται η εφαρμογή στο μενού Applications --> System Tools --> Oracle VM VirtualBox

Δημιουργία VM

Τα βασικά βήματα για τη δημιουργία ενός νέου VM είναι τα εξής:

  1. Πατάμε το κουμπί "New".
  2. Δίνουμε ένα όνομα στο VM (πχ "Ubuntu Test").
  3. Επιλέγουμε το λειτουργικό σύστημα που θέλουμε να εγκαταστήσουμε (πχ "Linux") και την έκδοση (πχ "Ubuntu").
  4. Επιλέγουμε πόση μνήμη θα βλέπει το VM. Προφανώς όσο περισσότερη τόσο καλύτερα αλλά επειδή πρέπει να μείνει και μνήμη για το host, προσέχουμε να μη δώσουμε πάνω από (περίπου) τη μισή του συνόλου. Πχ αν έχουμε 8gb μπορούμε να δώσουμε μέχρι 4gb στο VM.
  5. Δημιουργούμε ένα νέο εικονικό σκηρό δίσκο.

Δημιουργία εικονικού σκληρού δίσκου

Ένας εικονικός σκληρός δίσκος (virtual disk) είναι ένα αρχείο στον υπολογιστή host που λειτουργεί ως πραγματικός σκληρός δίσκος για ένα VM.

Για τυπική χρήση μας ενδιαφέρει ο δυναμικός εικονικός σκληρός δίσκος, το αρχείο του οποίου καταλαμβάνει γενικά όσο χώρο χρειάζεται για τα δεδομένα και όχι το μέγιστο δυνατό. Πχ έστω πως ορίζουμε ένα δυναμικό εικονικό σκληρό δίσκο με μέγιστο μέγεθος 40gb, στον οποίο το VM αποθηκεύει δεδομένα 15gb. Τότε το αρχείο θα έχει μέγεθος περίπου 15gb, αλλά το VM θα βλέπει το μέγεθος του δίσκου αυτού ως 40gb.

Μπορούμε να δημιουργήσουμε ένα εικονικό σκληρό δίσκο κατά τη δημιουργία ενός VM, συνεχίζοντας τα βήματα που παρουσιάστηκαν πιο πάνω:

  1. Επιλέγουμε τύπο αρχείου .vdi (VirtualBox Disk Image).
  2. Επιλέγουμε Dynamically allocated για να δημιουργήσουμε δυναμικό εικονικό δίσκο.
  3. Επιλέγουμε την τοποθεσία (φάκελο) στον οποίο θα αποθηκευτεί το αρχείο του δυναμικού δίσκου και το μέγεθος που θα βλέπει το VM. Επειδή είναι δυναμικός, το πραγματικό μέγεθος του αρχείου θα είναι μικρότερο.

Ρύθμιση παραμέτρων VM

Μετά τη δημιουργία ενός VM και πριν χρησιμοποιηθεί για πρώτη φορά συστήνεται να ρυθμιστούν κάποιες παράμετροι, ως εξής:

  • Επιλέγουμε το VM από τη λίστα που εμφανίζεται στο κυρίως παράθυρο του VirtualBox και πατάμε το κουμπί Settings.
  • Στην ενότητα System, tab Motherboard επιλέγουμε "Enable IO APIC". Μπορούμε να καθαρίσουμε την επιλογή Floppy, αν δε μας ενδιαφέρει το VM να "βλέπει" οδηγό δισκέτας.
  • Στην ενότητα Display ορίζουμε τη μνήμη της κάρτας γραφικών που θα βλέπει το VM. Γενικά όσο περισσότερο τόσο καλύτερα. Επίσης επιλέγουμε Enable 3D και 2D Acceleration.
  • Αν θέλουμε το VM να βλέπει παραπάνω από 1 εικονικό δίσκο (πχ αν θέλουμε να προσαρτήσουμε εικονικό δίσκο με δεδομένα που μας έχουν δώσει άλλοι) τότε στην ενότητα Storage χρησιμοποιούμε κατάλληλα τα κουμπιά "Add controller" και "Add Attachment".

Κάποιες από τις παραμέτρους μπορούν να αλλάξουν και μετά την εγκατάσταση guest και λειτουργία του VM (πχ διαθέσιμη μνήμη). Κάποιες άλλες μπορεί να χαλάσουν το guest αν αλλάξουν (πχ IO APIC με Windows guest).

Εκκίνηση και τερματισμός VM

Ένα VM ξεκινά με το κουμπί Start στο κυρίως παράθυρο της εφαρμογής. Ανάλογα με τις ρυθμίσεις που έχουμε κάνει, ανοίγει ένα νέο παράθυρο μέσα στο οποίο τρέχει το VM.

Η εκτέλεση του VM σταματά με διάφορους τρόπους:

  • Στο παράθυρο του VM επιλέγουμε το μενού Machine --> ACPI Shutdown. Αυτό ισοδυναμεί με το να πατήσουμε το κουμπί on/off του (εικονικού) υπολογιστή, οπότε το VM θα συμπεριφερθεί ανάλογα.
  • Στο παράθυρο του VM επιλέγουμε το μενού Machine --> Close ή επιλέγουμε να κλείσουμε το παράθυρο (με το X). Αυτό δίνει τρεις περαιτέρω επιλογές:
    • Save the machine state: Σώζει την κατάσταση του VM ώστε σε επόμενη εκκίνηση να συνεχίσει από το σημείο που σταμάτησε.
    • Send the shutdown signal: Ίδιο με το ACPI Shutdown.
    • Power off the machine: Ισοδυναμεί με το κλείσιμο του "ρεύματος" στο VM.

Τα αποτελέσματα των παραπάνω μεθόδων εξαρτώνται από το guest που τρέχει εκείνη τη στιγμή. Πχ αν επιλέξουμε "power off" τότε μπορεί να χάσουμε αρχεία στο VM. Ο σωστός τρόπος τερματισμού ενός VM είναι εκείνος που προσφέρει το guest. Πχ αν το guest είναι Windows XP, τότε πρέπει να τερματίζουμε το VM με Start --> Shutdown και να περιμένουμε μέχρι να κλείσει.

Δέσμευση πληκτρολογίου και ποντικιού

Κατά την εκτέλεση ενός VM μπορεί να δούμε το μήνυμα: "You have the Auto capture keyboard option turned on. This will cause the VM to automatically capture the keyboard every time the VM windows is activated and make it unavailable to other applications running on the host..." κλπ.

Αυτό μας ενημερώνει πως όταν το παράθυρο του VM είναι ενεργό, τότε αυτά που πληκτρολογούμε πηγαίνουν στο VM και όχι στο host. Για να σταματήσουμε αυτή την κατάσταση πρέπει να πατήσουμε το host key που εξ ορισμού είναι το δεξί ctrl.

Επίσης κατά την εκτέλεση ενός VM μπορεί να δούμε το μήνυμα: "You have clicked the mouse inside the VM display. This will cause the VM to capture the host mouse pointer..." κλπ.

Αυτό μας ενημερώνει ότι πατήσαμε με το ποντίκι μέσα στο παράθυρο του VM, οπότε όλες οι ενέργειες του ποντικιού θα πηγαίνουν στο VM και όχι στο host. Για να σταματήσουμε αυτή την κατάσταση πρέπει να πατήσουμε επίσης το host key που εξ ορισμού είναι το δεξί ctrl, οπότε το ποντίκι θα ξαναλειτουργεί πάλι κανονικά.

Με τη χρήση των guest additions μπορούμε να κάνουμε τη διαδικασία δέσμευσης πληκτρολογίου και ποντικιού μεταξύ host και guest εντελώς διάφανη, όμως αυτά τα additions δεν υποστηρίζονται από όλα τα guest.

Εγκατάσταση guest

Ο κάθε χρήστης είναι υπεύθυνος για την αδειοδότηση των guest που εγκαθιστά.

Η εγκατάσταση ενός guest λειτουργικού συστήματος γίνεται όπως και σε φυσικό υπολογιστή, πρέπει δηλαδή να έχουμε κάποιο μέσο εγκατάστασης.

Ένα VM μπορεί να διαβάσει απευθείας από το φυσικό cd/dvd drive του host ή να διαβάσει από αρχείo ISO που έχει προκύψει από cd/dvd με το κατάλληλο πρόγραμμα. Πχ για να εγκαταστήσουμε Ubuntu θα πρέπει να έχουμε ένα φυσικό cd/dvd εγκατάστασης ή το αρχείο ISO. Προφανώς τα αρχεία ISO είναι πιο εύχρηστα!

Την πρώτη φορά που θα εκκινήσουμε ένα νέο VM μας ζητά αυτό το μέσο εγκατάστασης και μετά συνεχίζει κανονικά.

Το μέσο εγκατάστασης και γενικότερα το cd/dvd που θα διαβάζει το VM μπορεί να οριστεί και μετά, ως εξής:

Πρώτος τρόπος, όταν δεν τρέχει το VM:

  1. Από το κεντρικό παράθυρο της εφαρμογής επιλέγουμε το VM και πατάμε Settings.
  2. Στην ενότητα Storage επιλέγουμε το cd/dvd attachment στον controller που φαίνεται στο storage tree
  3. Πατάμε το κουμπί "Set up the virtual CD/DVD drive"
  4. Επιλέγουμε είτε το φυσικό drive του host είτε ένα αρχείο ISO (επιλογή "choose a virtual cd/dvd disk file")

Δεύτερος τρόπος, όταν τρέχει το VM:

  1. Στο παράθυρο του VM επιλέγουμε το μενού Devices --> CD/DVD Devices
  2. Επιλέγουμε είτε το φυσικό drive του host είτε ένα αρχείο ISO (επιλογή "choose a virtual cd/dvd disk file")

Με το δεύτερο τρόπο πιθανόν χρειάζεται επανεκκίνηση του VM.

Μεταφορά VM

Το VirtualBox προσφέρει τη δυνατότητα αποθήκευσης ενός VM (ρυθμίσεις + εικονικά μέσα) σε ένα μοναδικό αρχείο "appliance".

Η διαδικασία έχει ως εξής:

  1. Στο κεντρικό παράθυρο της εφαρμογής επιλέγουμε File --> Export Appliance.
  2. Στο νέο παράθυρο που ανοίγει επιλέγουμε τα VM που θέλουμε να μεταφέρουμε (συνήθως 1).
  3. Επιλέγουμε το αρχείο στο οποίο θα αποθηκευτεί το appliance.
  4. Ρυθμίζουμε αν θέλουμε επιπλέον πληροφορίες (product, version, description κλπ) για το συγκεκριμένο appliance.

Το αρχείο .ova που προκύπτει μπορεί να εισαχθεί (import appliance) στο δικό μας ή άλλο host. Έτσι, αν έχουμε ολοκληρώσει την εγκατάσταση Ubuntu σε ένα VM, έχουμε εγκαταστήσει πακέτα, έχουμε κάνει ρυθμίσεις κλπ, μπορούμε να κρατήσουμε ένα αντίγραφο ώστε να μη χρειάζεται να τα ξαναστήσουμε όλα από την αρχή σε επόμενο VM.