virtualbox, lvm, vdi

Dec 08, 2011 23:35

Волею судеб я снова связался с убунтой, вот напишу сюда, чтобы не забыть, историю о том, как я восстанавливал данные со своего виртуального сервера.

У меня на ноуте, под виндой, стоял виртуалбокс, в котором была сделана виртуальная машина с ubuntu server. Там был настроен апач+мускл+пхп, она у меня была выведена в сеть и все было классно, я на ней экспериментировал с пхп.
Но недавно у меня сдох ноутбук. И встал вопрос- как бы мне те исходники вернуть, поскольку я там писал с заделом на программерское будущее, которое внезапно наступило.
Исходные данные- есть ноутбучный винт, на нем в нтфс разделе лежит файл server1.vdi размером 4 гига, который, как вы понимаете, представляет собой винт виртуальной машины.
Я подключил этот винт к своему десктопу, и скопировал этот файлик к себе (на декстопе Вин7). Встал вопрос- как оттуда вытащить мои исходники?
Виндовые решения были платные и не помогли, так что я скопировал файл на ноут, где у меня убунта, и проделал следующие действия.
Поставил виртуалбокс
$sudo apt-get install virtualbox
$sudo apt-get install lvm2
$sudo apt-get install qemu-kvm
Затем переконвертировал файлик из динамического в статический (так надо)
$ vboxmanage clonehd --variant static WinXP.vdi temp.vdi
Затем, чтобы подключить этот виртуальный диск как обычный, проделал следующее
$sudo mkdir /media/virt
$modprobe nbd max_part=8 nbds_max=1
$qemu-nbd --connect=/dev/nbd0 temp.vdi
$fdisk -l /dev/nbd0
Увидел разделы. Выяснилось, что / раздел имеет тип LVM. Надо сделать следующее:
$vgchange -a y это делает активными все логические тома
Потом можно посмотреть все тома-
$lvdisplay
ну и подключить нужный:
$sudo mount /dev/server1/root /media/virt/
Произошла аллилуйя, и я наконец то получил свои файлики. Опыт полезный, и чтобы не потерять эти пути, я написал это сюда.
Ура.

ubuntu

Previous post Next post
Up