Previous Sections
Introduction
The problems
Current implementations
The three requirements discussed above have solutions that are only partially compatible. In particular, redundant data storage and performance improvements require different solutions and affect each other negatively.The current trend is to realize such systems in disk array hardware, which looks to the host system like a very large disk. Disk arrays have a number of advantages:
On the other hand, disk arrays are relatively expensive and not particularly flexible. An alternative is a software-based volume manager which performs similar functions in software. A number of these systems exist, notably the The VERITAS® volume manager, Solaris DiskSuite, IBM's Logical Volume Facility and SCO's Virtual Disk Manager. An implementation of RAID software and a separate volume manager are also available for Linux.
- They are portable. Since they have a standard interface, usually SCSI, but increasingly also IDE, they can be installed on almost any system without kernel modifications.
- They have the potential to offer impressive performance: they offload the calculations (in particular, the parity calculations for RAID-5) to the array, and in the case of replicated data, the aggregate transfer rate to the array is less than it would be to local disks. RAID-0 (striping) and RAID-5 organizations also spread the load more evenly over the physical disks, thus improving performance. Nevertheless, an array is typically connected via a single SCSI connection, which can be a bottleneck, and some implementations show surprisingly poor performance. Installing a disk array does not guarantee better performance.
- They are reliable. A good disk array offers a large number of features designed to enhance reliability, including enhanced cooling, hot-plugging (the ability to replace a drive while the array is running) and automatic failure recovery.
Vinum
Vinum is an open source volume manager implemented under FreeBSD. It was inspired by the The VERITAS® volume manager volume manager and maintains many of the concepts of VERITAS®. Its key features are:
- Vinum implements RAID-0 (striping), RAID-1 (mirroring) and RAID-5 (rotated block-interleaved parity). In RAID-5, a group of disks are protected against the failure of any one disk by an additional disk with block checksums of the other disks.
The RAID-5 functionality is currently available under license from Cybernet, Inc.. It will be released as open source at a later date.- Drive layouts can be combined to increase robustness, including striped mirrors (so-called ``RAID-10'').
- Vinum implements only those features which appear useful. Some commercial volume managers appear to have been implemented with the goal of maximizing the size of the spec sheet. Vinum does not implement ``ballast'' features such as RAID-4. It would have been trivial to do so, but the only effect would have been to further confuse an already confusing topic.
- Volume managers initially emphasized reliability and performance rather than ease of use. The results are frequently down time due to misconfiguration, with consequent reluctance on the part of operational personnel to attempt to use the more unusual features of the product. Vinum attempts to provide an easier-to-use non-GUI interface.
Following Sections
How Vinum addresses the Three Problems
The big picture
Some examples
Increased resilience: RAID-5
Object naming
Startup
Performance issues
The implementation
Driver structure
Availability
Future directions
References