Comment 19 for bug 44609

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

I'm currently designing a graphical interface for setting up RAID in the installer. Thanks to James Troup for helping me understand the following, but any mistakes are my fault; please provide any corrections in plain English.

1. The types of RAID it makes most sense to offer in a graphical installer (where there are likely few disks) are RAID 1, RAID 10, and RAID 5, in that order. RAID 4 is a bad version of RAID 5. RAID 6 is like RAID 5, but allows two concurrent disk failures rather than one, in exchange for being slower. And RAID 0 isn't really RAID at all, but a close alternative to LVM (bug 43453), though it is possible to run one on top of the other. Other mdadm configurations such as LINEAR and MULTIPATH are different enough in kind that they should be designed and implemented separately.

2. All of the above RAID configurations consist of a minimum of two partitions *and/or* entire disks.

3. If a RAID device uses a partition rather than an entire disk, the partition must be on a different disk from every other RAID partition.

4. A RAID device has a filesystem type, a mount point, and a size, like a normal partition does.

5. The effective size of a RAID 0 device is the total of the partitions/disks that form it. The effective size of other RAID levels is, roughly, the minimum size of all the partitions/disks used in the device.

6. Giving useful advice about which RAID level to choose involves communicating about (a) read speed, (b) write speed (both as a rough multiple of normal), (c) space efficiency (exact math), (d) probability of failure, and (e) time to rebuild from failure.

7. Once set up, a RAID device can itself be partitioned.

Meanwhile, these are the basic design approaches I've thought of so far:

A. You create or format at least two partitions with filesystem type "RAID partition". Then you choose "Create RAID Device…" somewhere, and choose which of those partitions should be part of the device. Pro: Unobtrusive (one extra filesystem type in the menu, and one extra button), and familiar to Fedora/RHEL users. Con: If you don't know exactly what you're doing, probably it will be an error message explaining it to you ("Sorry, you need to set up at least two RAID partitions before you can set up a RAID device"), and there's little hint of what the cumulative effect of your choice of partitions/disks will be or whether you've even set up enough yet.

B. "Set Up RAID..." somewhere opens a secondary assistant for choosing the RAID type, followed by setting up individual partitions for the device. Pro: Room to explain the various options, and to communicate the size and effectiveness of the number of partitions/disks you've set up so far. Con: Nested assistants (eww), and the interface for setting up partitions/disks is separate from the usual one.

C: "Set Up RAID..." somewhere uses a variation of the normal "New Partition" form, and the device then sits somewhere in the window telling you how many partitions you've specified should be part of it so far. Pro: Cumulative effect is obvious. Con: Sitting somewhere in the window is probably weird.

For all of these, after setup, the RAID device starts appearing as a separate partitionable volume. Other options, wireframes, etc welcome.