[linux-lvm] Restore LVM snapshot without creating a full dump to an "external" device?

Bas van Schaik bas at tuxes.nl
Mon Mar 10 09:59:12 UTC 2008


Lars Ellenberg wrote:
> On Sun, Mar 09, 2008 at 11:05:45PM +0100, Bas van Schaik wrote:
>   
>> Hi all,
>>
>> When I started to use LVM snapshots, I presumed that it was easy to
>> restore a system to such a snapshot. As far as I can see now, this
>> presumption was incorrect... People on the internet write that I should
>> dump the whole snapshot using dd and then write it over the original
>> volume. This actually implies that I need another device with at least
>> the size of the original volume available to dump to. In my situation,
>> this means that I need about 2 TB free space to recover this snapshot!
>>
>> Isn't there a more sophisticated way to restore the snapshot than just
>> dumping it?
>>  1) create snapshot of /dev/myvolumegroup/myvolume to
>> /dev/myvolumegroup/mysnapshot
>>  2) dd if=/dev/myvolumegroup/mysnapshot of=/tmp/mysnapshot.dd
>>  3) lvremove /dev/myvolumegroup/mysnapshot
>>  4) dd if=/tmp/mysnapshot.dd of=/dev/myvolumegroup/myvolume
>>     
>
> you got (size-of-your-volume) free space in /tmp?
> pretty large /tmp, or pretty small volume, I guess.
>
>   
>> Something like:
>>  1) lvrevert /dev/myvolumegroup/mysnapshot /dev/myvolumegroup/myvolume
>>
>> I'd like to hear your thoughts on this, because I think it should be
>> fairly easy to restore a COW snapshot. Or am I wrong and missing something?
>>     
>
> you may want to investigate the status of
> http://fedoraproject.org/wiki/StatelessLinux/CachedClient
> were it says "The LVM and device-mapper code to allow merging is
> awaiting upstream review."
>   
Interesting project, interesting information, but it was last updated
2007-10-19. I'll try Googling for a more recent status, if that is
available...

> or you can try, at your own risk, the hack below.
>
> (... lots of excellent details ...)
Sounds very plausible, but there are some risks involved here ;). Thanks
anyhow, I'll really consider using your perl script when the situation
gets critical here...

  -- Bas




More information about the linux-lvm mailing list