openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #17413
Re: Recover data after VM crash
On Oct 12, 2012, at 9:10 AM, Ben <ben.div@xxxxxxxxx> wrote:
> Hi the list,
>
> I have an instance in inconsistent state, and I would like to recover the data stored in.
>
> The story : I had a very high load average on the instance, so I decided to reboot it with nova reboot command. The instance didn't went up (may be root fs corruption ?), so I tried to rescue it with nova rescue command.
>
> Now when I try to start the instance, I see in the compute log an exception message telling that kernel.rescue file is not present. Same thing if I try to unrescue (playing with state in db to allow the command).
>
> So I'm stuck with a probably broken image, in a broken rescue state.
>
> Questions :
> - how can I rescue or unrescue the instance ?
Does your instance have a separate kernel and ramdisk? I'm not quite sure what went wrong with rescue, but you might try navigating to the instance directory and doing something like
cp kernel kernel.rescue
cp ramdisk ramdisk.rescue
You could also attempt to change the xml in libvirt to get it bootable again using virsh
virsh dumpxml <instance-id>
> - how can I recover the data (by mounting instance file to browse its content ?)
You can mount the instances root filesystem using qemu-nbd. An example of doing this is in my nova-debug script here:
https://github.com/vishvananda/novatools/blob/master/nova-debug#L51
Vish
References