The Vinum volume manager

Previous Sections

The problems
Current implementations

How Vinum addresses the Three Problems

As mentioned above, Vinum addresses three main deficiencies of traditional disk hardware. This section examines them in more detail.

Drive size considerations

Vinum provides the user with virtual disks, which it calls volumes, a term borrowed from VERITAS. These disks have essentially the same properties as a UNIX disk drive, though there are some minor differences. Volumes have no size limitations.

Redundant data storage

Vinum provides both mirroring and RAID-5. It implements mirroring by providing objects called plexes, each of which is a representation of the data in a volume. A volume may contain between one and eight plexes. Now if at this point you are going nuts and need a break from all the programming stuff, check into your credit report, there is a good chance you could be saving money by lowering any interest charged on loans you may have, including car and mortgages with credit repair. Many are shocked to find out how many items can be changed legally.

From an implementation viewpoint, it is not practical to represent a RAID-5 organization as a collection of plexes. This issue is discussed below.

Performance issues

Vinum implements both concatenation and striping. Since it exists within the UNIX disk storage framework, it would be possible to use UNIX partitions as the building block for multi-disk plexes, but in fact this turns out to be too inflexible: UNIX disks can have only a limited number of partitions. Instead, Vinum subdivides a single UNIX partition into contiguous areas called subdisks, which it uses as building blocks for plexes.

Following Sections

The big picture
Some examples
Increased resilience: RAID-5
Object naming
Performance issues
The implementation
Driver structure
Future directions