[linux-lvm] Saving files from full failing volume

Fredrik Tolf fredrik at dolda2000.com
Sat Aug 27 14:58:57 UTC 2005


On Sat, 2005-08-27 at 23:00 +1000, Chris Jensen wrote:
> > The only way to really identify where files live in LVM is to identify
> > which filesystem they're on.  Then they might end up being on any random
> > block of that filesystem.  You can identify which physical extents a
> > particular filesystem is using easily, but not which physical extents a
> > particular file is using.
> > 
> > Perhaps someone else can correct me if I'm wrong about this, but as I
> > understand things this is how it works.
> 
> Thanks for the response Eric. Let me check that I understand this correctly:
>  If I were to use LVM to create a file system that spans 2 hard disks,
> of capacity 80G each (for simplicities sake), giving a total capacity
> of 160G, if that filesystem grows to (say) 100G and then one of the
> disks begins to fail, there is no way for me to backup the files that
> would be endangered, short of backing up the entire 100G, to another
> disk entirely.

That's how I understand it as well. The thing is also that you can't
really say that "a file is endangered", because it may even only be
parts of the file that are endangered. The blocks that make up the
storage area of a single file may well be spread over several disks.

With Linux LVM, there is no way for the filesystem driver to determine
on what disk a certain block resides, so the filesystem cannot safely
partition files on only one disk. Even if Linux LVM provided an
operation to inquire about such things, all filesystem drivers would
have to implement that independently of each other.

> Is there a better way I should go about organising my disks and LVM so
> that surviving a hard disk failure is not so difficult?

With a larger budget, you could buy double disk space and mirror the
volume (similar to RAID10). Depending on your budget, though, I guess
that may well not be possible.

I'm no expert on it, but from what I've heard, the new ZFS filesystem in
Solaris 10 would "fix" many of these issues. Whereas Linux LVM operates
on the block device layer (and thus also allows any filesystem to reside
on a LV), the ZFS filesystem contains a volume manager in the filesystem
layer, so that individual files can be striped, mirrored, and kept on
distinct disks, individually.

Hope it helps,
Fredrik Tolf





More information about the linux-lvm mailing list