Vinum volume manager
Vinum, is a logical volume manager,[1][2][3] also called software RAID, allowing implementations of the RAID-0, RAID-1 and RAID-5 models, both individually and in combination. The original Vinum was part of the base distribution of the FreeBSD operating system since 3.0, and also NetBSD between 2003-10-10 and 2006-02-25,[4] as well as descendants of FreeBSD, including DragonFly BSD; in more recent versions of FreeBSD, it has been replaced with gvinum, which was first introduced around FreeBSD 6. Vinum source code is maintained in the FreeBSD and DragonFly source trees.[2][3] Vinum supports RAID levels 0, 1, 5, and JBOD. Vinum was inspired by Veritas Volume Manager.[1]:4
Vinum is invoked as gvinum
(GEOM Vinum) on FreeBSD version 5.4 and up.
In modern FreeBSD, it may be considered to be a legacy volume manager; modern alternatives being GEOM and ZFS.
In NetBSD, it has been removed before NetBSD 4.0 due to lack of interest and maintenance; RAIDframe was cited as providing similar functionality.[5]
In DragonFly BSD, DragonFly's own HAMMER filesystem already implements network mirroring, and the natacontrol
utility could be used to configure nataraid(4)
, another software RAID implementation, which originally appeared with FreeBSD 6.0 as ataraid(4)
, but was deprecated with FreeBSD 9, and removed before FreeBSD 10.0; and a NetBSD's port of Red Hat's lvm2 is also available in the base system of DragonFly as well all in addition to vinum.
Software RAID vs. Hardware RAID
The distribution of data across multiple disks can be managed by either dedicated hardware or by software. Additionally, there are hybrid RAIDs that are partly software- and partly hardware-based solutions.
With a software implementation, the operating system manages the disks of the array through the normal drive controller (ATA, SATA, SCSI, Fibre Channel, etc.). With present CPU speeds, software RAID can be faster than hardware RAID.
A hardware implementation of RAID requires at a minimum a special-purpose RAID controller. On a desktop system, this may be a PCI expansion card, or might be a capability built into the motherboard. In larger RAIDs, the controller and disks are usually housed in an external multi-bay enclosure. This controller handles the management of the disks, and performs parity calculations (needed for many RAID levels). This option tends to provide better performance, and makes operating system support easier.
Hardware implementations also typically support hot swapping, allowing failed drives to be replaced while the system is running. In rare cases hardware controllers have become faulty, which can result in data loss. Hybrid RAIDs have become very popular with the introduction of inexpensive hardware RAID controllers. The hardware is a normal disk controller that has no RAID features, but there is a boot-time application that allows users to set up RAIDs that are controlled via the BIOS. When any modern operating system is used, it will need specialized RAID drivers that will make the array look like a single block device. Since these controllers actually do all calculations in software, not hardware, they are often called "fakeraids". Unlike software RAID, these "fakeraids" typically cannot span multiple controllers.
Example configuration
A simple example to mirror drive enterprise to drive excelsior (RAID1):
drive enterprise device /dev/da1s1d drive excelsior device /dev/da2s1d volume mirror plex org concat sd length 512m drive enterprise plex org concat sd length 512m drive excelsior
See also
- Hard drives
- Redundant array of independent disks
- Disk array
- Storage area network (SAN)
- Logical volume management
- Veritas Volume Manager
- bioctl with softraid on OpenBSD
References
- Greg Lehey (1999). The Vinum Volume Manager (PDF). Proceedings of the FREENIX Track: 1999 USENIX Annual Technical Conference. USENIX (published June 6–11, 1999). Lay summary.
- "vinum — Logical Volume Manager control program". BSD Cross Reference. DragonFly BSD. Lay summary.
- "gvinum — Logical Volume Manager control program". BSD Cross Reference. FreeBSD. Lay summary.
- Christos Zoulas (2006-02-25). "CVS commit: src/sys/dev". source-changes@ (Mailing list). NetBSD.
As core requested, remove vinum
- "Announcing NetBSD 4.0". NetBSD. 2007-12-19.
External links
- Vinum page in the official FreeBSD handbook
- Sourceforge page
- Bootstrapping vinum - FreeBSD documentation project
- Vinum performance measurement