Page 78 - Linux Inside τ. 10

Linux Inside
78
Σ
ε αυτό το άρθρο θα παρουσιά-
σουμε ένα πλήρες παράδειγμα
μετατροπής μίας φυσικής μηχα-
νής (έστω Windows 2008) σε μία εικο-
νική. Αν αναζητήσετε στο Διαδίκτυο λύ-
σεις P2V (physical to virtual), θα βρείτε
αρκετές. Oι περισσότερες λύσεις στη-
ρίζονται σε clonezilla [1], κάνοντας χρήση των partclone [2],
partimage [3], dd [4] ή και της αγαπημένης του γράφοντος:
ntfsclone [5], ενώ η redhat χρησιμοποιεί το v2v (virtual to
virtual). Τα βήματα που θα περιγράψουμε, μπορούν να χρησι-
μοποιηθούν και ως backup/restore solution. Οπότε, αν έχετε
απορίες, μπορείτε να επικοινωνήσετε με το forum του περιο-
δικού ή να στείλετε απευθείας ένα e–mail σε μένα.
Εκκινούμε το φυσικό σύστημα που θέλουμε να μετατρέ-
ψουμε σε εικονική μηχανή από μία διανομή Linux που να υπο-
στηρίζει μία από τις παραπάνω μεθόδους εικονικοποίησης.
Αν θέλουμε να ακολουθήσουμε τις οδηγίες της redhat, κάνο-
ντας χρήση του v2v, τότε θα πρέπει να διαβάσουμε αναλυτικά
την τεκμηρίωση που παρουσιάζεται στο 6ο link στο τέλος αυ-
τού του άρθρου. Εγώ προτιμώ το system rescue cd [7], που
περιέχει όλα τα παραπάνω προγράμματα, καθώς νιώθω πιο
άνετα με τη συγκεκριμένη διανομή.
Εταιρείες όπως οι Vmware και Citrix, προσφέρουν εργαλεία
που κάνουν αυτή την εργασία εν ώρα λειτουργίας ενός
Windows (ή Linux) μηχάνηματος, αλλά προσωπικά διαφωνώ
με αυτή την προσέγγιση. Ο κύριος λόγος είναι ότι αν υπάρ-
χουν ευαίσθητες εφαρμογές, όπως μία βάση δεδομένων, τό-
τε αυξάνεται ο κίνδυνος corruption των δεδομένων.
Unix dd
Με την παρακάτω εντολή:
#
fdisk -l
εντοπίζουμε τους δίσκους του μηχανήματος και σε ποια κα-
τάτμηση βρίσκονται τα Windows. Εάν έχουμε μόνο μία κατά-
τμηση (c:), τότε η διαδρομή είναι η εξής: /dev/sda1
Η επιλογή του εργαλείου που θα χρησιμοποιήσουμε είναι
καθαρά προσωπική: με ποιο νιώθετε πιο άνετα, ποιο γνωρίζε-
τε καλύτερα, ποιο χρησιμοποιείτε ήδη. Στην πραγματικότητα,
θέλουμε απλά ένα αντίγραφο της κατάτμησης.
Η εντολή dd (disk to disk copy) παράγει ένα ακριβές αντί-
γραφο της κατάτμησης των Windows. Η μορφή των δεδομέ-
νων είναι raw και άρα μπορούμε να
επιβεβαιώσουμε την ακεραιότητα των
δεδομένων. Η dd θα μας επιστρέψει
ένα ακριβές αντίγραφο, άρα είναι
απαραίτητη προϋπόθεση η ύπαρξη
ελεύθερου χώρου ακριβώς ίδιου με-
γέθους με την κατάτμηση που θέλου-
με να αντιγράψουμε.
Στα αρνητικά είναι ο χρόνος και ο χώρος. Αν η κατάτμησή
μας είναι 500GB, τότε θέλουμε χώρο 500GB (USB δίσκο,
naS storage) και ο χρόνος αντιγραφής είναι συνάρτηση της
ταχύτητας του δίσκου του φυσικού μηχανήματος και της τα-
χύτητας του αποθηκευτικού μέσου. Αν η αντιγραφή γίνεται
μέσω δικτύου (nfs, cifs, over ssh), τότε σίγουρα θα καθυστε-
ρήσει ακόμα περισσότερο από ένα USB.
#
dd if=/dev/sda1 of=/media/backup/sda1.img bs=1024
ntfsprogs
Αποτελεί ένα σύνολο προγραμμάτων για να διαχειριζόμα-
στε Windows partitions (δηλαδή ntfs format) μέσα από Linux
(
και όχι μόνο). Πλέον είναι αρκετά σταθερό και υπάρχει μία
εταιρεία που υποστηρίζει επαγγελματικά την πορεία της βι-
βλιοθήκης και των προγραμμάτων. Η εντολή ntfsclone θα πά-
ρει μόνο τα δεδομένα από το ntfs partition και όχι ολόκληρο
το δίσκο. Πριν κάνουμε χρήση της ntfsclone, θα πρέπει πρώ-
τα να ελέγξουμε την ακεραιότητα της κατάτμησης:
#
ntfsresize --info /dev/sda1
Εάν αυτή η εντολή αποτύχει, τότε ελέγχουμε μέσα από τα
Windows την κατάτμηση, μέσω της εντολής: chkdsk. Καλό θα
είναι, φυσικά, να έχουμε κάνει και defragmentation στην κατά-
τμησή μας.
Θα πρέπει να διαβάσετε το manual της εντολής: ntfsclone
για να μάθετε περισσότερα για τη σύνταξη και τη χρήση της.
Εδώ θα δείτε ένα παράδειγμα, κάνοντας χρήση της επιλογής
rescue:
#
ntfsclone -s -O win2008.ntfsclone --rescue /dev/sda1
To «--rescue» θα αγνοήσει αν υπάρχουν τα bad sectors.
Επίσης, το παραγόμενο αρχείο ΔΕΝ είναι σε raw μορφή και
έτσι δεν μπορούμε να επιβεβαιώσουμε τα αρχεία που έχουν
γραφτεί. Το μέγεθος όμως του αρχείου είναι σημαντικά μι-
κρότερο από το αντίγραφο που παράγεται μέσω της εντολής
dd.
Windows Related Tips
Μεταβείτε στα Services, εντοπίστε τις υπηρεσίες που κα-
ταναλώνουν πόρους από το σύστημά σας και μέσω των
Properties αλλάξτε το Startup type σε Disabled. Αυτό θα σας
χρειαστεί όταν εκκινήσετε το virtual μηχάνημα την πρώτη φορά.
Αν έχετε πολλά δεδομένα τα οποία δεν επηρεάζουν το
Του Ευάγγελου Μπαλάσκα <ebalaskas@ebalaskas.gr>
Linux Labs - KVM
Επιτέλους, φτάσαμε στο τρίτο και πιο προχωρημένο
μέρος της θεματικής ενότητας που αφορά το
virtualization. Tα προηγούμενα μέρη θα τα βρείτε
στα προηγούμενα τεύχη του «Linux Inside» (τεύχη 8
και 9).
Εργαλεία:
qemu-kvm, libvirt,
unix dd, ntfsprogs, lvm
Δυσκολία:
URL:
Δείτε το Wiki.
Εικονικοποίηση με KVM
(
Μέρος 3ο)
Ο Βαγγέλης προσπαθεί να βοηθήσει τα νέα μέλη του χώρου.
Χρήσιμες εντολές
dd if=/dev/sda1 of=/media/backup/sda1.img bs=1024
sfdisk -d /dev/sda > win2008.ptab
ntfsclone -s -O win2008.ntfsclone --rescue /dev/sda1