[linux-lvm] offtopic but ...

Ragnar Kjørstad lvm at ragnark.vestdata.no
Wed May 8 11:20:02 UTC 2002


On Wed, May 08, 2002 at 04:12:48PM +0200, Oliver Jovic wrote:
> 			   application
> 				|
> +----------------------------------------------------------------------
> |
> |			virtual device
> |
> +----------------------------------------------------------------------
>     |             |            |            |
> +----------+ +----------+ +----------+ +----------+
> |          | |          | |          | |          |
> | /dev/hda | | /dev/hdb | | /dev/hdc | | /dev/hdd |
> |   ext3   | | reiserfs | |   xfs    | |  ext2    |
> +----------- +----------+ +----------+ +----------+
>  index file == index file

There are many functions you loose if multiple seperate filesystems are
used. e.g:
what do you do when a file grow to no longer fit on it's original
disk? You can not easily move it (atomicly), and you can not
easily split it into multiple chunks.


If you don't need this functionality, the closest approximation to what
you want is a symlink-three.

Basicly you can create a very small filesystem with symlinks for each
and every file on your "virtual filesystem" (don't call it a virtual
device, because that's something different :) ). You can use raid to get
redundancy for the link-three, and as it is very small you don't loose a
lot of space.

You could extend this scheeme to implement a small kernel-module that
did :
* open("/mnt/hdX/file", O_CREATE)
* symlink("/mnt/hdX/file", "/mnt/virtual/file")
when your application does
* open("/mnt/virtual/file", O_CREATE)
to make it more seemless.


However, it's once you want it to be totally transparrent, and files to
migrate to the disk with more space that it gets complicated.



-- 
Ragnar Kjørstad
Big Storage




More information about the linux-lvm mailing list