Linux Inside
79
• BIOS
• Επεξεργαστή
• Μνήμη
• Δίσκο
• Δίκτυο
Το qemu-kvm χρησιμοποιεί το seabios (ένα ανοιχτού κώδι-
κα BIOS). Από τα modules του kvm έχουμε πρόσβαση σε επε-
ξεργαστή και μνήμη. Χρειαζόμαστε πλέον ένα αρχείο (ή ένα
lvm partition) για να χρησιμοποιήσουμε ως δίσκο. Θα χρεια-
στούμε ένα ISO (ή CD σε CD-ROM) της διανομής Linux που
θέλουμε να εγκαταστήσουμε στην εικονική μηχανή. Τέλος, η
προκαθορισμένη δικτυακή ρύθμιση μιας εικονικής μηχανής
είναι να συνδεθεί στο δίκτυο μέσω NAT. Αυτό σημαίνει ότι δη-
μιουργεί μία εικονική Gigabit Ethernet κάρτα δικτύου με τον
driver e1000. Κατόπιν, θα πάρει διεύθυνση IP και θα «βγει»
στο Διαδίκτυο μέσα από το δικό μας σύστημα.
Δημιουργία δίσκου
Το πρόγραμμα που χρειαζόμαστε για να εγκαταστήσουμε
έναν εικονικό δίσκο είναι το qemu-img. Αυτό το πρόγραμμα
είναι κομμάτι του qemu-kvm και, εκτός από δημιουργία ενός
εικονικού δίσκου, μπορεί ακόμα να κάνει έλεγχο ενός εικονι-
κού δίσκου, δημιουργία, μετατροπή από άλλη μορφή, δημι-
ουργία snapshot και αλλαγή μεγέθους. Το qemu-img είναι
αρκετά σημαντικό πρόγραμμα και υποστηρίζει μία πλειάδα
από τύπους εικονικών δίσκων, όπως raw, qcow2, qcow, cow,
vdi, vmdk, vpc και cloop (για περισσότερες πληροφορίες:
man qemu-img). Το qemu copy-on-write version 2 (qcow2) εί-
ναι ο τύπος εικονικών δίσκων που χρησιμοποιείται περισσότε-
ρο από όλα. Το raw μπορεί να χρησιμοποιηθεί όταν κάνουμε
dd (disk to disk convert και copy file) κατά τη μετατροπή ενός
φυσικού server σε εικονικό (ή για να πάρουμε backup).
Οπότε, δημιουργούμε έναν δίσκο με μέγεθος 15GB και κά-
νουμε έλεγχο:
$ qemu-img create -f qcow2 virtualdisk.qcow2 15G
Formatting 'virtualdisk.qcow2', fmt=qcow2
size=16106127360 encryption=off cluster_size=65536
$ qemu-img info virtualdisk.qcow2
image: virtualdisk.qcow2
file format: qcow2
virtual size: 15G (16106127360 bytes)
disk size: 136K
cluster_size: 65536
Ενώ αν θέλαμε να μετατρέψουμε έναν δίσκο από raw σε
qcow2:
qemu-img convert -f raw linux_backup.img -O qcow2
linux_backup.qcow2
Εκκίνηση εικονικής μηχανής
Έχοντας δημιουργήσει τον εικονικό δίσκο, είμαστε πλέον
έτοιμοι να εκκινήσουμε την εικονική μηχανή μας. Όπως θα
έχετε διαπιστώσει, δεν έχουμε χρησιμοποιήσει κανένα εμπο-
ρικό πρόγραμμα, μόνο δύο modules που υλοποιούν τη δυνα-
τότητα του επεξεργαστή μας μέσω του πυρήνα Linux και το
qemu-kvm! Η εντολή που χρειαζόμαστε για να τρέξουμε την
εικονική μηχανή είναι:
qemu-kvm virtualdisk.qcow2
Εξ ορισμού η εικονική μηχανή θα έχει 128MB για μνήμη.
Φυσικά, ο δίσκος μας είναι κενός/άδειος, οπότε δεν θα δούμε
κάτι παρά μόνο την αρχική οθόνη (seabios), η οποία θα προ-
σπαθεί να εντοπίσει κάποιο bootable μέσο «No bootable
media». Αν θέλετε να εγκαταστήσετε Fedora ή Mint, θα χρεια-
στείτε τουλάχιστον 1.024MB RAM. Αντίθετα, για εγκατάσταση
Archlinux χρειαζόμαστε μόνο 64MΒ, ενώ το Debian μπορεί
άνετα να «σηκωθεί» και στα 128MB!
Οπότε, εάν έχετε κατεβάσει το ISO της διανομής που θέλε-
τε να εγκαταστήσετε, δίνετε μία εντολή όπως η παρακάτω:
qemu-kvm virtualdisk.qcow2 -m 512 -boot menu=on -
cdrom CentOS-6.2-i386-minimal.iso -usbdevice tablet
Με την εντολή αυτή δίνουμε 512MΒ από τη μνήμη του συ-
στήματός μας, περιμένουμε να μας εμφανίσει ένα μενού επι-
λογής (F12), του ορίζουμε ένα εικονικό CD-ROM με το ISO
της διανομής που θέλουμε να εγκαταστήσουμε και, τέλος,
του «λέμε» να χρησιμοποιήσει ως επιπλέον driver το
usbdevice tablet (χρήσιμο για touchpads και usb mouse). Σε
λίγα λεπτά θα τρέχουμε CentOS σαν να πρόκειται για ξεχωρι-
στό μηχάνημα!
Επίλογος
To Virtualization έχει ήδη μπει στη ζωή των διαχειριστών.
Αποτελεί πλέον εύκολη και γρήγορη λύση για να δημιουργεί
κάποιος εικονικές μηχανές (είτε εικόνες running servers για
backup), ώστε να δοκιμάζει σε αυτές αναβαθμίσεις και νέο λο-
γισμικό. Η συγκέντρωση πολλών εικονικών συστημάτων σε ένα
φυσικό μηχάνημα (consolidation) είναι πλέον και επιτακτική
ανάγκη για εξοικονόμηση χρημάτων - για να μην αναφέρουμε
ότι το Desktop Virtualization είναι πλέον μονόδρομος για τις μι-
κρομεσαίες εταιρείες (>10 θέσεις εργασίας).
•
Linux Labs - KVM
Το qemu-img είναι κομμάτι του qemu-kvm και,
εκτός από δημιουργία ενός εικονικού δίσκου,
μπορεί ακόμα να κάνει έλεγχο ενός εικονικού
δίσκου, μετατροπή από άλλη μορφή, δημιουργία
snapshot και αλλαγή μεγέθους.
Τρεις διανομές (Linux Mint Debian – Fedora 16 – MS Windows
XP) σε ένα Αrchlinux σύστημα!
Σύνδεσμοι
[1] http://en.wikipedia.org/wiki/Virtualization
[2] http://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
[3] http://www.seabios.org/
[4] http://www.linux-kvm.org/
[5] http://wiki.qemu.org/KVM