Oct 8, 2021

Αλλαγή laptop και μεταφορά virtual machines και containers

 

Πολύ πρόσφατα αποφάσισα να αλλάξω laptop. Το SONY Vaio SVE14A27CXH τα πήγε θαυμάσια για οκτώ χρόνια και ήταν πολύτιμος βοηθός μου σε πολλά, δύσκολα έργα. Ωστόσο, άρχισε να δείχνει την ηλικία του σε απαιτητικά Java και Javascript builds και έτσι ο αντικαταστάτης του είναι το Lenovo Thinkpad E14 Gen3 σε ενισχυμένη έκδοση. Κατά την αντικατάσταση διατήρησα το ίδιο λειτουργικό σύστημα (Kubuntu 20.04 LTS) και έτσι έχω κρατήσει μερικές σημειώσεις για την μεταφορά των virtual machines (VirtualBox) αλλά και των containers (lxc και docker)

Προτού ξεκινήσετε, ελέγξτε αν έχετε δηλώσεις στο /etc/hosts, ειδικές ρυθμίσεις στο firewall ή στο δίκτυο σας (πχ bridge ή tap device) για την επικοινωνία των υποδομών σας, ώστε να την διατηρήσετε και στο νέο setup.

Ως προς το VirtualBox, αυτό που θα χρειαστεί είναι να σταματήσετε (shutdown ή discard saved state) όλα τα virtual machines σας. Έπειτα να αντιγράψετε τον φάκελο ~/.VirtualBox καθώς και τον φάκελο που συντηρείτε τα virtual machines σας στον νέο υπολογιστή. Για λόγους τυποποίησης, όλα τα virtual machines τα κρατάω στο mount point /vm.

Ως προς το LXC, αρκεί η αντιγραφή των περιεχομένων του φακέλου /var/lib/lxc στον νέο σας υπολογιστή. 

Τέλος, για τα docker containers που θέλετε να μεταφέρετε, πρώτα τα σταματάτε. Έπειτα από την εντολή docker images, διαλέγετε ποια σας είναι χρήσιμα, σημειώνοντας το repository και το tag. Η εντολή που θα σας αποθηκεύσει το docker image είναι η ακόλουθη:

docker save -o output_container.tar <repository>:<tag>

Αυτή η εντολή δεν μεταφέρει και external volumes που χρησιμοποιεί ο container, οπότε φροντίστε να τα πάρετε backup και να τα μεταφέρετε ξεχωριστά. Το restore του docker image είναι ως εξής:

docker load -i output_container.tar

No comments: