LWN.net Logo

Actually RAID/volume management is superlimited when not in filesystem...

Actually RAID/volume management is superlimited when not in filesystem...

Posted Jan 16, 2009 0:02 UTC (Fri) by topher (guest, #2223)
In reply to: Actually RAID/volume management is superlimited when not in filesystem... by khim
Parent article: Btrfs aims for the mainline

What you're asking for is quite doable right now, using RAID+LVM (actually, only RAID is needed).

1. Keep most of the data on just one drive (for movies from my own DVDs).
2. Keep the rest in RAID-5 form (for movies in games and such: PITA to reinstall but can be done if needed).
3. Keep my own personal files (1% of total size or so) duplicated 4 times (on 4 HDDs).

Assuming 4 500GB Disks:
Drive 1: 10GB partition, RAID1; 490GB partition, stand alone
Drive 2: 10GB partition, RAID1; 490GB partition, RAID5
Drive 3: 10GB partition, RAID1; 490GB partition, RAID5
Drive 4: 10GB partition, RAID1; 490GB partition, RAID5

The 10GB partitions are all part of a 4x replicated RAID1 for your personal files. For additional redundancy across the system, put /boot and / on that RAID1 also, install GRUB on the bootloader for each disk, and you can lose any disk and boot the system. The stand alone 490GB partition is for your movies. The 3 490GB partitions in the RAID5 are for the rest of your stuff.

It's not required, but you could make use of LVM on top of those to more easily split things out as desired.

What you're asking for in a couple of your other posts, however, is not a simple thing. It doesn't fit well with how computers work in general. You seem to be saying you want to just save something and have the computer magically understand that it's "important" or "not important" or "kind of important" and know what that means. But computers don't do that. Someone has to tell them what each of those categories means, and how they're defined. And since it's your data, it's going to be hard for someone else to do that.


(Log in to post comments)

Actually RAID/volume management is superlimited when not in filesystem...

Posted Jan 17, 2009 21:34 UTC (Sat) by speedster1 (subscriber, #8143) [Link]

What you're asking for in a couple of your other posts, however, is not a simple thing. It doesn't fit well with how computers work in general. You seem to be saying you want to just save something and have the computer magically understand that it's "important" or "not important" or "kind of important" and know what that means. But computers don't do that. Someone has to tell them what each of those categories means, and how they're defined. And since it's your data, it's going to be hard for someone else to do that.

I don't think this automatic classification of "importance" is really the killer feature khim is pining for! There are a couple of key things that are painful or impossible with current LVM+RAID (which khim does know about and is currently using, for lack of a better alternative):

  1. allocation of space among the areas of differing redundancy
  2. ability to store metadata in a higher-redundancy area than the corresponding normal data
If the normal filesystem in your example 10GB partition of high-redundancy storage fills up, your app will get an out-of-space error and you will have to hack around with LVM tools to try to reclaim some space from that big RAID 5 partition. Are you at all confident that a typical user could shrink it safely? I think a typical user would end up having to buy more disks, even though there was lots of unused space in the existing disks!

In a smart filesystem that handled levels of redundancy internally, you would not have this problem at all. The filesystem would have one big pool of storage, and would create additional regions of high redundancy as needed.

I know it is possible to put filesystem journals on separate partitions, but I don't think point #2 is even possible with current filesystems.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds