Nov 1, 2009

Κάνοντας μερική επαναφορά (partial restore) από backup του VirtualBox

Εδώ και ενάμιση περίπου χρόνο, έχω μεταφέρει όλο το περιβάλλον προγραμματισμού μου σε virtual machines του VirtualBox. Σε κάποια μηχανή εκτελείται ο Database Server, σε κάποια άλλη το middleware, σε κάποια τρίτη τα προγραμματιστικά εργαλεία. Πρόκειται για μια αντιμετώπιση που με έχει διευκολύνει απίστευτα καθώς έτσι μπορώ να διαθέτω ένα ευέλικτο, εύκολα διαμορφώσιμο περιβάλλον, που με ασφάλεια μπορώ να λαμβάνω όσο συχνά θέλω backup. Όταν συμμετέχεις σε πολλά projects, και ειδικά όταν είσαι ελεύθερος επαγγελματίας, δεν υπάρχει τίποτα πιο σημαντικό από τη διασφάλιση των δεδομένων και της εργασίας σου.

Παρόλα αυτά, σφάλματα συμβαίνουν συχνά, οπότε χρειάστηκε να ανακτήσω μια σειρά από αρχεία που διέθετα σε ένα παλαιό backup του VirtualBox. Προσπαθώντας να δημιουργήσω μια νέα εικονική μηχανή με βάση το vdi αρχείο του backup, ήλθα αντιμέτωπος με το περιβόητο μήνυμα λάθους του VirtualBox:

ERROR: Cannot register the hard disk '...' with UUID {...} because a hard disk '...' with UUID {....} already exists in the media registry ('...')
Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenHardDisk(Bstr(szFilenameAbs), AccessMode_ReadWrite, srcDisk.asOutParam())" at line 603 of file VBoxManageDisk.cpp

H λύση σε αυτό το πρόβλημα είναι να κάνουμε ανάθεση ενός νέου UUID στο δίσκο που μας ενδιαφέρει με την εντολή:

VBoxManage internalcommands setvdiuuid filename.vdi


Κατά αυτόν τον τρόπο, μπόρεσα να φτιάξω μια εικονική μηχανή στηριγμένη στο backup, την οποία εκκίνησα από ένα live cd ώστε να αντλήσω τα αρχεία που με ενδιέφεραν.

2 comments:

Πέτρος said...

Ενδιαφέρουσα προσέγγιση με τα πολλαπλά virtual machines! Έχεις εφαρμόσει κάτι αντίστοιχο με τα vmachs να είναι σε φορητό δίσκο (αν είναι εφικτό με USB 2.0 latencies, δλδ)...

Νομίζω θα ήταν χρήσιμο να μας πεις τι προτείνεις ως προς τη στραγητική λήψης αντιγράφων ασφαλείας (αχρείαστα να 'ναι :-) )...

Serafeim Karapatis said...

Δυστυχώς δεν χρησιμοποιώ αυτόν τον καιρό εξωτερικούς δίσκους για το VirtualBox, όταν όμως το είχα δοκιμάσει με έναν μικρό φορητό που είχα, είχα μείνει πολύ ικανοποιημένος (βέβαια ο σκληρός δίσκος του φορητού έτρεχε σε 5400rpm οπότε ήταν πολύ ανταγωνιστικό το USB 2.0

Μου δίνεις μια καλή ιδέα για τα backups του VirtualBox που θα την αναπτύξω στο επόμενο άρθρο.