Salvaging data on an Linux LVM with all disks working is straight
forward: since the filesystem appears as one. However as disk
fails it gets more complicated (at least if it is not internally
replicated via RAID techniques).
Depending on where the interesting data is stored several options
exists. Logical volumes that don't touch the broken disk should be
salvagable using vgbackup/restore. For LVs that span the broken disks
the answer is slightly more complicated: data on the broken disk will
of course be lost, but the remaining disks might contain salvageable
data.
To salvage data on volumes that span the broken disk the best shot is
the LVM2 partial mode. LVM2 requires the device-mapper which is
available either as a patch for Linux kernel 2.4 or included in Linux
kernel 2.6. LVM2 is backwards compatible and giving the "--partial"
flag to the new tools should enable you to manipulate your LVM even
with broken disks.
The partial mode relies on a special "ioerror" device which needs to
be setup manually Florian Hinzmann has posted a short cookbook on how
to do this on the linux-lvm list: here
and here
(local copies here and here).
The device-mapper patch is available from Sistina or as the Debian package
"kernel-patch-device-mapper".
After theLVv's are up and running again you should in principle be
able to use any recovery tool to restore your data. E2salvage doesn't
pay any attention to the broken disks and some files will be garbled
(since the data is lost), e2retrieve
promises to take special care of broken LVM's.